Oracle 10g Automatic Undo Retention Tuning (zt)

tolywang發表於2008-01-23

Undo_retention Oracle 9i 開始出現新的初始化引數.Oracle 9i 的 Undo 管理特性使得 Ora-1555 錯誤大大減少, 但是 Undo_retention 的設定仍然會個別的時候出現問題.

[@more@]

Oracle 10g 有自動Automatic Undo Retention Tuning 這個特性.設定的 undo_retention 引數只是一個指導值, Oracle 會自動調整 Undo (會跨過 undo_retention 設定的時間) 來保證不會出現 Ora-1555 錯誤. 透過查詢 V$UNDOSTAT 的 tuned_undoretention 欄位可以得到 Oracle 根據事務量(如果是檔案不可擴充套件,則會考慮剩餘空間)取樣後的自作主張的 retenton 時間. 這樣對於一個 事務量分佈不均勻的資料庫來說, 就會引發潛在的問題--在批處理的時候可能 Undo 會用光. 而且這個狀態將一直持續, 不會釋放.

10g 中, 如果資料檔案的屬性是 autoextensible , 則 undo_retention 引數必須設定. 如果 undo 表空間的檔案屬性是不可擴充套件的, 則 undo_retention 將不會起到什麼作用(修正的辦法是把該 Undo 表空間屬性設定為GUARANTEE ).

透過如下命令(undotbs01 是undo 表空間名字):

ALTER TABLESPACE undotbs01 RETENTION GUARANTEE;

然後可以查詢 DBA_tablespaces 的 retention 列. undo 表空間的屬性和普通表空間的屬性是不一樣的.

-End

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-998248/,如需轉載,請註明出處,否則將追究法律責任。

相關文章