Quantcast
Channel: Doyensys Allappsdba Blog..
Viewing all articles
Browse latest Browse all 1640

Article 3

$
0
0

ORA-01207: file is more recent than control file – old control file

Error Message:

SQL> alter database open;
ORA-00283: recovery session canceled due to errors
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/oradb/app/oracle/oradata/ORCL/system01.dbf’
ORA-01207: file is more recent than control file – old control file

SOLUTION :

1) Dump controlfile to trace
SQL> alter database backup controlfile to trace as '/tmp/control_reco.sql';

2) startup database nomount
SQL> startup nomount

3) create the control file
Copy the script to create control file from trace file
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oradb/app/oracle/oradata/ORCL/redo01.log'  SIZE 50M,
GROUP 2 '/oradb/app/oracle/oradata/ORCL/redo02.log'  SIZE 50M,
GROUP 3 '/oradb/app/oracle/oradata/ORCL/redo03.log'  SIZE 50M
DATAFILE
'/app/oracle/oradata/rac10g/system01.dbf',
'/app/oracle/oradata/rac10g/undotbs01.dbf',
'/app/oracle/oradata/rac10g/sysaux01.dbf',
'/app/oracle/oradata/rac10g/users01.dbf'
CHARACTER SET AL32UTF8
;

Control file created.

4) recover database using backup controlfile
SQL> recover database using backup controlfile;
ORA-00279: change 460683 generated at 08/18/2018 13:36:21 needed for thread 1
ORA-00289: suggestion :
/oradb/app/oracle/flash_recovery_area/ORCL/archivelog/2018_08_17/ORCL_mf_1_33_%u_.arc
ORA-00280: change 460683 for thread 1 is in sequence #33

Give the CURRENT redo log file to apply (get from v$logfile)
SQL> set lines 150
SQL> col "REDOLOG_FILE_NAME" for a70
SQL> SELECT a.GROUP#, a.ARCHIVED, a.STATUS, b.MEMBER AS "REDOLOG_FILE_NAME" FROM v$log a JOIN v$logfile b ON a.Group#=b.Group#
ORDER BY a.GROUP#;

    GROUP# ARC STATUS           REDOLOG_FILE_NAME
---------- --- ---------------- ----------------------------------------------------------------------
         1 NO  CURRENT          /oradb/app/oracle/oradata/ORCL/redo01.log
         2 NO  INACTIVE         /oradb/app/oracle/oradata/ORCL/redo02.log
         3 NO  INACTIVE         /oradb/app/oracle/oradata/ORCL/redo03.log

Here, group 1 is CURRENT. So use it for the recovery

/oradb/app/oracle/oradata/ORCL/redo01.log
Log applied.
Media recovery complete.

5) open the database

SQL> alter database open resetlogs;
Database altered.


Viewing all articles
Browse latest Browse all 1640

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>