当前位置:  数据库>oracle

Oracle数据库异常关闭后无法启动问题处理

    来源: 互联网  发布时间:2017-03-28

    本文导语: 某系统突然掉电,系统启动后发现 Oracle 无法启动。启动时报如下错误: ORA-01102 cannot mount database in EXCLUSIVE mode出现1102错误可能有以下几种可能: 一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上...

某系统突然掉电,系统启动后发现 Oracle 无法启动。启动时报如下错误:

ORA-01102 cannot mount database in EXCLUSIVE mode
出现1102错误可能有以下几种可能:

一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;

二、说明 oracle 被异常关闭时,有资源没有被释放,一般有以下几种可能,

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

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

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

首先,虽然我们的系统是HA系统,但是备节点的实例始终处在关闭状态,这点通过在备节点上查数据库状态可以证实。

其次、是因系统掉电引起数据库宕机的,系统在接电后被重启,因此我们排除了第二种可能种的1、2点。最可疑的就是第3点了。

查$ORACLE_HOME/dbs目录:

$ cd $ORACLE_HOME/dbs
$ ls sgadef*
sgadef* not found
$ ls lk*
lkORA92
果然,lk文件没有被删除。将它删除掉




$ rm lk*
再启动数据库,成功。

如果怀疑是共享内存没有被释放,可以用以下命令查看:

$ipcs -mop
IPC status from /dev/kmem as of Thu Jul 6 14:41:43 2006
T ID KEY MODE OWNER GROUP NATTCH CPID LPID
Shared Memory:
m 0 0×411c29d6 –rw-rw-rw- root root 0 899 899
m 1 0×4e0c0002 –rw-rw-rw- root root 2 899 901
m 2 0×4120007a –rw-rw-rw- root root 2 899 901
m 458755 0×0c6629c9 –rw-r—– root sys 2 9113 17065
m 4 0×06347849 –rw-rw-rw- root root 1 1661 9150
m 65541 0xffffffff –rw-r–r– root root 0 1659 1659
m 524294 0×5e100011 –rw——- root root 1 1811 1811
m 851975 0×5fe48aa4 –rw-r—– oracle oinstall 66 2017 25076
然后它ID号清除共享内存段:











$ipcrm –m 851975
对于信号量,可以用以下命令查看:

$ ipcs -sop
IPC status from /dev/kmem as of Thu Jul 6 14:44:16 2006
T ID KEY MODE OWNER GROUP
Semaphores:
s 0 0×4f1c0139 –ra——- root root
… …
s 14 0×6c200ad8 –ra-ra-ra- root root
s 15 0×6d200ad8 –ra-ra-ra- root root
s 16 0×6f200ad8 –ra-ra-ra- root root
s 17 0xffffffff –ra-r–r– root root
s 18 0×410c05c7 –ra-ra-ra- root root
s 19 0×00446f6e –ra-r–r– root root
s 20 0×00446f6d –ra-r–r– root root
s 21 0×00000001 –ra-ra-ra- root root
s 45078 0×67e72b58 –ra-r—– oracle oinstall
根据信号量ID,用以下命令清除信号量:














$ipcrm -s 45078
如果是 oracle 进程没有关闭,用以下命令查出存在的 oracle 进程:

$ ps -ef|grep ora
oracle 29976 1 0 Jun 22 ? 0:52 ora_dbw0_ora92
oracle 29978 1 0 Jun 22 ? 0:51 ora_dbw1_ora92
oracle 5128 1 0 Jul 5 ? 0:00 oracleora92 (LOCAL=NO)
… …
然后用kill -9命令杀掉进程




$kill -9
总结:

当发生1102错误时,可以按照以下流程检查、排错:

1.如果是HA系统,检查其他节点是否已经启动实例;
2.检查 oracle 进程是否存在,如果存在则杀掉进程;
3.检查信号量是否存在,如果存在,则清除信号量;
4.检查共享内存段是否存在,如果存在,则清除共享内存段;
5.检查锁内存文件lk和sgadef.dbf是否存在,如果存在,则删除。




    
 
 

您可能感兴趣的文章:

  • 深入理解Oracle数据库的启动和关闭
  • 如何启动和关闭安装在UNIX下的ORACLE数据库?
  • Oracle关闭SUN的开源项目
  • Linux平台启动关闭Oracle数据库
  • 请问,在unix下,关闭oracle数据库和重起unix,的正确顺序和命令应该是怎样的!请教!
  • 选择合适的Oracle数据库关闭方法
  • 技巧分享 Oracle数据库的启动和关闭
  • Oracle 10g和Oracle 11g网格技术介绍 iis7站长之家
  • [200分]在redhatlinux9中,关闭系统时,如何设置先自动关闭oracle9i数据库(急)
  • Oracle 9i 数据库异常关闭后的启动
  • oracle 服务启动,关闭脚本(windows系统下)
  • oracle 如何关闭打开归档日志
  • Oracle9i数据库异常关闭后的启动
  • Oracle数据库的启动与关闭方法
  • Linux As4单实例Oracle系统启动/关闭脚本
  • 深刻理解Oracle数据库的启动和关闭
  • DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)(对数据库进行各种维护操作)
  • ORACLE11g随RHEL5系统自动启动与关闭的设置方法
  • 修改oracle用户的.bash_profile之后无法正常登陆
  • 安装oracle9时,安装界面的字体无法正确显示,怎么解决啊???
  • 64位win7下pl/sql无法连接oracle解决方法
  • 安装oracle9的时候字符无法显示??
  • Linux下Oracle数据库,dbstart持续不动,数据库无法启动解决
  • linux新建oracle用户无法登陆系统 大家帮帮忙
  • Linux下Oracle RAC一个节点宕机导致共享存储无法挂载的故障排除
  • AS3安装Oracle 9.2.0前,打补丁出错,导致系统无法引导.大侠们帮忙
  • oracle9i安装时.installer启动后,界面无法显示中文.
  • Oracle数据库无法加载_OraMTS_的解决方法
  • Oracle 11G 无法连接到数据库实例故障排除
  • 我想配一个编程平台windowsXP+VisualStudio.net或者+Jbuilder,或Linux+oracle,用来做开发,我的电脑已经远远无法满足其要求,,不值
  • oracle修改SGA后无法启动问题分析及解决方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Linux系统下Oracle的启动与Oracle监听的启动
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 让Oracle服务随Linux系统的启动而启动
  • 配置Oracle management server /Oracle启动OMS
  • solaris9下怎么查看oracle服务是否启动,以及怎么启动,在线等待。
  • 启动oracle是报错了
  • Linux系统查看Oracle服务是否启动
  • linux下oracle的自启动脚本解析
  • linux oracle8.17 下的Management server 如何启动
  • Unix/Linux上启动oracle数据库
  • Linux下命令行启动oracle时报错的解决
  • Linux下如何启动ORACLE 的Managerment Server服务????
  • 记录Linux下一次oracle启动错误
  • 为何用dbstart启动oracle10g不好用
  • 高分求助:安装完oracle9i后启动不了
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • Linux下如何启动oracle的Listener服务??
  • Linux安装Oracle启动图形界面问题
  • 计算机名称修改后Oracle不能正常启动问题分析及解决
  • Oracle 12c发布简单介绍及官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • oracle 11g最新版官方下载地址
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3