2011-04-22 75 views
1

我用来连接到oracle服务器的客户端是PL/SQL开发者。oracle服务器在网络连接丢失时如何处理实例

通过mistask,我执行了一个匿名的PL/SQL块将永久运行的循环, ,所以我按了休息按钮,并等待了1个多小时。

但当客户端显示提示“脚本已取消”时,该块仍在运行,然后断开网络连接。

所以我的问题是为什么在“脚本取消” 后块仍然运行,以及当网络连接丢失时服务器如何处理我的实例。

回答

2

这个环节必须被dba杀死。如果循环达到正常终止,交易将被回滚。回滚的原因是服务器发现客户端已经去除,并且不会得到提交,除非它被编码。 如果循环已经等待,例如因为IO必须完成,或者必须调用其他包,则它将终止。

+0

非常感谢。 – 2011-04-22 06:38:55

+0

而你的意思是,服务器会自动对丢失的会话做任何事情,直到dba杀死它为止? – 2011-04-22 06:46:24

+0

如果服务器有时间查看,它将清理会话。如果没有,因为它处于一个紧密的循环中,dba必须杀死它,大部分时间都是通过杀死后台进程。 – 2011-04-22 06:50:09