ORA-01102: cannot mount database in EXCLUSIVE mode

今天在fedora上安装完10g后,测试数据库是否安装成功。STARTUP数据库时,发生如下错误:
 
 
  1. SQL> conn /as sysdba
  2. Connected to an idle instance.
  3. SQL> startup
  4. ORACLE instance started.
  5. Total System Global Area  591396864 bytes
  6. Fixed Size                   1220724 bytes
  7. Variable Size             167776140 bytes
  8. Database Buffers         415236096  bytes
  9. Redo Buffers                 7163904 bytes
  10. ORA-01102: cannot mount database in EXCLUSIVE mode
  11. SQL> shutdown immediate
  12. ORA-01507: database not mounted
  13. ORACLE instance shut down.
 
出现ORA-1102错误可能有以下几种可能:
一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;
二、说明Oracle被异常关闭时,有资源没有被释放,一般有以下几种可能,
1、 Oracle的共享内存段或信号量没有被释放;
2、 Oracle的后台进程(如SMON、PMON、DBWn等)没有被关闭;
3、 用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除。
 
第一点,可以通过在备节点上查数据库状态来判断是否已启动实例。
第二点,如果系统是因为断电引起数据库宕机的,并且系统在接电被重启后,我们可以排除第二种可能的1、2点。接下来考虑第3点。
查$ORACLE_HOME/dbs目录:
  1. [oracle@localhost dbs]$ ls sgadef*
  2. ls: cannot access sgadef*: No such file or directory
  3. [oracle@localhost dbs]$ ls lk*
  4. lkORCL
  5. [oracle@localhost dbs]$

lk<sid>文件没有被删除。将它删除掉

  1. [oracle@localhost dbs]$ rm lkORCL
再启动数据库,成功。

如果是Oracle进程没有关闭,用以下命令查出存在的oracle进程:
  1. [root@localhost dbs]# ps -ef|grep oracle
  2. root      <span class="skype_c2c_print_container">2310  2358  0 16</span><span class="skype_c2c_container" dir="ltr" tabindex="-1" skype_menu_props="{"numberToCall":"+8623102358016","isFreecall":false,"isMobile":false,"isRtl":false}"><span class="skype_c2c_highlighting_inactive_common" dir="ltr" skypeaction="skype_dropdown"><span class="skype_c2c_textarea_span"><img class="skype_c2c_logo_img" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png" alt=""><span class="skype_c2c_text_span">2310  2358  0 16</span><span class="skype_c2c_free_text_span"></span></span></span></span>:00 pts/0    00:00:00 su - oracle
  3. oracle    <span class="skype_c2c_print_container">2311  2310  0 16</span><span class="skype_c2c_container" dir="ltr" tabindex="-1" skype_menu_props="{"numberToCall":"+8623112310016","isFreecall":false,"isMobile":false,"isRtl":false}"><span class="skype_c2c_highlighting_inactive_common" dir="ltr" skypeaction="skype_dropdown"><span class="skype_c2c_textarea_span"><img class="skype_c2c_logo_img" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png" alt=""><span class="skype_c2c_text_span">2311  2310  0 16</span><span class="skype_c2c_free_text_span"></span></span></span></span>:00 pts/0    00:00:00 -bash
  4. root      <span class="skype_c2c_print_container">2427  2403  0 10</span><span class="skype_c2c_container" dir="ltr" tabindex="-1" skype_menu_props="{"numberToCall":"+8624272403010","isFreecall":false,"isMobile":false,"isRtl":false}"><span class="skype_c2c_highlighting_inactive_common" dir="ltr" skypeaction="skype_dropdown"><span class="skype_c2c_textarea_span"><img class="skype_c2c_logo_img" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png" alt=""><span class="skype_c2c_text_span">2427  2403  0 10</span><span class="skype_c2c_free_text_span"></span></span></span></span>:47 pts/1    00:00:00 su - oracle
  5. ……
然后用kill -9命令杀掉进程
$kill -9 <PID>
 
总结:
当发生1102错误时,可以按照以下流程检查、排错:

1.如果是HA系统,检查其他节点是否已经启动实例;

2.检查Oracle进程是否存在,如果存在则杀掉进程;

3.检查信号量是否存在,如果存在,则清除信号量;

4.检查共享内存段是否存在,如果存在,则清除共享内存段;

5.检查锁内存文件lk<sid>和sgadef<sid>.dbf是否存在,如果存在,则删除。

来源: www.HelloDBA.com

【oracle案例】ORA-01102: cannot mount database in EXCLUSIVE mode的更多相关文章

  1. ORA-01102: cannot mount database in EXCLUSIVE mode

    安装完ORACEL 10g数据库后,启动数据库时遇到ORA-01102: cannot mount database in EXCLUSIVE mode [oracle@DB-Server ~]$ s ...

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

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

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

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

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

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

  5. cannot mount database in EXCLUSIVE mode

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

  6. Oracle sqlnet.ora配置

    Oracle sqlnet.ora配置 sqlnet.ora的作用(官网指出的)   www.2cto.com 1.限制客户端访问(如指定客户端域为不允许访问) 2.指定命名方法(local nami ...

  7. oracle tnsnames.ora文件用法说明

      oracle tnsnames.ora文件用法说明 CreationTime--2018年8月10日08点32分 Author:Marydon 1.用途 oracle客户端所需要的一个文件,通过该 ...

  8. Oracle GoldenGate 支持 从SAP HANA database抽取或者复制数据到SAP HANA database 吗?

    Oracle GoldenGate 支持 从SAP  HANA database抽取或者复制数据到SAP HANA database 吗? 来源于: Does Oracle GoldenGate Su ...

  9. Oracle案例04——ORA-39700: database must be opened with UPGRADE option

    Oracle11.2.0.3数据库通过rman备份到Oracle11.2.0.4上做还原,报需要升级的错误,具体处理步骤如下: 一.错误信息 SQL> alter database open r ...

随机推荐

  1. Guice 4.1教程

    Guice是Google开发的一个开源轻量级的依赖注入框架,运行速度快,使用简单. 项目地址:https://github.com/google/guice/ 最新的版本是4.1,本文基于此版本. 0 ...

  2. 搞懂ZooKeeper的Watcher之源码分析及特性总结

    前言 本章讲ZooKeeper重要的机制,Watcher特性.ZooKeeper允许客户端向服务端注册Watcher监听,当服务端一些指定事件触发了这个Watcher,那么就会向指定客户端发送一个事件 ...

  3. 你知道如何在springboot中使用redis吗

    特别说明:本文针对的是新版 spring boot 2.1.3,其 spring data 依赖为 spring-boot-starter-data-redis,且其默认连接池为 lettuce ​  ...

  4. php类中静态变量与常亮的区别

    在效率上:常量编译过程比静态变量快的多. 代码: <?php error_reporting(E_ALL); class A { const c = 9; public static $b = ...

  5. ios文件管理

    <Application_Home>/AppName.app This is the bundle directory containing the applicationitself. ...

  6. Oracle Forms Project For Students Free Download

    After getting to much requests for a free Oracle Forms and Reports project for students, I am sharin ...

  7. python数据分析入门学习笔记儿

    学习利用python进行数据分析的笔记儿&下星期二内部交流会要讲的内容,一并分享给大家.博主粗心大意,有什么不对的地方欢迎指正~还有许多尚待完善的地方,待我一边学习一边完善~ 前言:各种和数据 ...

  8. getchar()和getch()的区别

    1.getchar();从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码:若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区.若程序中有后 ...

  9. 用PROXYCHAINS实现SSH全局代理

    NUX下可以实现SSH全局代理的软件有tsocks和proxychains两种,但是个人感觉proxychains要更加稳定简单. $ yum install proxychains # vim /e ...

  10. 如何让<input type="text" />中的文字居中

    高(height)和行高(line-height)相等.不能用vertical-align