【问题标题】:How do I find out if an oracle database is set to autocommit?如何确定 oracle 数据库是否设置为自动提交?
【发布时间】:2009-09-02 10:12:54
【问题描述】:

当我们这样做的时候,我如何在自动提交和非自动提交之间切换?

【问题讨论】:

  • 据我所知,服务器端没有自动提交。仅在客户端。
  • 看来 OP 关心的是“如何确定我与 oracle 数据库的会话是否已启用自动提交”。一半的答案是“它不在数据库上,它在客户端上”。后半部分是回答如何在各种客户端上检查/更改。

标签: sql database oracle


【解决方案1】:

Oracle 中没有自动提交之类的东西(服务器)。然而,一些 客户端 应用程序默认为自动提交(意味着它们故意在每个语句之间发出提交)。您必须阅读您的应用程序文档以确定是否属于这种情况。

【讨论】:

  • 谢谢。找到它: sql*plus: SQL> show autocommit;自动提交关闭 SQL> 设置自动提交开启; sqlpython好像没有这个功能。
  • @0x89: SQL*Plus 只是一个 CLIENT 应用程序,它不是 Oracle DB :)
  • 是的,我在阅读您的回答后知道了。所以我添加了如何将sqlplus设置为autocommit的信息,以便基本上只想知道如何将sqlplus切换为autocommit的人可以在这里阅读。
  • 这个答案已经过时了。现在 Oracle 支持自动提交!
  • @tnkh:我不知道自动提交服务器设置。如果您愿意,您可以将客户端设置为自动提交,但据我所知,数据库没有此类设置。参见例如this article by askTom。诚然,那是在 2012 年,从那以后情况可能发生了变化。如果您发现任何迹象表明数据库现在支持自动提交,请告诉我们。
【解决方案2】:

Oracle SQL Developer4

  • 窗口 > 首选项 > 数据库 > 高级 >选中/取消选中自动提交

Oracle SQL*Plus

SQuirreL SQL Client 3.7 版

  • 文件 > 新会话属性 > SQL 选项卡 > SQL 部分 > 选中/取消选中 Auto Commit SQL

Toad for Oracle Xpert 9.6.1.1

  • 查看 > Toad Options... > Oracle > 事务 > 选中/取消选中 在每个语句后提交

SQL Workbench/J

  • 检查连接配置文件中的“自动提交”属性以设置连接默认值
  • 使用菜单中的 SQL > Autocommit 动态更改它
  • 使用SET AUTOCOMMIT

【讨论】:

  • 可能有数百种不同的工具具有自动提交设置。在这里列出它们不会有帮助。
  • 正确,但只有 3 个被广泛使用,SQL Developer 就是其中之一
  • 我会将此答案转换为社区 wiki,以便每个人都可以做出贡献。如果在这篇文章中有一个包含许多工具的列表,那就太好了。
【解决方案3】:

从命令提示符尝试命令show autocommit。步骤:

  • 在管理员模式下从命令提示符打开SQL*PLUS
  • 键入命令show autocommit

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多