新聞中心
oracle數(shù)據(jù)庫中的日志文件是oracle數(shù)據(jù)庫中非常重要的文件之一,一旦丟失會(huì)給oracle數(shù)據(jù)庫的使用帶來很多不必要的麻煩,那么解決Oracle數(shù)據(jù)庫日志文件丟失恢復(fù)問題就顯得尤為重要,由于inactive日志文件組表示已經(jīng)完成了檢查點(diǎn)(dirty數(shù)據(jù)已經(jīng)被寫入數(shù)據(jù)文件)。數(shù)據(jù)庫本身不會(huì)發(fā)生數(shù)據(jù)庫丟失,如果在這個(gè)時(shí)候相應(yīng)的redo丟失/損壞,可以通過clear重建日志文件組恢復(fù)。

成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。成都創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。
一.丟失inactive日志文件組的恢復(fù):
由于inactive日志文件組表示已經(jīng)完成了檢查點(diǎn)(dirty數(shù)據(jù)已經(jīng)被寫入數(shù)據(jù)文件)。數(shù)據(jù)庫本身不會(huì)發(fā)生數(shù)據(jù)庫丟失,如果在這個(gè)時(shí)候相應(yīng)的redo丟失/損壞,可以通過clear重建日志文件組恢復(fù)。
通過命令:
alter database clear logfile group n
如果數(shù)據(jù)庫模式是archived的,則需要強(qiáng)制清除
alter database clear unarchived logfile group n
二.丟失active或current日志文件組的恢復(fù):
丟失情況分兩種:
一個(gè)是正常關(guān)閉數(shù)據(jù)庫(如shutdown immediate)
另一個(gè)是異常關(guān)閉數(shù)據(jù)庫(如shutdown abort)
1.在損失當(dāng)前日志時(shí),數(shù)據(jù)庫是正常關(guān)閉狀態(tài)。
由于shutdown immediate會(huì)執(zhí)行全面的checkpoint,所以當(dāng)前日志在實(shí)例恢復(fù)時(shí)可以不需要redo
在Oracle 8i中我們完全可以通過alter database clear logfile group n來進(jìn)行恢復(fù).
但是在Oracle 9i中,則可能無法對(duì)current的redo日志進(jìn)行clear,需要通過recover database until cancel恢復(fù)后(必須要做的)
用resetlogs選項(xiàng)打開。
比如:
alter database clear logfile group n
recover database until cancel;
alter database open resetlogs;
2.在損失當(dāng)前日志時(shí),數(shù)據(jù)庫是異常關(guān)閉的:
這種情況下,由于沒有在執(zhí)行全面檢查點(diǎn)時(shí),數(shù)據(jù)庫就已經(jīng)關(guān)閉了,那么Oracle在進(jìn)行實(shí)例恢復(fù)的時(shí)候必須要求當(dāng)前的日志,否則Oracle數(shù)據(jù)庫將無法open.
這樣的情況下,我們通常需要從備份中恢復(fù)數(shù)據(jù)文件,通過應(yīng)用歸檔日志進(jìn)行向前推演。直到***一個(gè)完好的日志文件,然后可以通過resetlogs啟動(dòng)數(shù)據(jù)庫完成恢復(fù)。那么丟失的數(shù)據(jù)則是被損壞的日志文件中的數(shù)據(jù)。
注意:_allow_resetlogs_corruption是Oracle中的一個(gè)隱含參數(shù),如果系統(tǒng)實(shí)在不能resetlogs方式打開的后只能出此下策,在pfile進(jìn)行相應(yīng)設(shè)置打開數(shù)據(jù)庫。該函數(shù)的含義是,允許在破壞一致性的情況下強(qiáng)制重置日志,打開數(shù)據(jù)庫。 _allow_resetlogs_corruption將使用所有數(shù)據(jù)文件最舊的SCN打開數(shù)據(jù)庫,所以通常來講需要保證SYSTEM表空間擁有最舊的 SCN。在強(qiáng)制打開數(shù)據(jù)庫之后,可能因?yàn)楦鞣N原因會(huì)有ora-600。
到這里關(guān)于oracle數(shù)據(jù)庫中日志文件丟失的恢復(fù)方法就為大家總結(jié)這么多,希望上文中涉及到的內(nèi)容對(duì)大家能夠有所幫助。
當(dāng)前題目:Oracle數(shù)據(jù)庫日志文件丟失恢復(fù)問題
文章URL:http://www.dlmjj.cn/article/djijide.html


咨詢
建站咨詢
