undo表空間容量
檢視錶空間使用情況
SELECT a.tablespace_name,
ROUND (a.total_size) "total_size(MB)",
ROUND (a.total_size) - ROUND (b.free_size, 3) "used_size(MB)",
ROUND (b.free_size, 3) "free_size(MB)",
ROUND (b.free_size / total_size * 100, 2) || '%' free_rate
FROM ( SELECT tablespace_name, SUM (bytes) / 1024 / 1024 total_size
FROM dba_data_files
GROUP BY tablespace_name) a,
( SELECT tablespace_name, SUM (bytes) / 1024 / 1024 free_size
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name(+);
TABLESPACE_NAME total_size(MB) used_size(MB) free_size(MB) FREE_RATE
------------------------------ -------------- ------------- ------------- -----------------------------------------
SYSAUX 900 835.687 64.313 7.15%
UNDOTBS1 24576 53.875 24522.125 99.78%
USERS 5 1.312 3.688 73.75%
SYSTEM 4170 4160.687 9.313 .22%
USER_DATA 150 105.062 44.938 29.96%
計算所需undo表空間的大小:
1.計算業務高峰期每秒產生undo資料塊的個數
SQL> select max(undoblks / ((end_time - begin_time)*24*3600)) from v$undostat;
MAX(UNDOBLKS/((END_TIME-BEGIN_
------------------------------
11.305
2.得到undo資料塊在undo表空間中可以保留的最長時間
SQL> show parameter undo_retention;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 86400
3.得到資料塊大小
SQL> show parameter db_blo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TYPICAL
db_block_size integer 8192
4.將以上三者的資料相乘就是所需undo表空間的大小數
SQL> select (11.305*86400*8192)/1024/1024/1024 undoTablespace_GB from dual;
UNDOTABLESPACE_GB
-----------------
7.4520263671875
發現undo表空間不夠的時候,趕緊增加undo表空間的大小,執行語句如下:
alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs02.dbf' size 100M autoextend on next 128M maxsize 24G;
alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs03.dbf' size 100M autoextend on next 128M maxsize 24G;
alter tablespace undotbs1 add datafile '/u01/database/instance_name/undotbs04.dbf' size 100M autoextend on next 128M maxsize 24G;
---------------------
本文為轉載文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547066/viewspace-2558167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 19c 線上縮減 UNDO 表空間 容量Oracle
- 更改undo表空間大小
- Innodb:Undo 表空間巨大
- UNDO表空間空間回收及切換
- MySQL InnoDB Undo表空間配置MySql
- 2.5.5 使用自動Undo管理: 建立 Undo 表空間
- ORACLE線上切換undo表空間Oracle
- MySQL UNDO表空間獨立和截斷MySql
- [20210527]rman與undo表空間備份.txt
- Oracle切換undo表空間操作步驟Oracle
- undo表空間使用率過高解決
- oracle中undo表空間丟失處理方法Oracle
- 檢查及設定合理的undo表空間
- 【UNDO】Oracle undo表空間使用率過高,因為一個查詢Oracle
- undo表空間使用率100%的原因檢視
- MySQL 5.7新特性之線上收縮undo表空間MySql
- 刪除UNDO表空間並處理ORA-01548問題
- 18_深入解析Oracle undo原理(2)_undo表空間使用率100%問題處理Oracle
- 16、表空間 建立表空間
- 2.6.8 設定UNDO空間管理方法
- 12C關於CDB、PDB 回滾undo表空間的總結
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- Oracle表空間Oracle
- PostgreSQL:表空間SQL
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- 表空間利用率及表空間的補充
- KingbaseES的表空間
- 表空間限額
- 3.2. 表空間
- 只讀表空間
- oracle temp 表空間Oracle
- 增加oracle表空間Oracle
- Configure innodb 表空間
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- MySQL 中的共享表空間與獨立表空間如何選擇MySql
- 臨時表空間和回滾表空間使用率查詢