删除undo表空间
UNDOTB2为undo表空间下面的为添加的扩展表空间
UNDO_TB3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TAXDEV\
UNDO_TB5 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TAXDEV\
UNDO_TB2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TAXDEV\
UNDOTBS01.DBF E:\ORACLE\PRODUCT\10.2.0\ORADATA\TAXDEV\
UNDO_TB31 E:\ORACLE\PRODUCT\10.2.0\ORADATA\TAXDEV\
新建立一个UNDOTB3 undo表空间,切换undo表空间
切换UNDO表空间
• 可以从使用一个UNDO 表空间切换到使用另一个UNDO表空间。 • 一次只能将一个UNDO 表空间分配给某个数据库。 • 一个例程中可以存在多个UNDO 表空间,但只能有一个处于活动状态。 • 使用ALTER SYSTEM 命令,可以在各个UNDO 表空间之间进行动态切换。
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTB3;
删除UNDO表空间
• 使用DROP TABLESPACE 命令,可以删除UNDO 表空间。 DROP TABLESPACE UNDOTB2; • 某个UNDO 表空间只有在当前未由任何例程使用的时候才能被删除。 • 要删除活动的UNDO 表空间,请执行以下操作: – 切换到新的UNDO 表空间
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTB3;
– 完成当前所有事务处理后,删除该表空间 要确定是否存在任何一个活动的事务处理,请使用以下查询:
SQL> SELECT a.name,b.status 2 FROM v$rollname a, v$rollstat b 3 WHERE a.name IN ( SELECT segment_name 4 FROM dba_segments 5 WHERE tablespace_name = 'UNDOTBS‘ ) 6 AND a.usn = b.usn;
查询结果为空。
状态为PENDING OFFLINE 的某个还原段仍包含活动的事务处理。如果查询没有返回任 何行,则表明所有事务处理均已完成,并且可以使用以下命令删除该表空间。
SQL> DROP TABLESPACE UNDOTB2;
删除提示 无法删除 undotb2下面的扩展表空间 UNDO_TB2
ORA-01548: 已找到活动回退段 '_SYSSMU6$', 终止删除表空间
求助如何:删除 UNDOTB2 在切换undotb3是 已经把undotb2状态变为挂起 offline