oracle 10g undo 管理,Oracle 10g undo表空间管理
一、oracle 9i起,有兩種undo管理方式:AUM Automatic Undo ManagementMUN Manual Undo Management建議使用 AUM ,下面只討論AUM
一、Oracle 9i起,有兩種undo管理方式:
AUM Automatic Undo Management
MUN Manual Undo Management
建議使用 AUM ,下面只討論AUM
undo segment 也叫 rollback segment
二、undo 的三大作用:
1、提供一致性讀 Consistent Read
2、回滾事務 Rollback Transaction
3、實例恢復 Instance Recovery
三、配置 AUM
1、設置初始化參數 undo_management
auto AUM 管理undo
manual MUN 管理undo
SQL>show parameter undo_management
2、undo segment 即會擴展,,也會收縮。收縮有SMON完成,沒隔12小時會收縮一次。
3、參數 undo_retention 單位為秒,表示當事務提交或回滾,該事務所使用的undo塊里的數據需要保留多長的時間。
4、當使用 AUM,并設置undo_retention 之后,undo塊存在四種狀態。
Actice undo的事務還沒有提交。
Inactive undo上沒有活動的事務,可以被其他事務覆蓋。
Expried undo持續的時間超過undo_retention所指定的時間。
Freed undo內容是空,沒有被使用過。
4、undo_retention默認值是 900 秒。
SQL>alter tablespace undonew add datafile 'u01/app/oracle/oradata/ora10g/undonew02.dbf' size 10M autoextend on;
四、切換undo_tablespace
1、數據庫可以有多個undo表空間,但某時刻只能使用一個。
2、將undo_tablespace參數設置為另外一個undo表空間的名字,叫做undo表空間的切換。
3、切換時,有事務未完成,切換后,舊的undo表空間為 pending offline 狀態,不能被刪除,當事務提交后,變為offline狀態,才可以刪除。
4、如果undo表空間不能擴展,在不夠情況下,會將保留時間小于 undo_retention 的undo數據覆蓋。但可以通過設置參數保留,出現該情況直接報錯
SQL>alter tablespace undonew add datafile 'u01/app/oracle/oradata/ora10g/undonew02.dbf' size 10M autoextend on maxsize 100M retention guarantee;
SQL>alter tablespace undonew retention guarantee;
SQL>alter tablespace undonew retention noguarantee;
五、計算undo表空間大小
1、利用視圖 v$undostat
oracle 每隔 10分鐘更新視圖,將10分鐘產生的undo個數記錄在該視圖,保留7天的數據,總共 1008行記錄。
2、公式:
undospace = undo retention * undo per second * overhead(24 undo blocks)
其中: undo retention 參數 undo_retention
undo per second 通過查詢 v$undostat 來計算。
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的oracle 10g undo 管理,Oracle 10g undo表空间管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle01003,ORA-0100
- 下一篇: 股票移动平均线matlab,股票的移动平