【问题标题】:How does oracle server deal with instance when the network connection is lost网络连接丢失时oracle服务器如何处理实例
【发布时间】:2011-04-22 04:03:05
【问题描述】:

我用来连接oracle服务器的客户端是PL/SQL developer。

由于任务错误,我在一个将永远运行的循环中执行了一个匿名 PL/SQL 块, 所以我按下了break按钮,等了1个多小时。

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

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

【问题讨论】:

    标签: oracle connection


    【解决方案1】:

    此会话必须由 dba 终止。如果循环达到正常终止,则事务将回滚。回滚的原因是服务器看到客户端已经离开并且不会得到提交,除非它被编码。 如果循环中有等待,例如因为必须完成 IO,或者必须调用其他包,它将终止。

    【讨论】:

    • 你的意思是,服务器不会自动对丢失的会话执行任何操作,直到 dba 杀死它?
    • 如果服务器有时间环顾四周,它会清理会话。如果不是,因为它处于紧密循环中,dba 必须杀死它,大多数时候通过杀死后台进程。
    • 再次感谢您,感谢我的英语,因为我不是母语人士。
    • 不客气,出于某种原因,我的博客被称为“我们从错误中学习”.... :-)
    • 是的,当然。但很抱歉,投票赞成你的答案需要 15 声望,而我真的没有。我还能为您做点什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-02
    相关资源
    最近更新 更多