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自己增加的几个  也就是说此次恢复和数据文件中的一样了

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

目录
相关文章
|
12月前
|
Oracle 关系型数据库 数据库管理
处理ORA-01031一例
处理ORA-01031一例
135 0
|
Oracle 关系型数据库
ORA-27468
job无法删除。
143 0
|
关系型数据库 Oracle
ora.rhpserver
ora.rhpserver 作用
1609 0
|
关系型数据库 网络性能优化 容器
ora.qosmserver
ora.qosmserver 作用
3220 0
|
关系型数据库 Oracle
|
SQL Oracle 关系型数据库
|
关系型数据库 Oracle 安全
|
SQL 关系型数据库 Oracle
|
数据库 关系型数据库 Oracle