Please see my other blog for Oracle EBusiness Suite Posts - EBMentors

Search This Blog

Note: All the posts are based on practical approach avoiding lengthy theory. All have been tested on some development servers. Please don’t test any post on production servers until you are sure.

Wednesday, May 29, 2013

ORA-00214: control file version inconsistent with file version

SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2262048 bytes
Variable Size             624954336 bytes
Database Buffers          436207616 bytes
Redo Buffers                5513216 bytes
ORA-00214: control file '+DGDUP/control01.ctl' version 1960 inconsistent with file '+DGDUP/control02.ctl' version 1956

 
Error:  ORA 214
Text:   control file version inconsistent with file version
-------------------------------------------------------------------------------
Cause:  An inconsistent set of control files, datafiles/logfiles, and redo files was used.
Action: Use a consistant set of control files, datafiles/logfiles, and redo log files.
        That is, all the files must be for the same database and from the same time period.


  • fact: Oracle Server - Enterprise Edition
  • symptom: Startup mount fails
  • symptom: ORA-00214: control file version inconsistent with file
  • symptom: Following error(s) appear while database is running
  • symptom: ORA-01171: datafile %s going offline due to error advancing checkpoint
  • symptom: ora-01115: IO error reading block from file %s (block # %s)
  • symptom: ORA-01110 datafile %s: %d
  • cause: An ORA-00214 is issued whenever Oracle detects an inconsistency between two mirrored copies of the control file. All copies of the control file must have the same internal sequence number for Oracle to start up the database or shut it down in normal or immediate mode. If the database is running and the checkpoint in the file header could not be advanced the datafile will be taken offline. Typical scenarios in which you may receive an ORA-00214 include: 1. You have restored the control file from backup, but forgot to copy it onto all of the mirrored copies of the control file as listed in the "CONTROL_FILES" parameter in the "init.ora& quot; file for this instance (or config.ora in an ifile configuration). 2. You have moved one or more copies of the control file to a different location while the database was up and running. 3. You accidentally overwrote one of the copies of the control file with an old copy. 4. The database or the system crashed while the mirrored copies of the control file were being updated, causing them to be out of sync. 5. You are restoring a database backup that was improperly taken with the database up and running ("fuzzy" backup).
fix: The solution consists in opening the database with a single good copy of the control file and then shutting the database down and copying that version of the control file onto the other mirrored copies. That will cause the next startup to succeed. The steps to be followed are: 1. If the database is still up, do a shutdown abort now. 2. Edit the init.ora file for this instance (or config.ora in an ifile configuration). Find the CONTROL_FILES parameter and modify it to include just ONE copy of the control file that you have reasons to believe is up-to-date. For example, if you only have two mirrored copies X and Y of the control file: CONTROL_FILES = (X, Y) and you know you have accidentally overwritten X with an old copy, make CONTROL_FILES = (Y) If you are not sure about it, choose any one of the control file copies and remove or comment out all the other copies from the CONTROL_FILES parameter. 3. Start up the database in restricted mode. STARTUP RESTRICT If the database comes up fine, move on to Step 4. If instead you get ORA-1122, ORA-1110, and ORA-1207, go back to Step 2 and make the CONTROL_FILES parameter point to another one of the mirrored copies. If you have already tried each and every one of the mirrored copies unsuccessfully, you must create a new control file for the database. See the Solution Reference to PR entry 1012929.6 ("How to Recreate the Control File"). If you get ORA-1113 and ORA-1110 pointing to one of the datafiles, it means the copy of the control file you picked is good, but the referenced datafile must be recovered before the database can be opened. Try issuing a RECOVER DATABASE command and applying the logs you are prompted for. You may have to resort to the online logs to complete media recovery. For further details, see the Solution Reference to PR entry 1012943.6 on ORA-1113. Once the datafile is recovered, issue an ALTER DATABASE OPEN. 4. Shut the database down (normal or immediate). 5. Make all copies of the control file consistent. Copy the good mirrored copy of the control file that you just used to bring the database up onto all other copies, as originally listed in the CONTROL_FILES parameter of your init.ora file (or config.ora in an ifile configuration). 6. Restore the CONTROL_FILES parameter to its original value. Edit the init.ora file for this instance (or config.ora in an ifile configuration) to make the CONTROL_FILES parameter include all mirrored copies of the control file again. 7. Start up the database.

No comments: