如何計算自動管理的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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2.5.5 使用自動Undo管理: 建立 Undo 表空間
- 更改undo表空間大小
- undo表空間容量
- Innodb:Undo 表空間巨大
- UNDO表空間空間回收及切換
- MySQL InnoDB Undo表空間配置MySql
- 每天自動統計表空間的使用情況
- ORACLE線上切換undo表空間Oracle
- 2.6.8 設定UNDO空間管理方法
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- 檢查及設定合理的undo表空間
- openGauss中如何管理表空間
- Oracle切換undo表空間操作步驟Oracle
- MySQL UNDO表空間獨立和截斷MySql
- [20210527]rman與undo表空間備份.txt
- undo表空間使用率100%的原因檢視
- undo表空間使用率過高解決
- oracle中undo表空間丟失處理方法Oracle
- 華納雲:如何配置oracle表空間自動擴容?Oracle
- MySQL 增加InnoDB系統表空間大小MySql
- 【UNDO】Oracle undo表空間使用率過高,因為一個查詢Oracle
- MySQL 減少InnoDB系統表空間的大小MySql
- MySQL 5.7新特性之線上收縮undo表空間MySql
- Oracle 19c 線上縮減 UNDO 表空間 容量Oracle
- css兩端固定大小,中間自動大小CSS
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- 達夢資料庫表空間等空間大小查詢方法總結資料庫
- 刪除UNDO表空間並處理ORA-01548問題
- 12C關於CDB、PDB 回滾undo表空間的總結
- SQL Server檢視所有表大小,所佔空間SQLServer
- Oracle OCP(49):表空間管理Oracle
- [轉帖]關於記憶體管理:計算頁表大小記憶體
- 18_深入解析Oracle undo原理(2)_undo表空間使用率100%問題處理Oracle
- MySQL 中的共享表空間與獨立表空間如何選擇MySql
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫
- [重慶思莊每日技術分享]-在自動UNDO管理情況下,如何手工增加undo段
- 16、表空間 建立表空間
- 表空間集自包含檢查