Oracle 19c 線上縮減 UNDO 表空間 容量
由於種種原因,資料庫中可能會產生一個佔用過多儲存空間的 UNDO 表空間,UNDO 表空間的資料檔案無法使用 RESIZE 縮減容量,唯一可行的辦法就是:
1、建立一個新的 UNDO 表空間,並將其指定為當前 UNDO 表空間;
SQL> CREATE UNDO TABLESPACE UNDO_TBS DATAFILE '+DATA' SIZE 1G;
SQL> ALTER SYSTEM SET undo_tablespace=UNDO_TBS;
在事務兩比較大的系統中,指定新UNDO表空間後可能會導致整個資料庫無法做任何更改操作,任何的 DDL或者DML操作都會報錯,這時如果允許的話可以重啟資料庫來解決。資料庫重啟之後,剛剛更改的系統預設UNDO表空間引數會失效,還是使用的舊的,應該在 NOMOUNT 狀態下重新指定新的 UNDO表空間,然後再開啟資料庫繼續做下面的操作;
2、刪除 原 UNDO 表空間(一般是 UNDOTBS1);
SQL> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
3、建立一個新的跟原來 UNDO 表空間同名的 UNDO 表空間(UNDOTBS1),並將其指定為當前 UNDO 表空間,刪除第一步建立的 UNDO 表空間;
SQL> CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE '+DATA' SIZE 200M AUTOEXTEND ON;
SQL> ALTER SYSTEM SET undo_tablespace=UNDOTBS1;
SQL> DROP TABLESPACE UNDO_TBS INCLUDING CONTENTS AND DATAFILES;
注意:整個過程中是不需要重啟資料庫的,如果重啟了資料庫,引數 undo_tablespace 又會變成預設值(UNDOTBS1),所以我們最後的 UNDO 表空間還是叫 UNDOTBS1 這個名字。
Oracle 19c 中 UNDO 表空間是獨立的,CDB 和 每個PDB 都有自己的 UNDO 表空間,因此實際操作跟 11g 是一樣的。這裡可以看到有3個 UNDOTBS1 表空間,分別屬於不同的 CON_ID。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560527/viewspace-2658436/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE線上切換undo表空間Oracle
- MySQL 5.7新特性之線上收縮undo表空間MySql
- oracle undo 表空間Oracle
- Oracle undo 表空間管理Oracle
- oracle重建UNDO表空間Oracle
- oracle undo表空間管理Oracle
- oracle UNDO表空間一個bug——undo表空間快速擴充套件Oracle套件
- Oracle undo表空間切換(ZT)Oracle
- oracle回滾段 undo 表空間Oracle
- ORACLE撤銷表空間(Undo Tablespaces)Oracle
- 理解UNDO表空間
- Oracle - 回滾表空間 Undo 的整理Oracle
- Oracle的UNDO表空間管理總結Oracle
- Oracle undo 表空間使用情況分析Oracle
- Oracle表空間收縮方案Oracle
- 【UNDO】使用重建UNDO表空間方法解決UNDO表空間過大問題
- 自動undo表空間模式下切換新的undo表空間模式
- Oracle切換undo表空間操作步驟Oracle
- Oracle基礎 03 回滾表空間 undoOracle
- Oracle undo表空間爆滿的解決Oracle
- undo表空間總結
- oracle 釋放undo空間Oracle
- oracle中undo表空間丟失處理方法Oracle
- Oracle undo表空間爆滿的處理方法Oracle
- 監控和管理Oracle UNDO表空間的使用Oracle
- Oracle 釋放過度使用的Undo表空間Oracle
- MySQL InnoDB Undo表空間配置MySql
- undo表空間故障處理
- 收縮表空間 for Oracle 10gOracle 10g
- 分析表空間空閒率並收縮表空間
- ORACLE 中undo表空間爆滿的解決方法Oracle
- UNDO表空間不足解決方法
- Undo表空間與redo日誌
- undo表空間中常用的操作
- 【RESIZE】Oracle收縮表空間主要命令Oracle
- oracle之臨時表空間的收縮Oracle
- oracle空間收縮Oracle
- undo表空間佔用磁碟空間滿案例處理