oracle recover redo,oracle redo log日志(当前或非当前日志)损坏之后的db恢复
出錯(cuò)情況:
sql> alter database open;
alter database open
*
第 1 行出現(xiàn)錯(cuò)誤:
ora-01113: 文件 1 需要介質(zhì)恢復(fù)
ora-01110: 數(shù)據(jù)文件 1: 'f:/oracle/oradata/orcl/system01.dbf'
試圖恢復(fù)數(shù)據(jù)文件出錯(cuò):
sql> recover datafile 'f:/oracle/oradata/orcl/system01.dbf';
ora-00283: 恢復(fù)會話因錯(cuò)誤而取消
ora-00322: 日志 3 (用于線程 1) 不是最新副本
ora-00312: 聯(lián)機(jī)日志 3 線程 1: 'f:/oracle/oradata/orcl/redo03.log'
聯(lián)機(jī)日志分為當(dāng)前聯(lián)機(jī)日志(current)和非當(dāng)前聯(lián)機(jī)日志(inactive),非當(dāng)前聯(lián)機(jī)日志(inactive)的損壞是比較簡單的,一般通過clear命令就可以解決問題。
在數(shù)據(jù)庫mount或open狀態(tài)下查詢v$log,顯示log狀態(tài)。
sql> select group#,
2???????? status,
3???????? first_change#
4? from?? v$log;
group# status?????????? first_change#
---------- ---------------- -------------
1 unused???????????????? 1324963
3 current??????????????? 1363585
2 unused???????????????? 1343246
此時(shí)可以發(fā)現(xiàn)redo日志3是current狀態(tài),具體恢復(fù)步驟如下:
使用clear命令清理這個(gè)文件所在的redo log group。
sql> alter database clear unarchived logfile group 3;
數(shù)據(jù)庫已更改。
sql>recover datafile 'f:/oracle/oradata/orcl/system01.dbf';
完成介質(zhì)恢復(fù)。
sql> alter database open;
alter database open
*
第 1 行出現(xiàn)錯(cuò)誤:
ora-01113: 文件 2 需要介質(zhì)恢復(fù)
ora-01110: 數(shù)據(jù)文件 2: 'f:/oracle/oradata/orcl/sysaux01.dbf'
然后根據(jù)提示一步步恢復(fù)數(shù)據(jù)文件即可。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的oracle recover redo,oracle redo log日志(当前或非当前日志)损坏之后的db恢复的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 在所有表中查某个值,ora
- 下一篇: mysql查询数据为0的所有字段6_My