【oracle案例】ORA-01102: cannot mount database in EXCLUSIVE mode .
ORA-01102: cannot mount database in EXCLUSIVE mode
今天在fedora上安装完10g后,测试数据库是否安装成功。STARTUP数据库时,发生如下错误:
[plain] view plaincopyprint?
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 591396864 bytes
Fixed Size 1220724 bytes
Variable Size 167776140 bytes
Database Buffers 415236096 bytes
Redo Buffers 7163904 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 591396864 bytes
Fixed Size 1220724 bytes
Variable Size 167776140 bytes
Database Buffers 415236096 bytes
Redo Buffers 7163904 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
SQL> shutdown immediate
ORA-01507: database not mountedORACLE 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目录:
[plain] view plaincopyprint?
[oracle@localhost dbs]$ ls sgadef*
ls: cannot access sgadef*: No such file or directory
[oracle@localhost dbs]$ ls lk*
lkORCL
[oracle@localhost dbs]$
[oracle@localhost dbs]$ ls sgadef*
ls: cannot access sgadef*: No such file or directory
[oracle@localhost dbs]$ ls lk*
lkORCL
[oracle@localhost dbs]$
lk<sid>文件没有被删除。将它删除掉
[plain] view plaincopyprint?
[oracle@localhost dbs]$ rm lkORCL
[oracle@localhost dbs]$ rm lkORCL
再启动数据库,成功。
如果是Oracle进程没有关闭,用以下命令查出存在的oracle进程:
[plain] view plaincopyprint?
[root@localhost dbs]# ps -ef|grep oracle
root <SPAN class=skype_c2c_print_container>2310 2358 0 16</SPAN><SPAN dir=ltr class=skype_c2c_container tabIndex=-1 skype_menu_props='{"numberToCall":"+8623102358016","isFreecall":false,"isMobile":false,"isRtl":false}'><SPAN dir=ltr class=skype_c2c_highlighting_inactive_common skypeaction="skype_dropdown"><SPAN class=skype_c2c_textarea_span><IMG class=skype_c2c_logo_img alt="" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png"><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
oracle <SPAN class=skype_c2c_print_container>2311 2310 0 16</SPAN><SPAN dir=ltr class=skype_c2c_container tabIndex=-1 skype_menu_props='{"numberToCall":"+8623112310016","isFreecall":false,"isMobile":false,"isRtl":false}'><SPAN dir=ltr class=skype_c2c_highlighting_inactive_common skypeaction="skype_dropdown"><SPAN class=skype_c2c_textarea_span><IMG class=skype_c2c_logo_img alt="" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png"><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
root <SPAN class=skype_c2c_print_container>2427 2403 0 10</SPAN><SPAN dir=ltr class=skype_c2c_container tabIndex=-1 skype_menu_props='{"numberToCall":"+8624272403010","isFreecall":false,"isMobile":false,"isRtl":false}'><SPAN dir=ltr class=skype_c2c_highlighting_inactive_common skypeaction="skype_dropdown"><SPAN class=skype_c2c_textarea_span><IMG class=skype_c2c_logo_img alt="" src="resource://skype_ff_extension-at-jetpack/skype_ff_extension/data/call_skype_logo.png"><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
……
[root@localhost dbs]# ps -ef|grep oracle
root 2310 2358 0 162310 2358 0 16:00 pts/0 00:00:00 su - oracle
oracle 2311 2310 0 162311 2310 0 16:00 pts/0 00:00:00 -bash
root 2427 2403 0 102427 2403 0 10:47 pts/1 00:00:00 su - oracle
……
然后用kill -9命令杀掉进程
$kill -9 <PID>
总结:
当发生1102错误时,可以按照以下流程检查、排错:
1.如果是HA系统,检查其他节点是否已经启动实例;
2.检查Oracle进程是否存在,如果存在则杀掉进程;
3.检查信号量是否存在,如果存在,则清除信号量;
4.检查共享内存段是否存在,如果存在,则清除共享内存段;
5.检查锁内存文件lk<sid>和sgadef<sid>.dbf是否存在,如果存在,则删除。
转载于:https://blog.51cto.com/aixuexi/1415051
【oracle案例】ORA-01102: cannot mount database in EXCLUSIVE mode .相关推荐
- oracle数据库启动cannot mount database in EXCLUSIVE mode
启动oracle数据库,提示cannot mount database in EXCLUSIVE mode,开始没有注意,启动监听器也无法启动, 网络查询提示有程序占用进程 进行oracle用户下: ...
- ORACLE报错(5)ORA-01102: cannot mount database in EXCLUSIVE mode
ORACLE报错(5)ORA-01102: cannot mount database in EXCLUSIVE mode SQL> conn /as sysdba Connected to a ...
- ORA-01102: cannot mount database in EXCLUSIVE mode
今天在STARTUP一数据库时,发生如下错误: [oracle@bogon ~]$ sqlplus "/as sysdba" SQL*Plus: Release 11.2.0.1. ...
- cannot mount database in EXCLUSIVE mode
http://blog.csdn.net/xyz846/article/details/6684638
- oracle 增加ora容量_案例:Oracle报错ORA-01144 详解数据文件大小32GB的限制的原因
天萃荷净 Oracle数据文件大小的限制,运维DBA在向Oracle数据库添加一个32G的数据文件的时候报错ORA-01144,分析原因为数据库针对文件有32G限制 1.添加数据文件报错ORA-011 ...
- Oracle 11g 使用duplicate from active database 创建物理ADG
1.概述: 之前使用冷备的方式搭建了一个物理ADG环境,但是由于冷备需要停库.因此在一些大型库上使用这种技术就不怎么实用了,而使用duplicatefrom active database则必免了这种 ...
- 【oracle】oracle经典sql,exception,database link纠错
[oracle]oracle经典sql,exception,database link纠错 1111-01 oracle经典sql,exception,database link纠错 1.给表tabl ...
- oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例
天萃荷净 触发器实现指定用户登录oracle,分享一篇关于Oracle数据库安全策略,通过Oracle触发器实现限定user用户登录Oracle数据库的方法 1.创建允许登录用户表 CREATE TA ...
- oracle 11g安装时设密码 database control,安装oracle 11g 保护Database Control时出错,Database Control已在非安全模式下启动...
错误解决: 打开cmd C:\Users\lin>emctl status dbconsole Environment variable ORACLE_UNQNAME not defined. ...
最新文章
- 状态压缩dp(hdu2662)(我综合了一个人的解释和另一个人的代码)
- SD-WAN:MSP连接
- lnmp一键安装脚本
- linux 进程 ctrl-c,ctrl-z,ctrl-d
- Docker 的优势
- python 迭代器
- 详解 GNU C 标准中的 typeof 关键字
- 计算机控制课程设计体会,计算机控制技术课程设计报告
- jupyter生成数据集
- Caffe 之 使用非图片的鸢尾花(IRIS)数据集(hdf5格式) 训练网络模型
- 打开方式更改为计算机程序,Lnk打开方式被修改 快捷方式被其他应用程序强制关联...
- C++ Primer 第5版--练习10.35
- 硬盘缓存作用是什么,缓存是不是越大越好?
- 能ping通ip但无法ping通域名和localhost //ping: bad address 'www.baidu.com'
- python绘制contourf填色图,数值超出色条设定的范围时出现空白区域
- [HNOI2004]打鼹鼠 简单DP
- 微信小程序之兼容问题
- ​predis操作大全​
- golang浅拷贝与深拷贝
- ubuntu桌面便签_指标 – Stickynotes是您的Ubuntu桌面的粘滞便笺应用程序 | MOS86
热门文章
- LODOP使用问题解决汇总
- mysql 查看索引命中_请问下如何在Mysql中where与orderBy后在命中索引?
- cmake取消宏定义_Excel基础丨取消excel中宏安全提示框
- php 注入是什么意思,如何理解ThinkPHP框架里的依赖注入?
- 边缘检测robert原理_机器视觉尺寸检测基础
- my-innodb-heavy-4G.cnf 配置文件参数介绍
- Spring中解决事务以及异步注解失效
- [小结]InnoDB体系结构及工作原理
- php插入一个自增字段,thinkphp-自增或自减一个字段的值
- python sys模块_Python 基础(二十):sys 模块