IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → 解決Oracle數(shù)據(jù)庫日志文件丟失恢復(fù)問題

解決Oracle數(shù)據(jù)庫日志文件丟失恢復(fù)問題

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  一.丟失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中,則可能無法對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)鍵詞標(biāo)簽:Oracle數(shù)據(jù)庫,數(shù)據(jù)庫日

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法