绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
【SQL*Plus】直接X掉窗口对SQL*Plus中的操作结果的影响
2019-12-31 11:21:04
我曾经针对这个问题做过大量的测试,相对来说PuTTY的行为比较稳定,在X掉窗口时会有提示“Are you sure you want to close this session?”,如果点击“OK”便会关闭窗口,PuTTY的行为是提交所有之前的操作,也有例外,如果操作完成之后网络断掉了,再次连接后获得的内容将是操作之前的结果,类似于Windows的cmd中的行为,不理会之前的操作。

但是在secureCRT默认情况下,如果直接X掉窗口,会提示“Do you wish to disconnect from ***”,点击“Yes”会推出操作的窗口。此时的结果有时会得到一个commit之前的操作结果,有时会得到一个rollback的结果。可以测试一下,比较的诡异。

Toad工具其中就有一个单独对这个行为的配置,当直接关闭窗口的时候,Toad是提示你commit还是rollback之前的操作,也可以通过设置影响这个行为,如设置成每次退出时将之前操作的内容全部rollback,或设置成为commit的行为。

也许有一天,Oracle会对这个问题给出一种统一的控制方法。类似于EXITCOMMIT参数,没准会叫做“CLOSECLIENTCOMMIT”。不过可能性不大。
关于11gR2中
EXITCOMMIT参数的介绍请参考下面文章
《【11gR2】【SQL*Plus】使用EXITCOMMIT参数控制exit时commit的行为》
http://space.itpub.net/519536/viewspace-617655


既然直接X掉窗口对SQL*Plus中的结果影响效果与客户端有关,因此,通过直接关闭客户端的方法退出事务操作是非常危险的。所以操作规范化很重要。
操作规范如下:
1)一定要显式提交(commit)和回滚(rollback);
2)忘记显式commit或rollback的时候也要正常的通过“exit”退出SQL*Plus界面,毕竟在11gR2中这个行为是稳定的;
3)严格禁止通过关闭窗口的方式退出SQL*Plus操作界面。

-- The End --
分享好友

分享这个小栈给你的朋友们,一起进步吧。

OCM联盟
创建时间:2019-12-27 14:04:54
OCM联盟(OCMU – Oracle Certified Master Union)是一群有着共同理想,共同志向的DBA的家。 ⚠️该小栈仅限ocm成员入驻!审核制! Oracle Certified Master (OCM) -Oracle认证大师,是Oracle认证的别,是对数据库从业人员的技术、知识和操作技能的别的认可。Oracle OCM是解决困难的技术难题和复杂的系统故障的佳Oracle专家人选,也是IT行业衡量IT专家和经理人的高专业程度及经验的基准。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 侯圣文@secooler
    栈主

小栈成员

查看更多
  • gaokeke123
  • ?
  • 山中老狐狸
  • 飘絮絮絮丶
戳我,来吐槽~