Due to the power outage, one of my production database
giving the following error.
When I try to startup the database the ORA-00214 controlfile
inconsistent error occurred:
SQL> startup
ORACLE instance started.
Total System Global Area 662700032 bytes
Fixed
Size
1250716 bytes
Variable Size
281021028
bytes
Database
Buffers 373293056 bytes
Redo
Buffers
7135232 bytes
ORA-00214: control file
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\SYMP\CONTROL03.CTL'
version 1021304 inconsistent with file
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\SYMP\CONTROL01.CTL' version
1021301
Error: ORA-00214
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.
Action: Use a consistent set of control files.
That is, all the
files must be for the same database and from same time period.
Before going to troubleshoot the above error, Please follow
the Metalink Doc ID 1014751.6
Action plan:
OS: Windows 2003 R2 32-bit
Database version: 10.2.0.1
Step1: Find the controlfile location:
SQL> show parameter control
NAME
TYPE VALUE
------------------------------------ -----------
------------------------------
control_file_record_keep_time
integer
7
control_files
string
C:\ORACLE\PRODUCT\10.2.0\ORADA
TA\SYMP\CONTROL01.CTL,
C:\ORAC
LE\PRODUCT\10.2.0\ORADATA\SYMP
\CONTROL02.CTL, C:\ORACLE\PROD
UCT\10.2.0\ORADATA\SYMP\CONTRO
L03.CTL
Step2: Create and Edit the pfile from spfile:
SQL> create
pfile='C:\oracle\product\10.2.0\db_1\dbs\inittest.ora' from spfile;
File created.
LINUX
SQL> SHOW PARAMETER spfile;
NAME
TYPE
VALUE
------------------------------------ ----------- ------------------------------
spfile
string
/u01/app/oracle/product/11.2.0
/db_1/dbs/spfilesh1.ora
SQL> create pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initest.ora'
from spfile;
File created.
Step3: Remove the multiplexing controlfile of control_files parameter
Control_file=c:\oracle\product\10.2.0\oradata\symp\control01.ctl
Save
LINUX
SQL> show parameter control
NAME
TYPE
VALUE
------------------------------------ -----------
------------------------------
control_file_record_keep_time
integer 7
control_files
string /u01/app/oracle/oradata/sh1/co
ntrol01.ctl, /u01/app/oracle/f
lash_recovery_area/sh1/control
02.ctl
control_management_pack_access
string DIAGNOSTIC+TUNING
SQL>
Note:
Copy control02 from flash_recovery_area (sid folder) to
oradata (sid folder)
Rename control02 as control01 in oradata foler.
LINUX
Rename
[oracle@localhost ~]$mv /u01/app/oracle/oradata/sr/control01.ctl
/u01/app/oracle/oradata/sr/control01_bk.ctl
Copy
[oracle@localhost ~]$cp /u01/app/oracle/flash_recovery_area/sr/control02.ctl
/u01/app/oracle/oradata/sr/control01.ctl
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL>
Now try to start the edited pfile:
SQL> startup nomount
pfile='C:\oracle\product\10.2.0\db_1\dbs\inittest.ora'
SQL> startup nomount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initest.ora'
ORACLE instance started.
Total System Global Area 662700032 bytes
Fixed
Size
1250716 bytes
Variable
Size
281021028 bytes
Database
Buffers 373293056 bytes
Redo
Buffers
7135232 bytes
OR
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 535662592 bytes
Fixed Size
1337720 bytes
Variable Size 176162440 bytes
Database Buffers 352321536 bytes
Redo Buffers 5840896
bytes
SQL>
Step4: Try to mount & open the database with pfile:
SQL> alter database mount;
Database altered.
SQL> alter database open;
Database altered.
Step5: Now try to remove the multiplexed controlfile at
os level.
C:\oracle\product\10.2.0\oradata>cd symp
C:\oracle\product\10.2.0\oradata\symp>dir
Volume in drive C has no label.
Volume Serial Number is 8048-4083
Directory of C:\oracle\product\10.2.0\oradata\symp
7,290,880 CONTROL01.CTL
7,290,880 CONTROL02.CTL
7,290,880 CONTROL03.CTL
524,296,192 IDCARD_TS.DBF
52,429,312 REDO01.LOG
52,429,312 REDO02.LOG
52,429,312 REDO03.LOG
377,495,552 SYSAUX01.DBF
513,810,432 SYSTEM01.DBF
269,492,224 TEMP01.DBF
68,165,632 UNDOTBS01.DBF
17,047,552 USERS01.DBF
12 File(s) 1,949,468,160 bytes
2 Dir(s) 245,401,767,936 bytes free
C:\oracle\product\10.2.0\oradata\symp>del CONTROL02.CTL
C:\oracle\product\10.2.0\oradata\symp>del CONTROL03.CTL
C:\oracle\product\10.2.0\oradata\symp>dir
Volume in drive C has no label.
Volume Serial Number is 8048-4083
Step6: Multiplex the controlfile with existing copy of
controlfile (controlfile01.ctl) :
C:\oracle\product\10.2.0\oradata\symp>copy CONTROL01.CTL
CONTROL02.CTL
1 file(s) copied.
C:\oracle\product\10.2.0\oradata\symp>copy CONTROL01.CTL
CONTROL03.CTL
1 file(s) copied.
Step7: Start the database with existing default spfile:
SQL> STARTUP
Database started.
Now the database was successfully started without
controlfile error.
let see the controlfile location:
SQL> Show parameter control
control_files='C:\oracle\product\10.2.0\oradata\symp\control01.ctl','C:\oracle\product\10.2.0\oradata\symp\control02.ctl','C:\oracle\product\10.2.0\oradata\symp\control03.ctl'
Please follow the Metalink Doc ID 1014751.6
OR
SQL> startup mount pfile='c:\p.txt';
SQL>rman target /
RMAN>restore controlfile from autobackup;
RMAN> quit
SQL>shut immediate
SQL>startup mount;
ORACLE instance started.
Total System Global Area 3206836224 bytes
Fixed Size
2180024 bytes
Variable Size
2415922248 bytes
Database Buffers
771751936 bytes
Redo Buffers
16982016 bytes
ORA-00214: control file
'D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL'
version 145625
inconsistent with file 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL'
version 144010
SQL> shut immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL>startup force mount pfile='c:\p.txt';
ORACLE instance started.
Total System Global Area 3206836224 bytes
Fixed Size
2180024 bytes
Variable Size
2415922248 bytes
Database Buffers
771751936 bytes
Redo Buffers
16982016 bytes
Database mounted.
SQL>host rman target /
RMAN>recover database;
RMAN> alter database open resetlogs;
database opened.
LINUX
[oracle@localhost ~]$ sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 31 17:09:35 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter user-name: / as sysdba
SQL> shutdown abort
SQL> startup nomount
ORACLE instance started.
Total System Global Area 1640484864 bytes
Fixed Size
1336876 bytes
Variable Size 1090521556 bytes
Database Buffers 536870912 bytes
Redo Buffers 11755520
bytes
SQL>
SQL> SHOW PARAMETER spfile;
SQL> create
pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/pfileshisb.ora' from
spfile='/u01/app/oracle/product/11.2.0/db_1/dbs/spfileshisb.ora';
File created.
SQL> show parameter control
NAME
TYPE
VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer
7
control_files
string /u01/app/oracle/oradata/sh1/co
ntrol01.ctl, /u01/app/oracle/f
lash_recovery_area/sh1/control
02.ctl
control_management_pack_access string
DIAGNOSTIC+TUNING
SQL>
SQL>
control_file=/u01/app/oracle/oradata/shisb/control01.ctl
SQL> shutdown abort;
SQL> startup nomount
pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/pfileshisb.ora';
ORACLE instance started.
Total System Global Area 1640484864 bytes
Fixed Size
1336876 bytes
Variable Size
1090521556 bytes
Database Buffers 536870912
bytes
Redo Buffers
11755520 bytes
SQL>