-
Hi friends,
By mistake I deleted the control file. But I have a old copy of that, with that I started the database. Instance started but finally, it gives error #ora01102-cannot mount the db in EXCLUSIVE mode. How can I open the DB in the situation. Pl help me.Thanks in advance.
Bye
Siva
-
If you have backup copy from the back to the right location, if not copy from one of your control file and rename it to the file that was deleted( I hope you have more than one file).
shutdown the database and start up, you won't have any problem.
-
if u have multiple controlfiles , then u can just copy from the mirrored copy, else startup nomount and
recreate the controlfile using create controlfile.
-
thanks gpsingh and mike73,
The problem is I dont have backup copy of the file that I deleted. I have very old one, with that I have problem So I created te control in Nomount stage by using following script
create controlfile database "test" noresetlogs
maxlogfiles 32
maxlogmembers 2
maxdatafiles 1
maxloghistory 1815
logfile
group 1 'c:\oracledb\log1test.ora',
group 2 'c:\oracledb\log2test.ora'
datafile
'c:\oracledb\systest.ora'
;
I end up with follwoing errors, control file creation failed and
ora-01158, Database already mounted,
I started the database with Nomount only.
I dont know Where I went wrong. Pl hlep me
bye
siva
-
After creating the controlfile, shutdown the database, execute the controlfile
kishore
-
Try shutdown abort;
and then startup nomount again..
-
there must be another message accompanying this message , reuse before database keyword
and be sure u have the current logfiles.
then do startup nomount and create the controlfle.I hope the database is not already corrupt.
-
Is the control file script correct?, I have not disturbed any other file.Only I deleted was control file.
repeatedly I am getting similar error message
bye
Siva
-
Send other error messages in detail...
There should be some more messages..
-
this waht I have done
SVRMGR> startup pfile=c:\oracledb\inittest.ora nomount
ORACLE instance started.
Total System Global Area 8509232 bytes
Fixed Size 46136 bytes
Variable Size 7529208 bytes
Database Buffers 409600 bytes
Redo Buffers 524288 bytes
SVRMGR> @c:\oracledb\control.sql
create controlfile database "test" noresetlogs
*
ORA-01503: CREATE CONTROLFILE failed
ORA-01158: database already mounted
SVRMGR>
this is what I got, I have no error message.
Pl help me
BYe
siva
-
try shutdown abort;
and then
do startup nomount pfile='....../...'
looks like ur instance was never mounted...
Or I think since none of the control files are there instance cannot be mounted...
check metalink if u have access to it..
-
Hi b4 trying to create control file, stop and start the oracle service which u r trying to recreate the control file..
it will may work out...
let me know the result..
regards!
peri
-
Check out the foll:-
1. You cannot create controlfiles at mount stage. Your DB has to be in nomount stage.
2. Before you attempt anything, backup all your files just in case something goes wrong. This is very important.
Now for the recovery part -
1. If multiple copies of controlfiles, you can simply copy your 2nd controlfile to your 1st controlfile directory and rename it. (do this while your db is shutdown.)
2. IF you have an old copy of your controlfile then
startup mount pfile ....
alter database recover using backup controlfile.
3. Another option will be to recreate it.
startup nomount pfile...
run your create controlfile sql here.
Check out your alert logs .
-
This may be related to bug 855721 which is a problem in the way that NT handles semaphores during the mount process. This evidently doesn't occur all the time, but can be reproduced as follows:
1. Mount database failed (due to controlfile corrupted).
2. Restore controlfile.
3. Mount database again without shutdown -> Problem occured!
When tried to mount the database, got ORA-1102(cannot
mount database in EXCLUSIVE mode) and found following error in alert.log.
Once this error occured, they can not mount the database even though they
shutdowned the database.
.
ORA-09341: scumnt: unable to mount database
OSD-04400: unable to acquire internal semaphore for process
O/S-Error: (OS 183) Cannot create a file when that file already exists.
This error occured only when they tried to mount database twice. And
first try failed with error. For example..
.
1. Mount database failed (due to controlfile corrupted).
2. Restore controlfile.
3. Mount database again without shutdown -> Problem occured!
.
oracle80.exe create a semaphore scumntsem_ at mount. But this
semaphore is not released properly when mount failed. I guess the handle
of semaphore is lost at above situation and oracle80.exe can not release
it correctly. To mount the database, the service of oracle database have
to be restarted.
This problem don't occur on solaris, so this is port specific problem.
And I confirmed this problem occurs on all release of Oracle8 for
WindowsNT.
Solution :To restart service.
1. Start Service.
2. Startup nomount.
2. Rename controlfile to another name.
3. Mount database(alter database mount) -> ORA-205 occurs.
4. Rename controlfile to original name.
5. Mount database(alter database mount) -> ORA-1102 occurs(reproduced!).