記一次Oracle數(shù)據(jù)庫恢復

記一次Oracle數(shù)據(jù)庫恢復

單位OA系統(tǒng)出現(xiàn)故障,通過排查是部署在云上應用服務器和數(shù)據(jù)庫服務器出現(xiàn)故障。聯(lián)系云和OA系統(tǒng)工程師到現(xiàn)場協(xié)助處理,通過云工程師處理順利恢復了應用服務器,但是數(shù)據(jù)庫服務器依然存在問題,云廠家工程師通過技術手段將數(shù)據(jù)庫服務器上的所有文件拷貝到一臺新的虛擬機。
所以重點就是恢復數(shù)據(jù)庫服務器上的Oracle數(shù)據(jù)庫

場景

1.數(shù)據(jù)庫服務器有一個7月16號的備份鏡像
2.數(shù)據(jù)庫oracle相關文件拷貝到一臺另外的虛擬機,oracle數(shù)據(jù)庫文件是否發(fā)生損壞未知

方案

1.通過從原數(shù)據(jù)庫拷貝出來的文件完成數(shù)據(jù)庫恢復
2.通過7月16號的備份鏡像完成數(shù)據(jù)庫還原,這樣會造成2個多月的數(shù)據(jù)丟失,因此這種方式是在方案1完全無法實現(xiàn)的時候的備選

實施思路

由于Oracle對于從文件直接還原的特殊性(版本號、數(shù)據(jù)庫sid、實例名、路徑、數(shù)據(jù)庫編碼要求完全一致)
1.通過將7月16號的鏡像還原到了一臺新的虛擬機進而保證了還原時各類參數(shù)的一致性,同時確認該還原的數(shù)據(jù)庫狀態(tài)正常
2.將還原數(shù)據(jù)庫的所有dbf文件和control文件備份
3.將原數(shù)據(jù)庫下?lián)p壞情況未知的dbf文件和control文件拷貝到已還原的oracle數(shù)據(jù)庫,需要確定文件權限為oracle:oinstall
4.啟動數(shù)據(jù)庫,順利啟動并mount,但是在open database時出錯,報ora-00314錯誤
5.通過檢查啟動日志,并結合

select group#,sequence#,archived,status from v$log;

這個sql語句查詢數(shù)據(jù)庫狀態(tài)發(fā)現(xiàn)是數(shù)據(jù)庫redo日志問題
6.重做redo日志,因為數(shù)據(jù)庫不是做的歸檔日志所以用的unarchived

alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 3;

完成日志操作后執(zhí)行alter database open;數(shù)據(jù)庫順利啟動完成本次數(shù)據(jù)庫恢復

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容