安装完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

ORA-01102: cannot mount database in EXCLUSIVE mode的更多相关文章

  1. 错误 ORA-01102: cannot mount database in EXCLUSIVE mode 的处理方法

    今天启动数据库时报错了! SQL> startup mount ORACLE instance started. Total System Global Area  608174080 byte ...

  2. 【oracle案例】ORA-01102: cannot mount database in EXCLUSIVE mode

    ORA-01102: cannot mount database in EXCLUSIVE mode 今天在fedora上安装完10g后,测试数据库是否安装成功.STARTUP数据库时,发生如下错误: ...

  3. 解决rac错误 ORA-01102: cannot mount database in EXCLUSIVE mode

    启动 Oracle  11g RAC数据库时出现以下错误.只能启动其中一个节点(rac01),另一个节点启动不了(rac02).可能是以前修改cluster_database这个参数引起的.在Orac ...

  4. cannot mount database in EXCLUSIVE mode

    http://blog.csdn.net/xyz846/article/details/6684638

  5. oracle静默安装完成后,重启数据库,错误ORA-01102: cannot mount database in EXCLUSIVE mode

    静默安装oracle完成后,登录数据库激活用户,无法更改,提示未载入数据库,关闭后重启报错: 1.找到安装目录下的$ORACLE_HOME/dbs/ 目录下,查看当前使用lkORCL文件的用户(fus ...

  6. ORA-01507: database not mounted

    今天启动数据库时报错了! SQL> startup mount ORACLE instance started. Total System Global Area  608174080 byte ...

  7. 【ORA】ORA-01033,ORA-09968,ORA-01102

    [oracle@oracle ~]$ imp xxxx/user file=/usr/local/src/666.dmp full=y buffer=40960000 Import: Release ...

  8. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  9. Linux安装oracle 10g常见问题之——ORA-01078,LRM-00109,ORA-01102

    [oracle@toughhou database]$ sqlplus /nolog SQL> conn / as sysdba SQL> startup ORA-01078: failu ...

随机推荐

  1. iOS编译FFmpeg、kxmovie实现视频播放 (转载)

    由于FFmpeg开源框架的功能非常强大,可以播放的视频种类很多,同时添加第三方库kxmovie,实现视频播放,真的是爽爆了,因此今天来说一下关于FFmpeg在iOS手机上的一些配置过程,配置工具,还有 ...

  2. 实验记录:Oracle redo logfile的resize过程

    实验记录:Oracle redo logfile的resize过程. 实验环境:RHEL 6.4 + Oracle 11.2.0.3 单实例 文件系统 实验目的:本实验是修改redo logfile的 ...

  3. 1Z0-053 争议题目解析577

    1Z0-053 争议题目解析577 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 577.What methods are available to recover lost co ...

  4. C# 中实现单例模式

    文章目录 简介 不安全线程的单例模式 简单安全线程带锁 双重检查 - 带锁 安全初始化 安全并且懒汉式静态初始化 带泛型的懒汉式单例 异常 提高效率 总结 简介 单例模式是软件工程中广为人知的设计模式 ...

  5. Zend Studio主题的设置

    用了两年的Zend Studio,一直是默认的白色主题,让人都产生了视觉疲劳,今天才发现Zend Studio的设置方法: 步骤1:help–>install new software…

  6. springmvc原理

    今天面试碰到一个特别恶心的公司面试官.是一个金融公司,过去后告诉我2点上班,带我去见经理.经理找人面试,看起来没有hr,经理直接看简历招人.经理上来就问我是xxx大学的,我说是,然后等面试官.面试官来 ...

  7. 《C#并发编程经典实例》笔记

    1.前言 2.开宗明义 3.开发原则和要点 (1)并发编程概述 (2)异步编程基础 (3)并行开发的基础 (4)测试技巧 (5)集合 (6)函数式OOP (7)同步 1.前言 最近趁着项目的一段平稳期 ...

  8. Win10 UWP 开发系列:使用多语言工具包让应用支持多语言

    之前我在一篇blog中写过如何使用多语言工具包,见http://www.cnblogs.com/yanxiaodi/p/3800767.html 在WinEcos社区也发布过一篇详细的文章介绍多语言工 ...

  9. roleManager与角色管理授权

    总览地址 https://msdn.microsoft.com/zh-cn/library/9ab2fxh0.aspx 其中基本概述是第一篇:了解角色管理 来自 <https://msdn.mi ...

  10. DevExtreme 学习应用[2]

    DevExtreme 学习应用[2] 调用WebService数据 1那么首先建立WebService using System; using System.Collections.Generic; ...