Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.tools -> Re: Missing control file running Oracle 8i on Redhat Linux 7.0
In our last gripping episode "Preston Crawford"
<prestoncREMOVESPAMBLOCK_at_crawfordsolutions.com> wrote:
> Using the instructions on Bugzilla (id number 18391) I was able to get
> further along in getting Oracle 8i (8.1.6) working on Redhat Linux
7.0. Now,
> the only problem is when I get into svrmgrl and startup the database
it says
> I'm missing the controlfile. Anyone know what I need to do now?
>
> Preston
>
>
This may be a dumb question but have you created a database? If not, you won't have any controlfiles to access. If you have, and your controlfiles are now missing you'll need to perform the following steps:
First ensure your init<SID>.ora file is pointing to the correct location for the controlfile or files. If this is not the problem then you likely have missing control files which can be corrected.
Next perform a startup nomount of the instance; you should see the memory allocation numbers on your terminal for SGA, redo and the like.
Next on the agenda is to issue the CREATE CONTROLFILE statement. since your instance is fresh you haven't had the opportunity to backup your controlfiles either as binary files or as a script to recreate them should the need arise (which it obviously has). Therefore you'll need to know all of the datafiles in your database including the logfiles. A sample of a CREATE CONTROLFILE statement is shown below:
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1630
LOGFILE
GROUP 1 'D:\ORANT\DATABASE\LOG4ORCL.ORA' SIZE 1M, GROUP 2 'D:\ORANT\DATABASE\LOG3ORCL.ORA' SIZE 1M, GROUP 3 'D:\ORANT\DATABASE\LOG2ORCL.ORA' SIZE 1M, GROUP 4 'D:\ORANT\DATABASE\LOG1ORCL.ORA' SIZE 1MDATAFILE
'D:\ORANT\DATABASE\SYS1ORCL.ORA', 'D:\ORANT\DATABASE\USR1ORCL.ORA', 'D:\ORANT\DATABASE\RBS1ORCL.ORA', 'D:\ORANT\DATABASE\TMP1ORCL.ORA'
This command will create a new controlfile for you.
The next step would be to recover your database. Since there is, most likely, no data in your instance this will not be necessary. The final step is to open the database:
alter database open noresetlogs;
I can't answer the burning question, 'Why is noresetlogs in both places?', it just is. This should get you going again.
Once your instance is up I would create copies of your controlfiles on different disks, just in case this ever happens again. Do this with the following command:
alter database backup controlfile to '<loc1>', '<loc2>';
You will generate two matched copies of the controlfile that can be used to start your instance if the originals fail.
-- David Fitzjarrell Oracle Certified DBA Sent via Deja.com http://www.deja.com/Received on Fri Jan 12 2001 - 14:55:46 CST
![]() |
![]() |