ORA-00742 ORA-00312特殊恢复

ERROR:

ORA-00742: 日志读取在线程 1 序列 20 块 40649 中检测到写入丢失情况

ORA-00312: 联机日志 2 线程 1: '/oracle/oradata/SEM/redo02.log'

SQL> RECOVER DATABASE UNTIL CANCEL;                 //尝试recover之
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误 ORA-01152:
文件 1 没有从过旧的备份中还原 ORA-01110:
数据文件 1: '/oracle/oradata/SEM/system01.dbf'

SQL> alter database open resetlogs;                     
alter database open resetlogs
*
第 1 行出现错误:
ORA-01152: 文件 1 没有从过旧的备份中还原 ORA-01110:               //果真如上所述open时回出现这个错误
数据文件 1: '/oracle/oradata/SEM/system01.dbf'


alert.log中记录如下:

Errors in file /oracle/diag/rdbms/sem/SEM/trace/SEM_pr00_3546.trc:
ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
ORA-01152: 文件 1 没有从过旧的备份中还原
ORA-01110: 数据文件 1: '/oracle/oradata/SEM/system01.dbf'
ORA-1547 signalled during: ALTER DATABASE RECOVER  DATABASE UNTIL CANCEL  ...
Tue Sep 03 03:29:40 2013
Checker run found 15 new persistent data failures


查看scn的状态

SQL> select checkpoint_change# from v$database;            //控制文件的scn

CHECKPOINT_CHANGE#
------------------
           6505947

SQL> select checkpoint_change# from v$datafile;            //数据文件的scn

CHECKPOINT_CHANGE#
------------------
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705

CHECKPOINT_CHANGE#
------------------
           6530705
           6530705
           6530705
           6530705

已选择 15 行。

SQL> select checkpoint_change# from v$datafile_header;              //数据文件头的scn

CHECKPOINT_CHANGE#
------------------
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705
           6530705

CHECKPOINT_CHANGE#
------------------
           6530705
           6530705
           6530705
           6530705

已选择 15 行。


很明显控制文件中的scn没赶上数据文件和数据头文件中的变化 然后尝试不玩全恢复

SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 6530705 (在 09/01/2013 02:59:56 生成) 对于线程 1 是必需的 ORA-00289:
建议: /oracle/archivelog/1_20_824696280.dbf
ORA-00280: 更改 6530705 (用于线程 1) 在序列 #20 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。

SQL> alter database open resetlogs;

数据库已更改。

再查看控制文件中的scn的状态

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
           6530709                                                           //控制文件中的scn号只差几个,这几个可能是我open之后scn自己增加的几个  也就是说此次恢复和数据文件中的一样了


至此数据库实例就成功起来了

###############################

迷途小运维原创

作者:hohn

转载请注明出处

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值