ORA-00742 ORA-00312特殊恢复

简介: 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 中

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

SQL> alter database open resetlogs;

数据库已更改。

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

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE

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

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

目录
相关文章
|
Oracle 关系型数据库
|
SQL Oracle 关系型数据库
|
关系型数据库 Oracle
|
SQL 数据库 关系型数据库
|
Oracle 关系型数据库
|
SQL Oracle 关系型数据库
ORA-00704、ORA-39700处理
文章版权所有Jusin Hao(luckyfriends),支持原创,转载请注明。 原来的数据库11.2.0.1,现在安装的是11.2.0.3 SQL> alter database open; alter database open ...
1001 0
|
Oracle 关系型数据库 Go
ORA-32017 ORA-00096问题
<div style="font-family:'lucida Grande',Verdana,'Microsoft YaHei'; font-size:14px; line-height:23px"> <div><br></div> <div><br></div> <div>1</div> <div><br></div> <div>SQL&gt; alter system se
3305 0
|
SQL
ORA-00604 ORA-14452 ORA-20783
<div class="Blog_tit4 Blog_tit5" style="word-wrap:break-word; border-bottom-width:0px; padding:0px 0px 11px"> <div class="Blog_tit4 Blog_tit5" style="word-wrap:break-word; border-bottom-width:0px
3137 0