您好,登錄后才能下訂單哦!
這篇文章主要介紹oracle非歸檔模式,沒有備份,直接拔電導致Undo損壞怎么辦,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
非歸檔模式,沒有備份,直接拔電導致Undo損壞
啟動數據庫,檢查故障信息
SQL> conn / as sysdba
SQL> startup pfile=' ';
報錯,ORA-03113:end-of-file on communucation channel
查看alert log,發現文件2發生錯誤,導致600錯誤
先查看文件2的名字
SQL> conn / as sysdba
SQL> startup mount pfile='';
SQL> select file#,status,name from v$datafile;
查看可知文件2是undo數據文件,查看資料,undotbs損壞時可采用隱含參數臨時啟動數據庫,然后進行修復
修改init文件,加入
._allow_resetlogs_corruption=true(允許在數據文件SCN不一致的情況下啟動數據庫)
._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,
_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 允許在rollback segments損壞的情況下啟動數據庫
SQL> shutdown abort;
SQL> startup pfile='';
啟動成功,查看當前的rollback segments
SQL> select segment_name,status from dba_rollback_segs;
新建一個重做表空間undo
SQL> create undo tablespace undo datafile '' size 50M reuse autoextend on;
SQL> select segment_name,status from dba_rollback_segs;
修改系統默認的Undo段
SQL> alter system set undo_tablespace=undo;
刪除損壞的undotbs1表空間
SQL> alter tablespace undotbs1 offline normal;
SQL> drop tablespace undotbs1 including contents and datafiles;
SQL> select from v$recover_file;
無數據
SQL> shutdown immediate;
修改參數文件,注釋掉剛才添加的參數
#._allow_resetlogs_corruption=true(允許在數據文件SCN不一致的情況下啟動數據庫)
#*._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,
_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 允許在rollback
啟動數據庫:
SQL> startup pfile='';
以上是“oracle非歸檔模式,沒有備份,直接拔電導致Undo損壞怎么辦”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。