故障处理:ORA-01034 - Oracle not available ORA-27101 - shared memory realm does not exist

oracle数据库由于服务器异常重启而宕机,重启数据库后,发现远程连接无法连接

报错如下:

ORA-01034 - Oracle not available

ORA-27101 - shared memory realm does not exist

以前遇到过类似的情况,多是由于之前oracle使用的共享内存没有正常释放,重启过数据库后即可。

这一次处理起来便是直接重启数据库,然后悲剧的发现还是报错如上。

查看监听,发现也能捕获到实例信息,觉得很奇怪。

后来到$ORACLE_HOME/dbs下面查看spfile文件,发现竟然有两个spfile,分别是实例名大写和小写,

当前默认是大写的,于是export为小写,发现数据库依然能够启动起来,但是不是旧库(该数据库做过迁移)

于是有了头绪,再次观察lsnrctl status输出信息,发现确实有问题了,实例信息捕获到的是小写的实例名。。。

我将listener.ora中的sid改成大写后。。。应用重启正常,远程可以连接。

问题分析推理:

首先由于存在一个小写的实例名,并且该实例是静态注册的方式,导致监听启动起来便能看到该小写实例的信息,从而误导了我,以为监听是正常的,捕获到了数据库的信息。其实不然,另一方面,由于大写的实例采用的是动态注册的方式,oracle异常停掉后没有找到该实例的注册信息。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值