|
SQL> select segment_name,status,tablespace_name from dba_rollback_segs;
SEGMENT_NAME STATUS TABLESPACE_NAME
------------------------------ ---------------- ---------------
SYSTEM ONLINE SYSTEM
_SYSSMU2$ ONLINE UNDOTBS1
_SYSSMU3$ ONLINE UNDOTBS1
_SYSSMU4$ ONLINE UNDOTBS1
_SYSSMU5$ ONLINE UNDOTBS1
_SYSSMU6$ ONLINE UNDOTBS1
_SYSSMU7$ ONLINE UNDOTBS1
_SYSSMU8$ ONLINE UNDOTBS1
_SYSSMU9$ ONLINE UNDOTBS1
_SYSSMU10$ ONLINE UNDOTBS1
_SYSSMU21$ ONLINE UNDOTBS1
用上面的语句查出UNDO中的段。
然后在pfile 中加入
undo_management = manual
rollback_segments = (SYSTEM,_SYSSMU2$ ,...........)
最后
SQL> alter database datafile '/oracle/oradata/undotbs01.dbf' offline drop;
SQL> alter database open;
SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE
'/oracle/oradata/undotbs02.dbf' SIZE 110M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
ONLINE
RETENTION NOGUARANTEE
BLOCKSIZE 8K
FLASHBACK ON;
SQL> alter system set undo_tablespace=UNDOTBS2;
SQL> drop tablespace UNDOTBS1 including contents AND DATAFILES; |
|