1.使用alter database clear 命令清除日志內(nèi)容
SQL>alter database clear unarchived logfile group 2;
2. 啟動(dòng)到MOUNT下查詢當(dāng)前日志序列
SQL>startup mount
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
1 1 23 104857600 1 YES INACTIVE
1129719 19-SEP-06
2 1 24 104857600 1 YES ACTIVE
1159922 19-SEP-06
3 1 25 104857600 1 NO CURRENT
1178165 21-SEP-06
當(dāng)前日志序列號(hào)25 你的應(yīng)當(dāng)是94
3.復(fù)制全部數(shù)據(jù)文件,日志文件的備份文件.覆蓋原文件 然后執(zhí)行
SQL>recover database until cancel;
這時(shí)候回出現(xiàn)幾個(gè)選項(xiàng).不要使用自動(dòng).直接回車就可.注意日志序列號(hào).等恢復(fù)到94號(hào)日志時(shí)就不用繼續(xù)了!這時(shí)候輸入CANCEL.結(jié)束恢復(fù)過(guò)程.
4.打開(kāi)數(shù)據(jù)庫(kù)
SQL>alter database open resetlogs;
日志恢復(fù)比較復(fù)雜,日志恢復(fù)結(jié)束時(shí),可能還會(huì)存在數(shù)據(jù)文件的恢復(fù)問(wèn)題.所以仍需要恢復(fù)數(shù)據(jù)文件.知道數(shù)據(jù)庫(kù)完全同步為止.