ORA-00214: controlfile 'G:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL02.CTL' version 5674 inconsistent with file 'G:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL01.CTL' version 5672Kind regards.
I always back up my control file to a binary backup file. If you have a binary backup of your control file, you can use this binary backup to overwrite the inconsistent control files. Once done, use the following steps to open the database:
STARTUP MOUNT RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;Apply recovery until all of your archived redo logs have been applied. Then reply CANCEL.
ALTER DATABASE OPEN RESETLOGS;If you do not have a binary backup of your control file, you can create the control file from scratch with the CREATE CONTROLFILE command.
STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE orcl NORESETLOGS ARCHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 100 LOGFILE GROUP 1 ('/directory/redo01a.log','/directory/redo01b.log') SIZE 100K GROUP 2 ('/directory/redo02a.log','/directory/redo02b.log') SIZE 100K GROUP 3 ('/directory/redo03a.log','/directory/redo03b.log') SIZE 100K DATAFILE '/directory/system01.dbf', '/directory/users01.dbf', '/directory/undo_tbs01.dbf'; RECOVER DATABASE; ALTER DATABASE OPEN;You will have to supply correct information to the CREATE CONTROLFILE command, which means you'll have to know where each and every file in your database resides on your server. This is why a good backup of your control file is essential. It is easy to make mistakes in the step above. But you can still get the database open. For more information on the CREATE CONTROLFILE command, refer to the Oracle documentation.
Once you have the database open, ensure you have a good backup so that you do not have to repeat this recovery operation in the future.
This was first published in November 2006