【SQL*Plus】直接X掉視窗對SQL*Plus中的操作結果的影響
我曾經針對這個問題做過大量的測試,相對來說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 --
但是在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 --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-617821/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【SQL*Plus】使用BREAK和COMPUTE在SQL*Plus中得到分組統計結果SQL
- SQL查詢結果集對注入的影響及利用SQL
- 【RAC】在RAC環境中SQL*Plus命令對資料庫及例項的影響SQL資料庫
- DDL,DML操作對結果快取的影響快取
- sql_plus操作命令SQL
- 測試SQLPLUS的ARRAYSIZE對效能的影響SQL
- sql plus命令使用總結SQL
- 常用的sql*plus命令:SQL
- 【SQL*Plus】在SQL*Plus中謹慎使用Ctrl+S快捷鍵SQL
- 新增欄位對SQL的影響SQL
- 【SQL*Plus】使用SQL*Plus的Preliminary方式連線資料庫SQL資料庫
- 【SQL*Plus】使用SQL*Plus的-S選項精簡輸出資訊SQL
- 使用SQL*PlusSQL
- plustrce.sql的作用SQL
- SQL/PLUS命令的使用大全SQL
- SQL*PLUS命令的使用大全SQL
- 設定sql plus 的autotraceSQL
- [oracle] SQLPlus 如何檢視引用遊標中的結果集OracleSQL
- 【SQL*Plus】處理 SQL*Plus的標頭無法顯示問題SQL
- INDEX建立方式對SQL的影響IndexSQL
- 詳解SQL操作的視窗函式SQL函式
- SQL Server效能影響的重要結論SQLServer
- oracle中SQLPLUS的Login.sqlOracleSQL
- sqlplus中glogin.sql的例子SQL
- oracle實驗記錄 (SQL*PLUS 命令操作)OracleSQL
- 【sqlplus】SQL*Plus命令使用大全SQL
- SQL*Plus安全(一)SQL
- SQL*Plus安全(二)SQL
- SQL*PLUS安全(三)SQL
- SQL*PLUS安全(四)SQL
- SQL*Plus Substitution VariablesSQL
- set autotrace in SQL*PlusSQL
- sql*plus入門SQL
- Sql Server之旅——第十站 看看DML操作對索引的影響SQLServer索引
- 使用sql*plus編輯sql文字SQL
- ORACLE SQL and SQL*PLUS (strong recommend)OracleSQL
- sql之27 using sql*plusSQL
- sql之26 using sql*plusSQL