在復(fù)雜的應(yīng)用環(huán)境下,我們經(jīng)常會遇到一些非常復(fù)雜并且有意思的問題,例如,我們會遇到網(wǎng)絡(luò)異常(網(wǎng)絡(luò)掉包、無線網(wǎng)絡(luò)斷線)、客戶端程序異常(例如應(yīng)用程序崩潰Crash)、操作系統(tǒng)藍屏、客戶端電腦掉電、死機重啟等異常情況,此時數(shù)據(jù)庫連接可能都沒有正常關(guān)閉(Colse)、事務(wù)都沒有提交,連接(connections)就斷開了。如果遇到這些情況,你未提交的一個事務(wù)在數(shù)據(jù)庫中是否會回滾? 如果回滾,什么條件才會觸發(fā)回滾?需要多久才會觸發(fā)回滾(不是回滾需要多少時間)?如果是一個查詢呢,那么情況又是怎么樣呢?ORACLE數(shù)據(jù)庫是否提供某些機制來解決這些問題呢?如果這些問題你都能回答,那么可以不用看下文了,在介紹理論知識之前,我們先通過構(gòu)造測試案例,測試一下,畢竟實踐出真知,抽象的理論需要實驗來加深理解、全面詳細闡述。

我們首先來測試一下數(shù)據(jù)庫會話正常退出的情況吧,我在客戶端使用(SQL*Plus)連接到數(shù)據(jù)庫,執(zhí)行一個UPDATE語句后不提交,然后退出(注意:實驗步驟是在服務(wù)器端查詢一些信息后才退出)。如下所示:

 

SQL> select * from v$mystat where rownum=1;
 
       SID STATISTIC#      VALUE
        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式