Oracle DBA 使用 SQLPLUS 工具或者 PL/SQL Developer 时,所有 DML 操作默认情况下均为手动提交模式。
ODC 默认为自动提交,此方式有悖于 Oracle DBA 的操作习惯,您可以通过以下方式进行修改:
针对个人使用的 ODC 用户,通过白屏界面进行修改。
修改 ODC 的后台数据字典,修改默认的 autocommit 属性。
方法一:通过 ODC 白屏界面修改 autocommit 属性
ODC 个人用户配置
个人使用的 ODC 用户可以在 个人设置 修改事务提交模式:
ODC 团队协同用户配置
如需修改所有用户的默认 autocommit 属性,可参照下述步骤:
登录 ODC 对应的租户
obclient -hxx.xxx.xx.xx -P2881 -uroot@odc_meta -p'Wg@*******' -Ac odc修改配置表,需要注意的是,此处区分 MySQL 租户以及 Oracle 租户
update config_system_configuration set value='OFF' where `key`='sqlexecute.oracleAutoCommitMode';如未开启 autocommit,ODC SQL 窗口的工具栏中会显示 提交 和 回滚 按钮。
开启 autocommit:

未开启 autocommit:

方法二:后台修改特定用户的 autocommit 属性
示例:修改特定用户 odc_snc 的 autocommit 属性。
查询用户
odc_snc的id。obclient [odc]> select id,account_name from iam_user where account_name='odc_snc'; +-------+--------------+ | id | account_name | +-------+--------------+ | 10000 | odc_snc | +-------+--------------+ 1 row in set (0.000 sec)查询和修改用户 id 为 10000 的
sqlexecute.oracleAutoCommitMode属性值。obclient [odc]> select * from odc_user_configuration where `key`='sqlexecute.oracleAutoCommitMode' and user_id=10000; +---------+----------+-------+--------------+---------------+-----------------------------------+ | user_id | key | value | create_time | update_time | description | +---------+----------+-------+--------------+---------------+-----------------------------------+ |10000|sqlexecute.oracleAutoCommitMode|OFF|2023-07-04 16:36:00|2023-07-04 16:36:00|Auto commit flag for OB-Oracle mode| +---------+----------+-------+--------------+---------------+-------------------------------------+ 1 row in set (0.001 sec)
影响的版本
所有版本的 Web 版 ODC。