_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的這兩個參數(shù)可以強(qiáng)制打開數(shù)據(jù)庫,但是open后,最好導(dǎo)出,重建庫,然后再導(dǎo)入。對這兩個參數(shù)不是很了解,直到看到了maclean的帖子,下面是帖子地址
成都創(chuàng)新互聯(lián)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì),品牌網(wǎng)站建設(shè),廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十載的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破千余家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
_CORRUPTED_ROLLBACK_SEGMENTS隱藏參數(shù)
http://www.askmaclean.com/archives/_corrupted_rollback_segments.html
_OFFLINE_ROLLBACK_SEGMENTS隱藏參數(shù)
http://www.askmaclean.com/archives/_offline_rollback_segments.html
我把內(nèi)容放一份在下面
_CORRUPTED_ROLLBACK_SEGMENTS(corrupted undo segment list)隱藏參數(shù)所獨(dú)有的功能:
在實(shí)例啟動startup并open database的階段_CORRUPTED_ROLLBACK_SEGMENTS所列出的undo segments(撤銷段/回滾段)將不會被訪問讀取
所有指向這些被_CORRUPTED_ROLLBACK_SEGMENTS列出的undo segments的事務(wù)都被認(rèn)為已經(jīng)提交了commit,和這個undo segments已經(jīng)被drop時類似
這將導(dǎo)致嚴(yán)重的邏輯訛誤
如果數(shù)據(jù)字典上有活躍事務(wù)那么將更糟糕,數(shù)據(jù)字典邏輯訛誤會造成數(shù)據(jù)庫管理問題
如果bootstrap自舉核心對象有活躍事務(wù),那么將無法忽略錯誤ORA-00704: bootstrap process failure錯誤,導(dǎo)致無法強(qiáng)制打開數(shù)據(jù)庫(見拙作Oracle數(shù)據(jù)恢復(fù):解決ORA-00600:[4000] ORA-00704: bootstrap process failure錯誤一例)
衷心地建議用_CORRUPTED_ROLLBACK_SEGMENTS這個參數(shù)打開數(shù)據(jù)庫后導(dǎo)出數(shù)據(jù)并重建數(shù)據(jù)庫,這個參數(shù)使用的后遺癥可能很頑固
Oracle公司內(nèi)部有叫做TXChecker的工具可以檢查問題事務(wù)
_OFFLINE_ROLLBACK_SEGMENTS(offline undo segment list)隱藏參數(shù)(hidden parameter)的獨(dú)有作用:
在實(shí)例startup啟動并open database的階段仍將讀取_OFFLINE_ROLLBACK_SEGMENTS所列出的Undo segments(撤銷段/回滾段),若訪問這些undo segments出現(xiàn)了問題則將在alert.log和其他TRACE中體現(xiàn)出來,但不影響實(shí)際的startup進(jìn)程
若查詢數(shù)據(jù)塊發(fā)現(xiàn)活躍的事務(wù),并ITL指向?qū)?yīng)的undo segments則:
若讀取undo segments的transaction table事務(wù)表發(fā)現(xiàn)事務(wù)已提交則做數(shù)據(jù)塊的清除
若讀取發(fā)現(xiàn)事務(wù)仍活動未commit,則生成一個CR塊拷貝
若讀取該undo segments存在問題(可能是corrupted訛誤,可能是missed丟失)則產(chǎn)生一個錯誤并寫出到alert.log,查詢將異常終止
若DML更新相關(guān)的數(shù)據(jù)塊會導(dǎo)致服務(wù)進(jìn)程為了恢復(fù)活躍事務(wù)而進(jìn)入死循環(huán)消耗大量CPU,解決方法是通過可以進(jìn)行的查詢工作重建相關(guān)表
_offline_rollback_segments 和 _corrupted_rollback_segments 均會造成的實(shí)例行為變化:
以上2個參數(shù)所列出的Undo Segments(撤銷段/回滾段)將不會被在線使用online
在UNDO$數(shù)據(jù)字典基表中將體現(xiàn)為OFFLINE的記錄
在實(shí)例instance的生命周期中將不會再給新的事務(wù)分配使用
參數(shù)所列出的Undo Segments列表上的活躍事務(wù)active transaction將即不被回滾亦不被標(biāo)記為dead以便SMON去回滾(了解你所不知道的SMON功能(五):Recover Dead transaction)