具体步骤如下:
startup force;
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
recover database using backup controlfile until cancel;
alter databse open resetlogs;
============以下为注解========
SQL> startup;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 96469672 bytes
Database Buffers 188743680 bytes
Redo Buffers 7139328 bytes
Database mounted.
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'L:ORACLEPRODUCT10.2.0ORADATAORC2SYSTEM01.DBF'
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
4532411
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
4532411
4532411
4532411
4532411
4532411
4532411
4532411
4532411
4664735
9 rows selected.
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
4711164
4711164
4711164
4711164
4711164
4711164
4711164
4711164
4664735
9 rows selected.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4697108 generated at 12/24/2007 11:48:57 needed for thread 1
ORA-00289: suggestion :
L:ORACLEPRODUCT10.2.0ORADATAORC2ARCHIVEARC00007_0641832494.001
ORA-00280: change 4697108 for thread 1 is in sequence #7
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'L:ORACLEPRODUCT10.2.0ORADATAORC2SYSTEM01.DBF'
ORA-01112: media recovery not started
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'L:ORACLEPRODUCT10.2.0ORADATAORC2SYSTEM01.DBF'
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4697108 generated at 12/24/2007 11:48:57 needed for thread 1
ORA-00289: suggestion :
L:ORACLEPRODUCT10.2.0ORADATAORC2ARCHIVEARC00007_0641832494.001
ORA-00280: change 4697108 for thread 1 is in sequence #7
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: 'L:ORACLEPRODUCT10.2.0ORADATAORC2SYSTEM01.DBF'
ORA-01112: media recovery not started
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> startup force;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 96469672 bytes
Database Buffers 188743680 bytes
Redo Buffers 7139328 bytes
Database mounted.
Database opened.
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
4717118
SQL> select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
4717118
4717118
4717118
4717118
4717118
4717118
4717118
4717118
4664735
9 rows selected.
SQL> select checkpoint_change# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
4717118
4717118
4717118
4717118
4717118
4717118
4717118
4717118
0
9 rows selected.
SQL> select last_change# from v$datafile;
LAST_CHANGE#
------------
4664735
9 rows selected.