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.
我需要在生产环境中 运行 执行一个删除语句,该语句需要花费大量时间并且服务器将在 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.