Hi ,
while starting the database i am getting the following error.
ORA-01102 cannot mount database in EXCLUSIVE mode
How to resolve this.
Printable View
Hi ,
while starting the database i am getting the following error.
ORA-01102 cannot mount database in EXCLUSIVE mode
How to resolve this.
If you are on NT, type first SET ORACLE_SID=DB_SID and then try to startup. On Unix, type ORACLE_SID=DB_SID, then type export ORACLE_SID and then startup.
OPS or not?
I am on NT.I am doing the same thing.
Set oracle_sid=db_name
svrmgrl
connect internal
startup
Still i am getting the same error.
Hi amit,
Did you try to specify the init.ora for this instance in the startup command:
set oracle_sid=SID2
startup pfile=PATH where your pfile is.
Hope that helps
Angel
Problem Description:
====================
You are trying to startup the database and you receive the following error:
ORA-01102: cannot mount database in EXCLUSIVE mode
Cause: Some other instance has the database mounted exclusive
or shared.
Action: Shutdown other instance or mount in a compatible mode.
Problem Explanation:
====================
A database is started in EXCLUSIVE mode by default. Therefore, the
ORA-01102 error is misleading and may have occurred due to one of the
following reasons:
- there is still an "sgadef.dbf" file in the "ORACLE_HOME/dbs"
directory
- the processes for Oracle (pmon, smon, lgwr and dbwr) still exist
- shared memory segments and semaphores still exist even though the
database has been shutdown
- there is a "ORACLE_HOME/dbs/lk" file
Search Words:
=============
ORA-1102, crash, immediate, abort, fail, fails, migration
Solution Description:
=====================
Verify that the database was shutdown cleanly by doing the following:
1. Verify that there is not a "sgadef.dbf" file in the directory
"ORACLE_HOME/dbs".
% ls $ORACLE_HOME/dbs/sgadef.dbf
If this file does exist, remove it.
% rm $ORACLE_HOME/dbs/sgadef.dbf
2. Verify that there are no background processes owned by "oracle"
% ps -ef | grep ora_ | grep $ORACLE_SID
If background processes exist, remove them by using the Unix
command "kill". For example:
% kill -9
3. Verify that no shared memory segments and semaphores that are owned
by "oracle" still exist
% ipcs -b
If there are shared memory segments and semaphores owned by "oracle",
remove the shared memory segments
% ipcrm -m
and remove the semaphores
% ipcrm -s
NOTE: The example shown above assumes that you only have one
database on this machine. If you have more than one
database, you will need to shutdown all other databases
before proceeding with Step 4.
4. Verify that the "$ORACLE_HOME/dbs/lk" file does not exist
5. Startup the instance
Solution Explanation:
=====================
The "lk" and "sgadef .dbf" files are used for locking shared memory.
It seems that even though no memory is allocated, Oracle thinks memory is
still locked. By removing the "sgadef" and "lk" files you remove any knowledge
oracle has of shared memory that is in use. Now the database can start.
Basri
STARTUP PFILE=C:\ORACLE\.... Give the complete init.ora name.Quote:
connect internal
startup
Still i am getting the same error.
Julian,
I have also tried the same ,giving startup pfile =' '
,still the same problem.
Thanks
Amits,
Have you tried to shutdown cleanly (shutdown immediate) and then startup pfile= ..... I think there are background processes crashed on your machine.
Hope that helps
Angel
That's very possible. Try that! Shutdown first, even with abort if immediate does not help.Quote:
Originally posted by aarroyob
Amits,
Have you tried to shutdown cleanly (shutdown immediate) and then startup pfile= ..... I think there are background processes crashed on your machine.
Hope that helps
Angel
Amits,
Could you connect to the instance via sql plus. I think you will continue with error, but which error ?
Angel
look your alert and trace files
Thanks a lot,
I have restarted the server,now it is ok.
Nice to hear you resolved that :-)
this doc may help:
Bookmark Fixed font Go to End
Doc ID: Note:136214.1
Subject: Oracle8i: Startup, Shutdown Related Registry Entries on WindowsNT & Windows2000
Type: BULLETIN
Status: PUBLISHED
Content Type: TEXT/PLAIN
Creation Date: 26-FEB-2001
Last Revision Date: 26-SEP-2001
PURPOSE
To give an overview of the startup and shutdown related registry entries
for Oracle8i on WindowsNT and Windows2000.
SCOPE & APPLICATION
Oracle8i for WindowsNT and Windows2000.
Overview of the startup and shutdown related entries:
=====================================================
Note: there are three bugs associated with this functionality:
Shows that the shutdown options are not working on 8.1.7.0.0.
8.1.5 and 8.1.6 are NOT affected by this bug.
A fix is available in 8.1.7.1.1.
[BUG:724051]:
A WindowsNT shutdown does not perform a clean database shutdown due to
a change in behavior from WindowsNT SP4 and higher versions.
Stopping the service itself is working fine, the fix is placing an
ORAIMR8.dll in the Oracle_home\bin directory of the 8.1.6 database.
The dll itself is included in 8.1.7.0.0 and 8.1.6.3.1.
This bug occurs using SQLNET.AUTHENTICATION_SERVICES= (NTS) in
the sqlnet.ora, the 8.1.7.0.0 service will not open the database, and an
ORA-12640 is reported in the ORACLE_HOME\database\oradim.log.
The fix is available on MetaLink. It is patch 1522966, for
Product:SQL*Net, Platform:MS WindowsNT.
This problem occurs only on Windows2000, not on WindowsNT.
You need to have the following entries in the registry in
HKLM\SOFTWARE\ORACLE\HOMEx (where x = from 0 to ...):
Note: You can check if you are using the correct Oracle home by the variables
ORACLE_HOME (gives the path) and ORACLE_HOME_NAME (gives the oracle home
name) in the HKLM\SOFTWARE\ORACLE\HOMEx key.
Replace the _SID_ in the following entries with the SID of your database.
To Enable the "clean shutdown" of a Database when Stopping the Service:
=======================================================================
ORA_SID_SHUTDOWN:
Possible values: TRUE or FALSE.
Set this to TRUE to enable the proper shutdown of the database.
ORA_SID_SHUTDOWN_TIMEOUT:
Possible values: timeout in seconds (30 for example).
Sets the maximum time (in seconds) to wait for the shutdown to complete
before the service for a particular SID stops.
This timeout should be set high enough to give the database time to complete
the shutdown.
If this is lower then the time needed, you will not have a clean shutdown!
You can check this in the alert log.
ORA_SID_SHUTDOWNTYPE:
Possible Values: i , t , a
where n = shutdown normal
i = shutdown immediate
and a = shutdown abort
If the entries are not set, stopping a service will be WORSE then a shutdown
abort. WindowsNT and Windows2000 will just "clean" the memory. (This could be
compared to a 'kill -9' on a Unix system). This is likely to make any cold
backup useless.
Please also note there is another WindowsNT parameter called:
"WaitToKillServiceTimeout"
found in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control expressed in
microseconds (1000 microseconds make one second). This timeout should ALSO be
set high enough to give the database time to complete the shutdown (the default
is 20000). Contact Microsoft for more information about this parameter.
To enable the automatic opening of the database when you start the service:
===========================================================================
ORA_SID_AUTOSTART:
Possible values: TRUE or FALSE.
Set this to TRUE to enable the automatic startup of the database.
ORA_SID_PFILE:
Possible values: the full path to the init.ora file
(d:\ora8i\admin\pfile)
References:
===========
[BUG:724051] SHUTDOWN IMMEDIATE NOT ISSUED WHEN NT SERVER IS SHUTDOWN
.
--------------------------------------------------------------------------------
Copyright (c) 1995,2000 Oracle Corporation. All Rights Reserved. Legal Notices and Terms of Use.
good one
[Edited by ybadejo on 11-30-2001 at 11:29 AM]