溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的區(qū)別

發(fā)布時(shí)間:2020-07-02 18:20:49 來(lái)源:網(wǎng)絡(luò) 閱讀:681 作者:qhd2004 欄目:數(shù)據(jù)庫(kù)

_OFFLINE_ROLLBACK_SEGMENTS 和 _CORRUPTED_ROLLBACK_SEGMENTS的這兩個(gè)參數(shù)可以強(qiáng)制打開數(shù)據(jù)庫(kù),但是open后,最好導(dǎo)出,重建庫(kù),然后再導(dǎo)入。對(duì)這兩個(gè)參數(shù)不是很了解,直到看到了maclean的帖子,下面是帖子地址

_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í)例啟動(dòng)startup并open database的階段_CORRUPTED_ROLLBACK_SEGMENTS所列出的undo segments(撤銷段/回滾段)將不會(huì)被訪問(wèn)讀取

所有指向這些被_CORRUPTED_ROLLBACK_SEGMENTS列出的undo segments的事務(wù)都被認(rèn)為已經(jīng)提交了commit,和這個(gè)undo segments已經(jīng)被drop時(shí)類似

這將導(dǎo)致嚴(yán)重的邏輯訛誤

如果數(shù)據(jù)字典上有活躍事務(wù)那么將更糟糕,數(shù)據(jù)字典邏輯訛誤會(huì)造成數(shù)據(jù)庫(kù)管理問(wèn)題

如果bootstrap自舉核心對(duì)象有活躍事務(wù),那么將無(wú)法忽略錯(cuò)誤ORA-00704: bootstrap process failure錯(cuò)誤,導(dǎo)致無(wú)法強(qiáng)制打開數(shù)據(jù)庫(kù)(見拙作Oracle數(shù)據(jù)恢復(fù):解決ORA-00600:[4000] ORA-00704: bootstrap process failure錯(cuò)誤一例)

衷心地建議用_CORRUPTED_ROLLBACK_SEGMENTS這個(gè)參數(shù)打開數(shù)據(jù)庫(kù)后導(dǎo)出數(shù)據(jù)并重建數(shù)據(jù)庫(kù),這個(gè)參數(shù)使用的后遺癥可能很頑固

Oracle公司內(nèi)部有叫做TXChecker的工具可以檢查問(wèn)題事務(wù)


_OFFLINE_ROLLBACK_SEGMENTS(offline undo segment list)隱藏參數(shù)(hidden parameter)的獨(dú)有作用:

在實(shí)例startup啟動(dòng)并open database的階段仍將讀取_OFFLINE_ROLLBACK_SEGMENTS所列出的Undo segments(撤銷段/回滾段),若訪問(wèn)這些undo segments出現(xiàn)了問(wèn)題則將在alert.log和其他TRACE中體現(xiàn)出來(lái),但不影響實(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ù)仍活動(dòng)未commit,則生成一個(gè)CR塊拷貝

若讀取該undo segments存在問(wèn)題(可能是corrupted訛誤,可能是missed丟失)則產(chǎn)生一個(gè)錯(cuò)誤并寫出到alert.log,查詢將異常終止

若DML更新相關(guān)的數(shù)據(jù)塊會(huì)導(dǎo)致服務(wù)進(jìn)程為了恢復(fù)活躍事務(wù)而進(jìn)入死循環(huán)消耗大量CPU,解決方法是通過(guò)可以進(jìn)行的查詢工作重建相關(guān)表


_offline_rollback_segments 和 _corrupted_rollback_segments 均會(huì)造成的實(shí)例行為變化:

  • 以上2個(gè)參數(shù)所列出的Undo Segments(撤銷段/回滾段)將不會(huì)被在線使用online

  • 在UNDO$數(shù)據(jù)字典基表中將體現(xiàn)為OFFLINE的記錄

  • 在實(shí)例instance的生命周期中將不會(huì)再給新的事務(wù)分配使用

  • 參數(shù)所列出的Undo Segments列表上的活躍事務(wù)active transaction將即不被回滾亦不被標(biāo)記為dead以便SMON去回滾(了解你所不知道的SMON功能(五):Recover Dead transaction)


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI