为本机上oracle_sid为test1的数据库配置好了监听,
SQL> conn sys/kyll@test1 as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1218944 bytes
Variable Size 88082048 bytes
Database Buffers 184549376 bytes
Redo Buffers 7168000 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
先去$ORACLE_HOME/dbs目录下查看了下lkTEST1
[oracle@edison dbs]$ /sbin/fuser -u lkTEST1
没有返回结果,
证明了该数据库并没有被锁定。
于是google下,
还是从metalink上找到的解决方法:
如下:
from metalink
ORA-01102: cannot mount database in EXCLUSIVE mode
Hello,
I get the error ORA-01102: cannot mount database in EXCLUSIVE mode when
trying to startup second sid on my Windows NT server. The first sid
comes up sucessfully. I tried the following ways but still not able to
resolve the issue:
1. shutdown both the databases and do
set oracle_sid=sid1
startup pfile=
The first database comes up fine but the second database fails even though I follow the above said procedure.
2. startup force the first database and do a normal startup of the second. It still doesn't work.
Please let me know if there is any workaround for this.
Thanks in advance
nct
nirmala tammineni
--------------------------------------------------------------------------------
From: Oracle, Kalpana Malligere 26-Dec-00 17:50
Subject: Re : ORA-01102: cannot mount database in EXCLUSIVE mode
Hello,
Please refer to the 'Oracle 8i Administrator's Guide for Windows NT', Chapter 3.
Did you set the ORACLE_SID =SID2 for the second database or you use a
Net8 alias to specify which database you are connecting to? When you
start your session SET ORACLE_SID = the second database SID to override
the predefined reg entry for the first database. Are you issuing the
right "startup pfile= " when starting up either database to make sure
you are using the correct control file(s) for the desired database.
This is almost always the cause of these types of problems because you
are not starting the database you think are. Also have you looked in
the alert.log for additional errors?
Are the database names unique? From Server Administrator's Guide: "A
database's global database name...is created by setting both the
DB_NAME and DB_DOMAIN parameters before database creation. ...The
combination of the settings for these two parameters should form a
database name that is unique within a network. You still get ORA-1102
if you try to mount two different databases with the same ORACLE_HOME
and database name when the DB_DOMAIN's are different, but even so the
documentation makes it clear that the intention is that the database
name must be unique."
Where are the two databases located? You can have this second database
in another Oracle_home if you want, either way it should work. The
decision of having multiple databases is one Oracle_home is yours. At
the security level concern is, if an unauthorized (disgruntled) user is
able to login as the software owner (DBA) they can do whatever they
want to ALL the databases in that ORACLE_HOME. However if you have
multiple ORACLE_HOMEs with different software owners, you limit your
risk of this happening because the person would need to have the
capability to login as the "oracle" user for each ORACLE_HOME.
Thanks!
Kalpana
Oracle Technical Support
看了这一段,我恍然大悟,
[oracle@edison dbs]$ grep db_name $ORACLE_HOME/dbs/inittest1.ora
db_name=ora92
原来我startup的居然是ora92而非test1.
此时ora92已经open了,所以肯定不能再次被mount了,
最后修改$ORACLE_HOME/dbs/inittest1.ora中db_name=test1,
再startup就ok了
阅读(2633) | 评论(0) | 转发(0) |