自動undo表空間模式下切換新的undo表空間

wxjzqym發表於2012-08-27
    在undo自動錶空間模式下切換新的undo表空間後都需要將老的undo表空間給drop,可是由於切換時由於活動事物並未完全結束,於是導正drop舊的undo表空間時報“ORA-30013: 還原表空間 'UNDOTBS3' 當前正在使用中”的錯誤。
    解決方法如下:
    1.確認活動事物使用的回滾段編號
select xidusn from v$transaction;
     2.確認活動事物對應的sid和serial#
select a.sid,a.serial# from v$session a,v$transaction b
where a.taddr=b.addr;
    3.使用alter system kill session命令殺掉相關活動會話
 
    4.offline第1步查詢出來的回滾段
    這一步需要修改隱含引數_smu_debug_mode,將其值改為4,這一步的目的是使得在undo自動模式下可以進行undo手動模式的相關操作,比如offline回滾段或刪除回滾段。
    接著執行alter rollback segment "_SYSSMUN$"  offline;(其中N為第一步查詢出的回滾段編號)
 
    5.最後即可正常執行drop undo tablespace命令。
總結:這裡的關鍵是先要保證舊的表空間中的未決事物全部結束,所以如果不手動kill相關活動會話的話,直接對活動的回滾段進行offline和drop等操作都會報錯。

   

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20801486/viewspace-742005/,如需轉載,請註明出處,否則將追究法律責任。

相關文章