[原创]ORA-01102: cannot mount database in EXCLUSIVE mode_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3536 | 回复: 0   主题: [原创]ORA-01102: cannot mount database in EXCLUSIVE mode        下一篇 
潇湘隐者
注册用户
等级:少校
经验:871
发帖:52
精华:2
注册:2014-3-29
状态:离线
发送短消息息给潇湘隐者 加好友    发送短消息息给潇湘隐者 发消息
发表于: IP:您无权察看 2014-4-10 16:45:27 | [全部帖] [楼主帖] 楼主

安装完ORACEL 10g数据库后,启动数据库时遇到ORA-01102: cannot mount database in EXCLUSIVE mode

[oracle@DB-Server ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 10 13:53:08 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 5033164800 bytes
Fixed Size 2027672 bytes
Variable Size 905973608 bytes
Database Buffers 4110417920 bytes
Redo Buffers 14745600 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode


查看告警日志文件,发现有ORA-09968: unable to lock file 和Linux-x86_64 Error: 11: Resource temporarily unavailable等错误

[oracle@DB-Server bdump]$ tail -20f alert_epps.log 

SMON started with pid=8, OS id=24482

RECO started with pid=9, OS id=24484

CJQ0 started with pid=10, OS id=24486

MMON started with pid=11, OS id=24488

Thu Apr 10 13:53:42 2014

starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...

MMNL started with pid=12, OS id=24490

Thu Apr 10 13:53:42 2014

starting up 1 shared server(s) ...

Thu Apr 10 13:53:42 2014

ALTER DATABASE MOUNT

Thu Apr 10 13:53:42 2014

sculkget: failed to lock /u01/app/oracle//product/10.2.0/db_1/dbs/lkEPPS exclusive

sculkget: lock held by PID: 20337

Thu Apr 10 13:53:42 2014

ORA-09968: unable to lock file

Linux-x86_64 Error: 11: Resource temporarily unavailable

Additional information: 20337

Thu Apr 10 13:53:42 2014

ORA-1102 signalled during: ALTER DATABASE MOUNT...

'第一次遇到这种情况,于是网上搜索了一下资料,找到一篇相关文章 http://blog.itpub.net/12272958/viewspace-716020,介绍了出现这种错误的三种情况:

 a、 Oracle的共享内存段或信号量没有被释放;

 b、 Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭;

 c、 用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除。

看了文章前面一部分。便武断的觉得应该是第三者情况(由于告警日志中出现了相关信息):“用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除”。于是动手操作(太心急,这毛病老是难以改变),关闭数据库实例,删除/u01/app/oracle/product/10.2.0/db_1/dbs/lkEPPS文件后,重新启动数据库。结果作者的经历又在我身上重演了一次。

启动时候报ORA-00205错误

SQL> shutdown immediate; ORA-01507: database not mounted ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 5033164800 bytes Fixed Size 2027672 bytes Variable Size 905973608 bytes Database Buffers 4110417920 bytes Redo Buffers 14745600 bytes ORA-00205: error in identifying control file, check alert log for more info


查看告警日志,有如下错误信息:

RECO started with pid=9, OS id=24887 CJQ0 started with pid=10, OS id=24889 MMON started with pid=11, OS id=24891 Thu Apr 10 14:04:05 2014 starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'... MMNL started with pid=12, OS id=24894 Thu Apr 10 14:04:06 2014 starting up 1 shared server(s) ... Thu Apr 10 14:04:06 2014 ALTER DATABASE MOUNT Thu Apr 10 14:04:06 2014 ORA-00202: control file: '/u01/app/oracle/oradata/epps/control01.ctl' ORA-27086: unable to lock file - already in use Linux-x86_64 Error: 11: Resource temporarily unavailable Additional information: 8 Additional information: 20341 Thu Apr 10 14:04:09 2014 ORA-205 signalled during: ALTER DATABASE MOUNT...


于是索性静下心来多了解一下这个问题,在网上查看了大量关于ORA-01102的文章。这篇博客 http://blog.itpub.net/20674423/viewspace-711545对这个问题阐述得比较清晰。下面是Metalink关于ORA-01102的解释以及解决方法:

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<sid>.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<sid>" 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<sid>.dbf" file in the directory "ORACLE_HOME/dbs".
% ls $ORACLE_HOME/dbs/sgadef<sid>.dbf If this file does exist, remove it.
% rm $ORACLE_HOME/dbs/sgadef<sid>.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 <rocess_ID_Number>
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 <Shared_Memory_ID_Number>
and remove the semaphores
% ipcrm -s <Semaphore_ID_Number>
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<sid>" file does not exist
5. Startup the instance
Solution Explanation:
=====================
The "lk<sid>" and "sgadef<sid>.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.


参考资料:

http://blog.itpub.net/12272958/viewspace-716020
http://blog.itpub.net/20674423/viewspace-711545


该贴被潇湘隐者编辑于2014-4-10 22:44:07

该贴由hui.chen转至本版2014-11-5 16:24:21




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论