oracle recover redo,oracle redo log日志(当前或非当前日志)损坏之后的db恢复

出错情况:

sql> alter database open;

alter database open

*

第 1 行出现错误:

ora-01113: 文件 1 需要介质恢复

ora-01110: 数据文件 1: 'f:/oracle/oradata/orcl/system01.dbf'

试图恢复数据文件出错:

sql> recover datafile 'f:/oracle/oradata/orcl/system01.dbf';

ora-00283: 恢复会话因错误而取消

ora-00322: 日志 3 (用于线程 1) 不是最新副本

ora-00312: 联机日志 3 线程 1: 'f:/oracle/oradata/orcl/redo03.log'

联机日志分为当前联机日志(current)和非当前联机日志(inactive),非当前联机日志(inactive)的损坏是比较简单的,一般通过clear命令就可以解决问题。

在数据库mount或open状态下查询v$log,显示log状态。

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

此时可以发现redo日志3是current状态,具体恢复步骤如下:

使用clear命令清理這個文件所在的redo log group。

sql> alter database clear unarchived logfile group 3;

数据库已更改。

sql>recover datafile 'f:/oracle/oradata/orcl/system01.dbf';

完成介质恢复。

sql> alter database open;

alter database open

*

第 1 行出现错误:

ora-01113: 文件 2 需要介质恢复

ora-01110: 数据文件 2: 'f:/oracle/oradata/orcl/sysaux01.dbf'

然后根据提示一步步恢复数据文件即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值