Oracle - 如果 ORA-03135 连接丢失,事务会发生什么情况?

Oracle - what happens with the transaction in case of ORA-03135 connection lost?

我需要在生产环境中 运行 执行一个删除语句,该语句需要花费大量时间并且服务器将在 30 分钟后关闭所有连接(我在日志中看到的是 ORA-03135)。

如果我启动删除语句并且服务器将关闭连接,会发生什么情况?该语句会在服务器上完成执行还是会立即关闭并回滚?在这种情况下,SQL*Plus set autocommit on 命令可以提供帮助吗?

查看手册:https://docs.oracle.com/database/121/CNCPT/transact.htm#CNCPT037

End of a Transaction
A transaction ends when any of the following actions occurs:

  • A user issues a COMMIT or ROLLBACK statement without a SAVEPOINT clause.
  • A user runs a DDL command such as CREATE, DROP, RENAME, or ALTER.
  • A user exits normally from most Oracle Database utilities and tools, causing the current transaction to be implicitly committed. The commit behavior when a user disconnects is application-dependent and configurable.
  • A client process terminates abnormally, causing the transaction to be implicitly rolled back using metadata stored in the transaction table and the undo segment.