Total Pageviews

Sunday, August 28, 2022

ORA-00214: control file version inconsistent or corrupted

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>

No comments:

Post a Comment

ORA-00845: MEMORY_TARGET not supported on this system

 The shared memory file system should have enough space to accommodate the MEMORY_TARGET and MEMORY_MAX_TARGET values. To verify: SQL> sh...