Solved

ORA-00205: error in identifying controlfile

Posted on 2004-04-28
13
24,859 Views
Last Modified: 2011-08-18
Friends,

SVRMGR> startup
ORACLE instance started.
Total System Global Area                         35052944 bytes
Fixed Size                                          64912 bytes
Variable Size                                    18030592 bytes
Database Buffers                                 16777216 bytes
Redo Buffers                                       180224 bytes
ORA-00205: error in identifying controlfile, check alert log for more info
SVRMGR>

i got the above error, my control file path in init.ora is
control_files = ("/opt/oracle/oradb/oradata/ars/control01.ctl", "/opt/oracle/oradb/oradata/ars/control02.ctl")

but i don't see any file in that path..
should i need to create contol file..if so how ?

please reply...

Thanks
Subbu


0
Comment
Question by:sunsubbu
13 Comments
 
LVL 8

Expert Comment

by:baonguyen1
Comment Utility
Look like you lost all control file. Follw this procedure will help to recover them:

Normally, we have multiplexing of controlfiles and they are expected to be
placed in different disks.
 
If one or more controlfile is/are lost,mount will fail as shown below:
SQL> startup
Oracle Instance started
....
ORA-00205: error in identifying controlfile, check alert log for more info
 
You can verify the controlfile copies using:
SQL> select * from v$controlfile;
 
   **If atleast one copy of the controlfile is not affected by the disk failure,  
   When the database is shutdown cleanly:
   (a) Copy a good copy of the controlfile to the missing location
   (b) Start the database  
 
   Alternatively, remove the lost control file location specified in the
   init parameter control_files and start the database.
 
   **If all copies of the controlfile are lost due to the disk failure, then:
   Check for a backup controlfile. Backup controlfile is normally taken using  
   either of the following commands:
   (a) SQL> alter database backup controlfile to '/backup/control.ctl';
    -- This would have created a binary backup of the current controlfile --
 
    -->If the backup was done in binary format as mentioned above, restore the  
       file to the lost controlfile locations using OS copying utilities.
    --> SQL> startup mount;
    --> SQL> recover database using backup controlfile;
    --> SQL> alter database open;
 
   (b) SQL> alter database backup controlfile to trace;
    -- This would have created a readable trace file containing create controlfile
    script --
 
    --> Edit the trace file created (check user_dump_dest for the location) and
        retain the SQL commands alone. Save this to a file say cr_ctrl.sql
    --> Run the script
     
    SQL> @cr_ctrl
 
    This would create the controlfile, recover database and open the database.
 
    ** If no copy of the controlfile or backup is available, then create a controlfile
    creation script using the datafile and redo log file information. Ensure that the
    file names are listed in the correct order as in FILE$.
    Then the steps would be similar to the one followed with cr_ctrl.sql script.
 
 
Note that all controlfile related SQL maintenance operations are done in the  
database nomount state
0
 

Author Comment

by:sunsubbu
Comment Utility
Hi,
Thanks for ur immediate response.,

I have done
SQL> select * from v$controlfile;
no rows selected

So, i went to your next step i.e

SQL> alter database backup controlfile to '/backup/control.ctl';
alter database backup controlfile to '/backup/control.ctl'
*
ERROR at line 1:
ORA-01507: database not mounted
SQL>

0
 
LVL 76

Expert Comment

by:slightwv (䄆 Netminder)
Comment Utility
How are the mount points set up?  Just because the directory exists doesn't mean the filesystem is mounted.  It's possible that the filesystem containing the control files just isn't mounted (not likely...just possible).

If they are both truly gone, you will need to create one from scratch.  I suggest getting a jump start by performing the backup controlfile to trace from another instance and modifying it for the lost DB.
0
 
LVL 23

Expert Comment

by:seazodiac
Comment Utility
You lost all of your control files. then you only have one option: incomplete database recovery.

I believe you have done a good job in backups, otherwise...

take the last full backup, and do the recovery.

at last open the database with resetlogs option.

that's all you can do
0
 
LVL 8

Accepted Solution

by:
baonguyen1 earned 400 total points
Comment Utility
and if your database was shutdown cleanly (not shutdown abort) and you dont have a good backup then you can create the controlfile using CREATE control file command. Something like:

CREATE CONTROLFILE SET DATABASE "DB" RESETLOGS
NOARCHIVELOG
      MAXLOGFILES 16
      MAXLOGMEMBERS 2
      MAXDATAFILES 30
      MAXINSTANCES 1
      MAXLOGHISTORY 17016
LOGFILE
  GROUP 1 '/u03/oracle/oradata/db/redo01a.log'   SIZE
100M,
  GROUP 2 '/u04/oracle/oradata/db/redo02a.log'   SIZE
100M,
  GROUP 3 '/u05/oracle/oradata/db/redo03a.log'   SIZE
100M
DATAFILE
  '/u03/oracle/oradata/db/system01.dbf',
  '/u06/oracle/oradata/db/tools01.dbf',
  '/u06/oracle/oradata/db/rbs01.dbf',
  '/u07/oracle/oradata/db/temp01.dbf',
  '/u08/oracle/oradata/db/users01.dbf',
  '/u05/oracle/oradata/db/drsys01.dbf'
CHARACTER SET ....
;

You have to ensure the path, filename ... are correct

then startup nomount, create the control file and open resetlogs
0
 

Author Comment

by:sunsubbu
Comment Utility
nice to hear from u,

i think you are saying that to create files with extension .dbf.
These .dbf files are available

One more thing i want to tell is that this is new installation of Oracle 8.1.5 on Solaris box
The installation was successfull
when i am doing "startup" this identifying control file Error came..

0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 8

Expert Comment

by:baonguyen1
Comment Utility
No, I did not mean you recreate the dbf files. By issuing CREATE CONTROLFILE command Oracle will create new controlfile and record the information about your db structure. It means the phrase:

DATAFILE
  '/u03/oracle/oradata/db/system01.dbf',
  '/u06/oracle/oradata/db/tools01.dbf',
  '/u06/oracle/oradata/db/rbs01.dbf',
  '/u07/oracle/oradata/db/temp01.dbf',
  '/u08/oracle/oradata/db/users01.dbf',
  '/u05/oracle/oradata/db/drsys01.dbf'
CHARACTER SET ....

just tell the new control file to record the locations of the datafiles

Look like after installation you have not created a new database ? You just have an init file available . Am I right ?
0
 

Author Comment

by:sunsubbu
Comment Utility
hi baonguyen,

ya,
 while installing it created a new database named 'ars'.
but it says "Database created with warnings" and "Oracle not available"
I tried again Re-Installing also,but the same messages came.
ya i have init file.

Also i will try to issue the CREATE CONTROL  FILE command,so u please tell what i should give in CHARACTER SET ?????

Thanks
subbu
0
 
LVL 8

Expert Comment

by:baonguyen1
Comment Utility
Can  you check the installActions.log file to see if there is any error ?
0
 

Author Comment

by:sunsubbu
Comment Utility
Hi baonguyen,

i have not find any error in that log file.
Also just view this below link..as i have uploaded the installActions.log file.
please kindly see the log file and reply me..

http://www.geocities.com/subbusoftential/installActions.html

thanks
subbu



0
 
LVL 8

Expert Comment

by:baonguyen1
Comment Utility
sunsubbu,

I reviewed your log file but can not find much about the reason. I suggest you:

1. remove all the software you have installed on you server
2. Ensure the oracle account is belong to dba group
3. Install the sofware first without creating database.
4. Create the database using DBCA utility
5. Ensure the oracle OS user has read/write on the /opt/oracle/oradb/oradata/ars/ dir. TRy to multiplex the control files if possible. For example:

control_files = ("/opt1/oracle/oradb/oradata/ars/control01.ctl",
"/opt2/oracle/oradb/oradata/ars/control02.ctl")

Or you can specify other directories that owned by oracle OS user to store the control files

Also note that Oracle has desupported version 8.1.5 as follows:

Server Certifications
OS    Product   Certified With Version Status Addtl. Info. Components Other Install Issue
7        8.1.5 (8i) 64-bit | N/A N/A   Desupported Yes None N/A N/A
2.6     8.1.5 (8i)  | N/A | N/A          Desupported Yes None N/A N/A
8        8.1.5 (8i)  | N/A | N/A          Desupported Yes None N/A N/A
7        8.1.5 (8i)  | N/A | N/A          Desupported Yes None N/A N/A

Hope this helps you


0
 

Author Comment

by:sunsubbu
Comment Utility
Hi baonguyen,

Thanks for the instructions.
1) I removed all the software i have installed on my server
2) oracle user is belonged to dba group.

In the 3rd point u suggested to install without creating database.
but while installing using ./runInstaller script (GUI) it prompting to enter Global database name & SID (compulsory)

pls reply me
0
 
LVL 8

Expert Comment

by:baonguyen1
Comment Utility
sunsubbu,

if you select Typical when install the software, it will install a new database without prompting you and I think it was your selection. If you select Minimal or Custom then you will go to "select starter database" and you can decide to create a new db or not

Hope this helps
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now