系統回滾段offline

由於沒有準備充分的磁盤空間也沒看清imp的參數,導致在導入數據過程中出現undo表空間不足而進程死鎖。殺死進程後想刪除undo表空間,發現undo表空間仍 有online狀態,再細查

SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS
發現有幾個屬於undotbs1的系統回滾段(_SYSSMU2$)狀態是online的,所以無法drop掉undotbs1空間。

系統回滾段無法用ALTER ROLLBACK SEGMENT 名字 offline停掉。

上網一查,原來還是有辦法的。

處理過程
1 create undo tablespace undotBS2 datafile '/..../...../UNDODOTBS2.DBF' size 100m;
alter system set undo_tablespace=undotBS2;
drop tablespace undotbs1 including contents;(進行這部操作的時候會報下面的錯):
ORA-01548: 已找到活動回退段'_SYSSMU1$',終止刪除表空間

2 修改文件/opt/..../admin/pfile/init.ora.162007221035,如下:
undo_management=manual
undo_retention=10800
undo_tablespace=undotBS2
_CORRUPTED_ROLLBACK_SEGMENTS =(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$)

3 重啓服務
shutdown immediate
startup pfile='/opt/..../admin/pfile/init.ora.421200715439'

4 刪除表空間
drop tablespace undotbs1 including contents and datafiles;
create undo tablespace undotBS1 datafile ......................

5 修改init.ora.162007221035恢復原狀即可

6重啓服務
shutdown immediate
startup

7alter system set undo_tablespace=undotBS1

發佈了40 篇原創文章 · 獲贊 1 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章