如何計算自動管理的UNDO表空間大小
AUTO UNDO
AUM(自動 undo 管理,Automatic Undo Management)幾乎不需要配置。您基本上只需要定義將前映像保持可用的時間量。這是透過引數 UNDO_RETENTION 控制的,以秒為單位定義。因此,值 900 表示 15 分鐘。
一定要意識到,如果 undo 表空間中存在空間壓力時,我們不保證前映象一定會保留這麼長時間。
因此,以下公式可用於計算最佳 undo 表空間大小:
從 Oracle 10g 開始,您可以選擇使用 GUARANTEE 選項,以確保在定義的 undo_retention 時間之前,undo 資訊不會被覆蓋。
UNDO表空間大小由三部分組成:
(UR)UNDO_RETENTION 單位秒
(UPS)每秒產生的undo 資料塊的個數
(DBS)資料庫資料檔案塊的大小DB_BLOCK_SIZE
計算公式
UndoSpace=UR*(UPS*DBS)
其中UNDO_RETENTION 和 DB_BLOCK_SIZE兩部分的資訊可以在例項配置引數資訊中獲取。
而第三部分UPS的資訊需要從動態效能試圖V$UNDOSTAT中獲取
下面是獲取(UPS)每秒產生的undo 資料塊的個數.
SQL> SELECT undoblks/((end_time-begin_time)*86400) "Peak Undo Block Generation"
FROM v$undostat WHERE undoblks=(SELECT MAX(undoblks) FROM v$undostat);
其中列END_TIME and BEGIN_TIME 是日期型別,需要轉換成秒(24 hours * 60 minutes * 60 seconds).
下面的SQL是計算UNDO表空間大小
SQL> SELECT (UR * (UPS * DBS)) AS "Bytes"
FROM (SELECT value AS UR FROM v$parameter WHERE name = 'undo_retention'),
(SELECT undoblks/((end_time-begin_time)*86400) AS UPS
FROM v$undostat
WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)),
(SELECT block_size AS DBS
FROM dba_tablespaces
WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));
10g 和10g 更高的版本,可以使用下面的查詢:
SQL>SELECT (UR * (UPS * DBS)) AS "Bytes"
FROM (select max(tuned_undoretention) AS UR from v$undostat),
(SELECT undoblks/((end_time-begin_time)*86400) AS UPS
FROM v$undostat
WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)),
(SELECT block_size AS DBS
FROM dba_tablespaces
WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));
2014.09.05 08:26
share you knowledge with the world.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-1266910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自動undo表空間模式下切換新的undo表空間模式
- Oracle undo 表空間管理Oracle
- oracle undo表空間管理Oracle
- UNDO表空間自動調優原則
- Oracle的UNDO表空間管理總結Oracle
- 計算一個表佔用的空間的大小
- 10g+ undo表空間使用率計算
- 10.管理UNDO表空間.(筆記)筆記
- oracle undo 表空間Oracle
- 理解UNDO表空間
- 監控和管理Oracle UNDO表空間的使用Oracle
- 【UNDO】使用重建UNDO表空間方法解決UNDO表空間過大問題
- oracle UNDO表空間一個bug——undo表空間快速擴充套件Oracle套件
- oracle中用sql計算一個表佔用的空間的大小OracleSQL
- oracle重建UNDO表空間Oracle
- undo表空間總結
- Oracle查詢表佔磁碟空間大小及移動表空間Oracle
- undo表空間中常用的操作
- MySQL 8.0.2 新特性 UNDO表空間管理的靈活性提升MySql
- MySQL InnoDB Undo表空間配置MySql
- undo表空間故障處理
- Oracle - 回滾表空間 Undo 的整理Oracle
- UNDO表空間損壞的處理
- 有關UNDO表空間的學習:
- 表空間大小查詢
- ORACLE線上切換undo表空間Oracle
- UNDO表空間不足解決方法
- Oracle undo表空間切換(ZT)Oracle
- Undo表空間與redo日誌
- oracle回滾段 undo 表空間Oracle
- ORACLE撤銷表空間(Undo Tablespaces)Oracle
- DB2頁大小、表大小和表空間大小限制DB2
- undo表空間佔用磁碟空間滿案例處理
- undo 表空間滿了的處理方法
- undo表空間不能回收的解決方法
- Oracle undo表空間爆滿的解決Oracle
- [DB2]表空間之DMS、自動儲存的DMS表空間DB2
- linux自動增加表空間Linux