Oracle里的回滾表空間在數據庫使用一段時間后,undo表空間的dbf文件往往會增長到比較大,這個時候我們需要切換undo表空間
1.新建undo表空間
SQL>?create undo tablespace undotbs2 datafile '/data/undotbs02.dbf' size 10M autoextend on next 10M ;
2.由于undo_tablespace是個動態參數,所以任何時候都可以set。
SQL> alter system set undo_tablespace='undotbs2' scope=both;
系統已更改。
3.查看原來的undo表空間中的undo segment是否都為offline
SQL> select tablespace_name,segment_name,status from dba_rollback_segs;
TABLESPACE_NAME ? ? ? ? ? ? ? ?SEGMENT_NAME ? ? ? ? ? ? ? ? ? STATUS
------------------------------ ------------------------------ ----------------
SYSTEM ? ? ? ? ? ? ? ? ? ? ? ? SYSTEM ? ? ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU1$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU2$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU3$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU4$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU5$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU6$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU7$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU8$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU9$ ? ? ? ? ? ? ? ? ? ? ?OFFLINE
UNDOTBS1 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU10$ ? ? ? ? ? ? ? ? ? ? OFFLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU11$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU12$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU13$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU14$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU15$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU16$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU17$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU18$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU19$ ? ? ? ? ? ? ? ? ? ? ONLINE
TABLESPACE_NAME ? ? ? ? ? ? ? ?SEGMENT_NAME ? ? ? ? ? ? ? ? ? STATUS
------------------------------ ------------------------------ ----------------
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU20$ ? ? ? ? ? ? ? ? ? ? ONLINE
21 rows selected ?www.2cto.com
原來undotbs1的undo_segment 都為offline,則可以刪除undotbs1.
SQL>?alter tablespace undotbs1 offline;
SQL> drop tablespace undotbs1 including contents and datafiles;
表空間已刪除。
再次查看:
SQL> select tablespace_name,segment_name,status from dba_rollback_segs;
TABLESPACE_NAME ? ? ? ? ? ? ? ?SEGMENT_NAME ? ? ? ? ? ? ? ? ? STATUS
------------------------------ ------------------------------ ----------------
SYSTEM ? ? ? ? ? ? ? ? ? ? ? ? SYSTEM ? ? ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU11$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU12$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU13$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU14$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU15$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU16$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU17$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU18$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU19$ ? ? ? ? ? ? ? ? ? ? ONLINE
UNDOTBS2 ? ? ? ? ? ? ? ? ? ? ? _SYSSMU20$ ? ? ? ? ? ? ? ? ? ? ONLINE
11 rows selected ?www.2cto.com
SQL> show parameter undo
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE
------------------------------------ ----------- ------------------------------
undo_management ? ? ? ? ? ? ? ? ? ? ?string ? ? ?AUTO
undo_retention ? ? ? ? ? ? ? ? ? ? ? integer ? ? 900
undo_tablespace ? ? ? ? ? ? ? ? ? ? ?string ? ? ?undotbs1
--EOF