Ora 00205 error in identifying control file check alert log for more info

To demonstrate this error, I have intentionally deleted control file (i.e.control02.ctl) And try to startup database to stimulate exact error: SQL> startup ORACLE instance started. Total System …

Oracle 11g Logo

To demonstrate this error, I have intentionally deleted control file (i.e.control02.ctl)

And try to startup database to stimulate exact error:

SQL> startup
ORACLE instance started.
Total System Global Area 755769344 bytes
Fixed Size 2217184 bytes
Variable Size 478153504 bytes
Database Buffers 272629760 bytes
Redo Buffers 2768896 bytes
ORA-00205: error in identifying control file, check alert log for more info

database throws ORA-00205 error as expected due to one of the control file not in place.

Solution:

Ensure existing control file locations with following:

SQL> show parameter control_files
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/RTS/co
                                                 ntrol01.ctl, /u01/app/oracle/o
                                                 radata/RTS/control02.ctl

There are 2 control files mentioned in CONTROL_FILES parameter, Ensure which control file is not available.

[oracle@PR]$ ll /u01/app/oracle/oradata/RTS/control01.ctl
-rw-r-----. 1 oracle oinstall 9748480 Jun 24 03:37 /u01/app/oracle/oradata/RTS/control01.ctl
[oracle@PR]$ ll /u01/app/oracle/oradata/RTS/control02.ctl
ls: cannot access /u01/app/oracle/oradata/RTS/control02.ctl: No such file or directory

So, control02.ctl is not available, issue following alter command in order to edit only one control file location in CONTROL_FILES parameter.

SQL> alter system set control_files='/u01/app/oracle/oradata/RTS/control01.ctl' scope=spfile;
System altered.

Shutdown the database and start it up:

SQL> shut immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 755769344 bytes
Fixed Size 2217184 bytes
Variable Size 478153504 bytes
Database Buffers 272629760 bytes
Redo Buffers 2768896 bytes
Database mounted.
Database opened.

The database is opened with one control file:

SQL> show parameter control_files; 
NAME                                 TYPE        VALUE 
------------------------------------ ----------- ------------------------------ 
control_files                        string      /u01/app/oracle/oradata/RTS/control01.ctl

Cheers!!

It is highly recommended to run your Oracle database with multiple control files(called control file multiplexing) in order to reduce the risk of losing control file due to corruption, accidental removal or any possible worst. How to multiplex Oracle control file?

Thanks, Stay Tune. 🙂

5 Methods To Fix ORA-00205: Error In Identifying Control File

Overview:

Facing error messages meanwhile working with the Oracle database is very disturbing as it breaks the flow of your work. Isn’t it…?

Our today’s article is also about one such annoying Oracle ORA-00205: error in identifying control file and it’s possible fixes.

Oracle is free, open business management software available for both personal and commercial use. The RDMS equipped system helps users to process credit card payments, handles customer, support, and manages customer orders.

Oracle, networking software does the task of data exchange between machines using underlying services to establish communication between the components. During data exchange there may be few errors in Oracle due to which database errors could evolve and connection may not be well established.

What Causes ORA-00205 Error?

ORA-00205 is one such error which arises due to dislocation of a control file or might have allocated in some wrong location.

Oracle database contains control file; it’s a small binary file that keeps record of the database physical structure. The control file includes:

  • The database name
  • Names and locations of associated data files and redo log files
  • The timestamp of the database creation
  • The current log sequence number
  • Checkpoint information

Whenever the database is open, the control file must be available for writing by the Oracle database. If the control file cannot be accessed or it is missing, the database cannot be mounted and the recovery of the database becomes very difficult. The creation of the control file is at the same time when the database is created.

On some Operating systems, at least one copy of the control file is created during the creation of the database and on some OS multiple files are created. You should always create two or more copies of the control file during database creation or later also you could change particular setting in the control files.

The system is not able to find a control file of the specified name and size that is required to execute the same. This may be due to data corruption or some hardware/software issue that makes the access of the file impossible.

How To Fix ORA-00205: Error In Identifying Control File, Check Alert Log For More Info?

Fix 1# Check For All Your Control Files

Check all control files whether they are available online or not. Also ensure that these are the same files that the system created at cold start time.

Close your database if it is already opened.

Create pfile from spfile by using command:

SQL> create pfile from spfile;

In directory $ORACLE_HOMEdatabase a newly created pfile is present. (Its name is init<SID>.ora)

Edit this pfile to correct control file locations. Then follow this command:

SQL> create spfile from pfile;

After that, you will be able to see control files. Also if you have changed data file locations; you can rename data files in mount mode.

However if you have lost only one of many control files, then the repair procedure is different.  Having at least two control file (normally three) is recommended.

So, that if you need to identify the surviving control files in that case just replaces the missing one with one of the others.

Fix 2# Provide Filenames For The Control Files

Specify control file name using CONTROL_FILES initialization parameter in the database initialization parameter file.

If you do not specify files for CONTROL_FILES before database creation, then following things will happen:

  • operating system specific default name is taken
  • Using Oracle-managed files, then the initialization parameters you set is to enable name and location of the control files
  • Using Automatic Storage Management, incomplete ASM filenames could be placed in the DB_CREATE_FILE_DESTand DB_RECOVERY_FILE_DEST initialization parameters.

Fix 3# Multiplex Control Files On Different Disks

Two control files should be taken for every Oracle Database and should be stored on a different physical disk. If anyhow a control file is damaged (say due to a disk failure) the associated instance must be shut down possibly soon. When the drive has been repaired the damaged control file can be restored using the copy made on the other disk and can be restarted. Thus, no media recovery is required in this case.

Fix 4# Manage The Size Of Control Files

A control file size is the value set for the MAXDATAFILESMAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORY, and MAXINSTANCES parameters in the CREATE DATABASE statement that created the associated database. If values of these parameters is increased the size of control file increases

If your control files are missing from your database then you will not be able to start your database. At last you will start getting ORA-00205: error in identifying control file, check alert log for more info.

[Automated Solution] To Fix ORA-00205: Error In Identifying Control File, Check Alert Log For More Info

If the above manual fixes won’t help you to fix ORA-00205: error in identifying control file then immediately go with the experts recommended option i .e Oracle File Repair Tool. As this tool efficiently fixes all kinds of Oracle database errors  and issues.

  • This tool successfully repairs and recover damaged/corrupted/lost database DBF file.
  • You can also recovers your lost clusters, views, table space, tables, triggers, roles, index, schema, synonyms, and sequence and cluster tables etc.
  • It shows preview of all recoverable Oracle database objects before making the recovery.
  • It recover all the queries of the procedures, triggers, views, package body, package, functions, and database links within the text files.
  • The software is well compatible with  almost every versions of Windows OS like Windows 10/ 8.1/ 8/ 7.

Steps To Use  Oracle File Repair tool

Step 1: Open Oracle data recovery tool. You’ll see a pop-up window showing options to select or search corrupt Oracle databases in your computer.1

Step 2: Hit Scan File to initiate the scan process after selecting the oracle database. The recoverable database objects get listed in left-side pane.

2

Step 3: Click an object to see its preview.

3

Step 4:  Click Start Repair in the icon bar to start the repair process. A pop-up window is displayed which show the steps needed to perform further. Click next and continue.

4

Step 5: Give the user name, password and path of the blank database where you want to save the repaired database objects.

5

Step 6: Repairing and restoring various database objects after establishing a connection with blank oracle database.

6

Wrap Up:

At last I want to conclude that always keep backup of your control files even if you have successfully overcome this Oracle error ORA00205.

As, it is very important whenever the physical structure of the database is changed. Structural changes could be adding, dropping, or renaming datafiles/tablespace/groups/redo files as applicable to each.

Don’t forget to share your opinion regarding this post in the comment section…..!

Jacob Martin is a technology enthusiast having experience of more than 4 years with great interest in database administration. He is expertise in related subjects like SQL database, Access, Oracle & others. Jacob has Master of Science (M.S) degree from the University of Dallas. He loves to write and provide solutions to people on database repair. Apart from this, he also loves to visit different countries in free time.

April 7, 2020

Sometimes you can get ” ORA-00205: error in identifying control file check alert log for more info ” error.

ORA-00205: error in identifying control file check alert log

Details of error are as follows.

SQL> startup
ORACLE instance started.
Total System Global Area 755769344 bytes
Fixed Size 2217184 bytes
Variable Size 478153504 bytes
Database Buffers 272629760 bytes
Redo Buffers 2768896 bytes
ORA-00205: error in identifying control file, check alert log for more info

ORA-00205: error in identifying control file, check alert log for more info



error in identifying control file

Cause: The system could not find a control file of the specified name and size.

Action: Check that ALL control files are online and that they are the same files that the system created at cold start time

ORA-00205

Check the control_files parameter.

SQL> show parameter control_files
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/MSDB/co
                                                 ntrol01.ctl, /u01/app/oracle/o
                                                 radata/MSDB/control02.ctl

Check the controlfiles if they are exist or not in the related locations.

[[email protected] ~]$ ls -ltr /u01/app/oracle/oradata/MSDB/control01.ctl
-rw-r-----. 1 oracle oinstall 9748480 Jun 24 03:37 /u01/app/oracle/oradata/MSDB/control01.ctl

[[email protected] ~]$ ls -ltr /u01/app/oracle/oradata/MSDB/control02.ctl
ls: cannot access /u01/app/oracle/oradata/MSDB/control02.ctl: No such file or directory

control01.ctl exist but control02.ctl doesn’t exist.

Modify the control_files parameter as follows.

SQL> alter system set control_files='/u01/app/oracle/oradata/MSDB/control01.ctl' scope=spfile;
System altered.


Shutdown database.

SQL> shut immediate;
ORA-01507: database not mounted
ORACLE instance shut down.

Then startup database again.

SQL> startup
ORACLE instance started.
Total System Global Area 755769344 bytes
Fixed Size 2217184 bytes
Variable Size 478153504 bytes
Database Buffers 272629760 bytes
Redo Buffers 2768896 bytes
Database mounted.
Database opened.

Database has been opened, so problem has been solved.

You can multiplex Controlfile with the following article.

How to Multiplex Controlfile in Oracle RAC or ASM

Do you want to learn Oracle Database for Beginners, then Click and read the following articles.

Oracle Database Tutorials for Beginners ( Junior Oracle DBA )

 3,532 views last month,  1 views today

About Mehmet Salih Deveci

I am Founder of SysDBASoft IT and IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience.I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource.I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks.I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients.If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress [email protected].-                                                                                                                                                                                                                                                 -Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  [email protected] a mail atabilirsiniz.

Next ORA-00600: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string], [string], [string], [string], [string]

Cause :- This error can occur for lost/corrupted any control file.
In my situation I have unfortunately lost one of control file from two files.

Solution :- Create pfile from spfile > Edit pfile > Change «*.control_files=» parameter. Open database using pfile.

SQL> select status from v$instance;

STATUS
————
STARTED

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00205: error in identifying control file, check alert log for more info

SQL> show parameter contr

NAME                                 TYPE        VALUE
———————————— ———— ——————————
control_file_record_keep_time        integer     7
control_files                        string      D:APPORADATADBRMANCONTROL0
                                                 1.CTL, D:APPFLASH_RECOVERY_A
                                                 READBRMANCONTROL02.CTL
control_management_pack_access       string      DIAGNOSTIC+TUNING
SQL> create pfile=’D:pfile.ora’ from spfile;

File created.

Now edit pfile

=================================== Old Pfile ===================================================
dbrman.__db_cache_size=218103808
dbrman.__java_pool_size=4194304
dbrman.__large_pool_size=4194304
dbrman.__oracle_base=’D:app’#ORACLE_BASE set from environment
dbrman.__pga_aggregate_target=255852544
dbrman.__sga_target=381681664
dbrman.__shared_io_pool_size=0
dbrman.__shared_pool_size=146800640
dbrman.__streams_pool_size=0
*.audit_file_dest=’D:appadminDBRMANadump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’D:apporadataDBRMANcontrol01.ctl’,’D:apporadataDBRMANcontrol02.ctl’
*.db_block_size=8192
*.db_domain=»
*.db_name=’DBRMAN’
*.db_recovery_file_dest=’D:appflash_recovery_area’
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest=’D:app’
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DBRMANXDB)’
*.memory_target=634388480
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′
==================================== After Editing New Pfile ==========================================
dbrman.__db_cache_size=218103808
dbrman.__java_pool_size=4194304
dbrman.__large_pool_size=4194304
dbrman.__oracle_base=’D:app’#ORACLE_BASE set from environment
dbrman.__pga_aggregate_target=255852544
dbrman.__sga_target=381681664
dbrman.__shared_io_pool_size=0
dbrman.__shared_pool_size=146800640
dbrman.__streams_pool_size=0
*.audit_file_dest=’D:appadminDBRMANadump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’D:apporadataDBRMANcontrol01.ctl’
*.db_block_size=8192
*.db_domain=»
*.db_name=’DBRMAN’
*.db_recovery_file_dest=’D:appflash_recovery_area’
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest=’D:app’
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DBRMANXDB)’
*.memory_target=634388480
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′
============================================================================================================

SQL> ALTER DATABASE MOUNT;
ALTER DATABASE MOUNT
*
ERROR at line 1:
ORA-00205: error in identifying control file, check alert log for more info

SQL> SHUTDOWN IMMEDIATE;
ORA-01507: database not mounted

ORACLE instance shut down.
SQL> CONN /AS SYSDBA
Connected to an idle instance.
SQL> STARTUP PFILE=D:pfile.ora;
ORACLE instance started.

Total System Global Area  535662592 bytes
Fixed Size                  1375792 bytes
Variable Size             310378960 bytes
Database Buffers          218103808 bytes
Redo Buffers                5804032 bytes
Database mounted.
Database opened.
SQL>

SQL> create spfile from pfile=’D:pfile.ora’;

File created.

Today i intentionaly deleted one of three available Control File of one of the instance ‘orcl’. Below are the steps i performed to recover the lost DB Controlfile to bring back the Database up.

This is what i recieved in SQL command line when tried to start the effected the instance.
SQL> startup
ORACLE instance started.

Total System Global Area  306184192 bytes
Fixed Size                  1219112 bytes
Variable Size             109053400 bytes
Database Buffers          192937984 bytes
Redo Buffers                2973696 bytes
ORA-00205: error in identifying control file, check alert log for more info

Pre – Checks:
* First check if the entry is available in PFILE and check status of control_files paramter.
* Veify the Control Files entries in PFILE and supply changes to the spfile if discrepancies found by using create spfile/pfile statement.

Example Entry in an PFILE (INIT.ORA)
*.control_files=’/u01/app/oracle/oradata/orcl/control01.ctl’,’/u01/app/oracle/oradata/orcl/control02.ctl’,’/u01/app/oracle/oradata/orcl/control03.ctl’

SQL> show parameter control_files

NAME                                 TYPE        VALUE
———————————— ———– ——————————
control_file_record_keep_time        integer     7
control_files                        string      /u01/app/oracle/oradata/orcl/c
ontrol01.ctl, /u01/app/oracle/
oradata/orcl/control02.ctl, /u
01/app/oracle/oradata/orcl/con
trol03.ctl

* If you have ASM setup on the same machine, it is recommended that you should always check ASM state. It should be always running without any errors during startup (i.e. DISK Groups errors etc.) otherwise would cause issues while restoring/recovering files that are created using ASM signatures.

Scenario 1: Corrupt or Missing control file

When attempting to start the database you see the following error.

1

2

3

4

5

6

7

8

9

10

11

12

SQL> startup

ORACLE instance started.

Total System Global Area  849530880 bytes

Fixed Size                  1339824 bytes

Variable Size             528485968 bytes

Database Buffers          314572800 bytes

Redo Buffers                5132288 bytes

ORA-00205: error in identifying control file, check alert log for more info

SQL>

Looking the alert log you see that the /u02/app/oracle/oradata/orcl/ctl/control01.ctl is corrupt.

1

2

3

4

5

6

7

8

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified control file

ORA-00202: control file: '/u02/app/oracle/oradata/orcl/ctl/control01.ctl'

ORA-27048: skgfifi: file header information is invalid

ORA-205 signalled during: ALTER DATABASE   MOUNT...

Mon Apr 26 10:11:23 2010

Checker run found 1 new persistent data failures

ORA-205 signalled during: ALTER DATABASE   MOUNT...

Or you may see the file is missing when looking in the alert log.

1

2

3

4

5

6

7

8

9

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified control file

ORA-00202: control file: '/u02/app/oracle/oradata/orcl/ctl/control01.ctl'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Mon Apr 26 10:28:28 2010

Checker run found 1 new persistent data failures

ORA-205 signalled during: ALTER DATABASE   MOUNT...

In either case, to recover from this problem is simple and does not require going to the last backup provided your control files are multiplexed. To resolve this problem we simply copy a control file from one of the other locations.

Identify the control files:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

SQL> startup

ORACLE instance started.

Total System Global Area  849530880 bytes

Fixed Size                  1339824 bytes

Variable Size             528485968 bytes

Database Buffers          314572800 bytes

Redo Buffers                5132288 bytes

ORA-00205: error in identifying control file, check alert log for more info

SQL> show parameter control_files

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

control_files                        string      /u02/app/oracle/oradata/orcl/c

                                                 tl/control01.ctl, /u01/app/ora

                                                 cle/flash_recovery_area/orcl/c

                                                 ontrol02.ctl, /u03/app/oracle/

                                                 oradata/orcl/ctl/control03.ctl

SQL>

We know from the alert log that /u02/app/oracle/oradata/orcl/ctl/control01.ctl is the control file that is having problems so we will copy the one from the /u01/app/oracle/flash_recovery_area/orcl/control02.ctl and then mount and open the database.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

SQL> host

[oracle@ora1 ~]$ cp /u01/app/oracle/flash_recovery_area/orcl/control02.ctl /u02/app/oracle/oradata/orcl/ctl/control01.ctl

[oracle@ora1 ~]$ exit

exit

SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

SQL>

By having a multiplexed copy of the control file we were able to recover from a corrupt or missing control file without having to go to a database backup.

Scenario 2: All control files are corrupt or missing

When starting the database we see the following error.

1

2

3

4

5

6

7

8

9

10

11

12

SQL> startup

ORACLE instance started.

Total System Global Area  849530880 bytes

Fixed Size                  1339824 bytes

Variable Size             528485968 bytes

Database Buffers          314572800 bytes

Redo Buffers                5132288 bytes

ORA-00205: error in identifying control file, check alert log for more info

SQL>

In anticipation of restoring a control we get a list of the control file locations.

1

2

3

4

5

6

7

8

9

10

SQL> show parameter control_files

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

control_files                        string      /u02/app/oracle/oradata/orcl/c

                                                 tl/control01.ctl, /u01/app/ora

                                                 cle/flash_recovery_area/orcl/c

                                                 ontrol02.ctl, /u03/app/oracle/

                                                 oradata/orcl/ctl/control03.ctl

SQL>

Looking at the alert log we see that none of the control files are available.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

ALTER DATABASE   MOUNT

ORA-00210: cannot open the specified control file

ORA-00202: control file: '/u03/app/oracle/oradata/orcl/ctl/control03.ctl'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

ORA-00210: cannot open the specified control file

ORA-00202: control file: '/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

ORA-00210: cannot open the specified control file

ORA-00202: control file: '/u02/app/oracle/oradata/orcl/ctl/control01.ctl'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

ORA-205 signalled during: ALTER DATABASE   MOUNT...

Mon Apr 26 11:07:53 2010

Checker run found 2 new persistent data failures

Since all of the control files are missing we will need to restore them from a backup using RMAN.

1

2

3

4

5

6

7

8

9

10

11

[oracle@ora1 ctl]$ rman

Recovery Manager: Release 11.2.0.1.0 - Production on Mon Apr 26 11:24:32 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target /

connected to target database: ORCL (not mounted)

RMAN>

Currently none of the control files are mounted so RMAN does not know about the backups or any pre-configured RMAN settings. All settings are at their default.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

RMAN> show all;

using target database control file instead of recovery catalog

RMAN configuration parameters for database with db_unique_name ORCL are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default

CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

RMAN>

In order to use the backups we will need to tell RMAN the Database ID. If you do not have or know the database you have two options available.

Option 1: Shutdown the database and re-start it in RMAN

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

SQL> shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

SQL> host

[oracle@ora1 ctl]$ rman

Recovery Manager: Release 11.2.0.1.0 - Production on Mon Apr 26 11:30:49 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target /

connected to target database (not started)

RMAN> startup

Oracle instance started

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of startup command at 04/26/2010 11:31:00

ORA-00205: error in identifying control file, check alert log for more info

You will again receive an error stating that the control files could not be found. That is OK because in the next step we are going to restore them. Because the RMAN configuration is back to the default we are going to have to pass the entire path along with the file name of the latest control file autobackup to the restore control file command.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

RMAN> restore controlfile from '/u03/app/oracle/oradata/orcl/backup/c-1239150297-20100426-00';

Starting restore at 26-APR-10

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=20 device type=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:03

output file name=/u02/app/oracle/oradata/orcl/ctl/control01.ctl

output file name=/u01/app/oracle/flash_recovery_area/orcl/control02.ctl

output file name=/u03/app/oracle/oradata/orcl/ctl/control03.ctl

Finished restore at 26-APR-10

RMAN>

After restoring the control files we can see mount the database.

1

2

3

4

5

6

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

RMAN>

Now that the database has been mounted we can see that our custom RMAN settings are back.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

RMAN> show all;

using target database control file instead of recovery catalog

RMAN configuration parameters for database with db_unique_name ORCL are:

CONFIGURE RETENTION POLICY TO REDUNDANCY 1;

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u03/app/oracle/oradata/orcl/backup/%F';

CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/u03/app/oracle/oradata/orcl/backup/%U' MAXPIECESIZE 2 G;

CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_orcl.f'; # default

RMAN>

Now it would appear we are ready to open the database.

1

2

3

4

5

6

7

8

9

RMAN> alter database open;

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of alter db command at 04/26/2010 11:38:40

ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

RMAN>

We just restored the control files. In order to open the database we have to use the RESETLOGS option.

1

2

3

4

5

6

7

8

9

10

RMAN> alter database open resetlogs;

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of alter db command at 04/26/2010 11:39:08

ORA-01152: file 1 was not restored from a sufficiently old backup

ORA-01110: data file 1: '/u02/app/oracle/oradata/orcl/system01.dbf'

RMAN>

The restored control files are older than the data files. Hence in this case we need to restore the database.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

RMAN> restore database;

Starting restore at 26-APR-10

using channel ORA_DISK_1

using channel ORA_DISK_2

channel ORA_DISK_1: starting datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_DISK_1: restoring datafile 00003 to /u02/app/oracle/oradata/orcl/undotbs01.dbf

channel ORA_DISK_1: restoring datafile 00005 to /u02/app/oracle/oradata/orcl/example01.dbf

channel ORA_DISK_1: restoring datafile 00006 to /u02/app/oracle/oradata/orcl/test.dbf

channel ORA_DISK_1: reading from backup piece /u03/app/oracle/oradata/orcl/backup/1olc324t_1_1

channel ORA_DISK_2: starting datafile backup set restore

channel ORA_DISK_2: specifying datafile(s) to restore from backup set

channel ORA_DISK_2: restoring datafile 00004 to /u02/app/oracle/oradata/orcl/users01.dbf

channel ORA_DISK_2: reading from backup piece /u03/app/oracle/oradata/orcl/backup/1plc326b_1_1

channel ORA_DISK_2: piece handle=/u03/app/oracle/oradata/orcl/backup/1plc326b_1_1 tag=TAG20100426T092133

channel ORA_DISK_2: restored backup piece 1

channel ORA_DISK_2: restore complete, elapsed time: 00:00:15

channel ORA_DISK_2: starting datafile backup set restore

channel ORA_DISK_2: specifying datafile(s) to restore from backup set

channel ORA_DISK_2: restoring datafile 00001 to /u02/app/oracle/oradata/orcl/system01.dbf

channel ORA_DISK_2: restoring datafile 00002 to /u02/app/oracle/oradata/orcl/sysaux01.dbf

channel ORA_DISK_2: restoring datafile 00007 to /u03/app/oracle/oradata/orcl/dbfs01.dbf

channel ORA_DISK_2: reading from backup piece /u03/app/oracle/oradata/orcl/backup/1nlc324t_1_1

channel ORA_DISK_1: piece handle=/u03/app/oracle/oradata/orcl/backup/1olc324t_1_1 tag=TAG20100426T092133

channel ORA_DISK_1: restored backup piece 1

channel ORA_DISK_1: restore complete, elapsed time: 00:00:34

channel ORA_DISK_2: piece handle=/u03/app/oracle/oradata/orcl/backup/1nlc324t_1_1 tag=TAG20100426T092133

channel ORA_DISK_2: restored backup piece 1

channel ORA_DISK_2: restore complete, elapsed time: 00:02:09

Finished restore at 26-APR-10

RMAN>

Next we recover the database.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

RMAN> recover database;

Starting recover at 26-APR-10

using channel ORA_DISK_1

using channel ORA_DISK_2

starting media recovery

archived log for thread 1 with sequence 13 is already on disk as file /u03/app/oracle/oradata/orcl/redo/red01_b.log

archived log for thread 1 with sequence 14 is already on disk as file /u02/app/oracle/oradata/orcl/redo/redo02.log

archived log file name=/u03/app/oracle/oradata/orcl/redo/red01_b.log thread=1 sequence=13

archived log file name=/u02/app/oracle/oradata/orcl/redo/redo02.log thread=1 sequence=14

media recovery complete, elapsed time: 00:00:02

Finished recover at 26-APR-10

RMAN>

Now that the database has been restored and recovered we can finally open the database, again with the RESETLOGS option.

1

2

3

4

5

RMAN> alter database open resetlogs;

database opened

RMAN>

I think after seeing what is required to restore the control files you will agree that multiplexing the control files is a good thing to do.

* Thanks Dilip Kumar Singh for highlighting the errors in the post and helped me to rectify 🙂

This entry was posted on September 24, 2012 at 1:42 PM and is filed under Advanced.
Tagged: RMAN. You can follow any responses to this entry through the RSS 2.0 feed.

You can leave a response, or trackback from your own site.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Or pmsa 59 ошибка тинькофф
  • Or pmsa 59 ошибка при оплате
  • Or pmsa 03 как исправить
  • Or pmia 14 ошибка при оплате картой сбербанка
  • Or insert boot media in selected boot device and press a key как исправить

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии