我以前连接到oracle服务器的客户端是PL / SQL开发者。
通过错误,我在一个永远运行的循环中执行了一个匿名的PL / SQL块, 所以我按下了休息按钮,等了1个多小时。
但是当客户端显示提示“脚本已取消”时,该块仍在运行。然后我切断了网络连接。
所以我的问题是为什么Block在“脚本取消”之后仍在运行 当网络连接丢失时,服务器如何处理我的实例。
答案 0 :(得分:2)
这个会话必须被dba杀死。如果循环达到正常终止,则事务将回滚。回滚的原因是服务器看到客户端已经离开并且不会得到提交,除非它已被编码。 如果循环在其中等待,例如因为必须完成IO,或者必须调用其他包,它将终止。