數據庫服務器突然掉電,導致數據庫不能正常打開,在open數據庫時報如下錯誤:
ORA-01172: recovery of thread 1 stuck at block 272 of file 3
ORA-01151: use media recovery to recover block, restore backup if needed
這裏file 3對應的undo表空間。在打開數據庫時,需要用到undo block 272來回滾沒有提交的事務,但block 272這個塊有問題,提示需要恢復。
SQL> recover datafile 3;
接着嘗試打開數據庫
SQL>alter database open;
到此數據庫打開,不過會沒有完
在進行數據泵導出時,報如下錯誤
ORA-01552: cannot use system rollback segment for non-system tablespace 'TEMP'
還是跟undo表空間有關的
重新創建一個undo表空間
SQL> create undo tablespace undotbs2 datafile '' size 500M autoextend on ;
SQL> alter system set undo_tablespace='UNDOTBS2';
重啓數據庫並刪除原來的表空間及數據文件
SQL> drop tablespace undotbs1 including contents and datafiles;