這篇文章主要介紹oracle非歸檔模式,沒有備份,直接拔電導(dǎo)致Undo損壞怎么辦,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
專業(yè)從事成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),高端網(wǎng)站制作設(shè)計,微信平臺小程序開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊竭力真誠服務(wù),采用H5技術(shù)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項(xiàng)小組,與您實(shí)時在線互動,隨時提供解決方案,暢聊想法和感受。
非歸檔模式,沒有備份,直接拔電導(dǎo)致Undo損壞
啟動數(shù)據(jù)庫,檢查故障信息
SQL> conn / as sysdba
SQL> startup pfile=' ';
報錯,ORA-03113:end-of-file on communucation channel
查看alert log,發(fā)現(xiàn)文件2發(fā)生錯誤,導(dǎo)致600錯誤
先查看文件2的名字
SQL> conn / as sysdba
SQL> startup mount pfile='';
SQL> select file#,status,name from v$datafile;
查看可知文件2是undo數(shù)據(jù)文件,查看資料,undotbs損壞時可采用隱含參數(shù)臨時啟動數(shù)據(jù)庫,然后進(jìn)行修復(fù)
修改init文件,加入
._allow_resetlogs_corruption=true(允許在數(shù)據(jù)文件SCN不一致的情況下啟動數(shù)據(jù)庫)
._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,
_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 允許在rollback segments損壞的情況下啟動數(shù)據(jù)庫
SQL> shutdown abort;
SQL> startup pfile='';
啟動成功,查看當(dāng)前的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;
修改系統(tǒng)默認(rèn)的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;
無數(shù)據(jù)
SQL> shutdown immediate;
修改參數(shù)文件,注釋掉剛才添加的參數(shù)
#._allow_resetlogs_corruption=true(允許在數(shù)據(jù)文件SCN不一致的情況下啟動數(shù)據(jù)庫)
#*._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,
_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 允許在rollback
啟動數(shù)據(jù)庫:
SQL> startup pfile='';
以上是“oracle非歸檔模式,沒有備份,直接拔電導(dǎo)致Undo損壞怎么辦”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!