记录一次ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exis故障【已解决】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41885819/article/details/102505810

本地ORACLE数据库使用了很久了,一直没问题,但是,昨天突然就无法登陆。
报错信息为:ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exis。
百度了好久,都没有查到有效的解决方案,不过在这个过程中也还是对某些文件配置有了更多的了解。

首先建议熟悉以下四个CMD命令,可以方便有效的启动/停止数据库服务和监听服务,毕竟调试过程中会多次地启动/关闭服务和监听。

--启动数据库实例服务(其中oracleserviceorcl为你的数据库实例服务名,可以通过cmd-service.msc查看你的数据库服务名)
net start oracleserviceorcl
--停止数据库实例服务
net start oracleserviceorcl
--启动数据库监听
lsnrctl start
--停止数据库监听
lsnrctl stop

关于这个问题的答案,网上的说辞很多,我大部分都一一尝试了,但是还是没有解决问题。其中,有个方法是查看系统用户和组,但我自身是win10家庭中文版的,所以没有那个功能,网上给出的处理方法是升级系统,但直觉告诉我这种涉及到变更系统或者注册表配置的做法,大多数都不可行,所以决定另辟蹊径。

在D:\app\44972\admin\orcl\pfile(44972为本地用户名)目录下
有名为init.ora的文件,我第一次打开这个目录时,里面有两个文件,并且后面都是跟着一串数字的。网上有方法说把这串数组去掉,但我测试过后,这个方法并不奏效。

在D:\app\44972\product\11.2.0\dbhome_1\NETWORK\ADMIN(44972为本地用户名)目录下
有三个特别重要的ora文件,分别是listener.ora、sqlnet.ora、tnsnames.org,跟网上的方法修改了很多地方,都没有奏效。
打开init.ora文件中注意到一下这段

###########################################
# Network Registration
###########################################
local_listener=LISTENER_ORCL

然后下面是tnsnames.ora的部分

# tnsnames.ora Network Configuration File: D:\app\44972\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
#ORACLR_CONNECTION_DATA =
#  (DESCRIPTION =
#    (ADDRESS_LIST =
#      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
#    )
#    (CONNECT_DATA =
#      (SID = CLRExtProc)
#      (PRESENTATION = RO)
#    )
#  )

#LISTENER_ORCL =
#(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  
#本机数据库  
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = wuwl)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
    )
  )

在tnsnames.ora文件中关于listener_orcl的信息被注释掉了,将前面的#号去掉,重启服务和监听,居然一下子就可以连接了。

tnsnames.ora这个文件确实修改过几次,来配置数据库别名信息。隐约记得那条注释信息是自己注释掉的,但是注释过后又用了好久才出现这次的连接异常。也有可能一直都没有注释掉,是自己记错了。但是出现异常前,plsql异常关闭了好几次,多半这与本次连接异常有直接关联。

猜你喜欢

转载自blog.csdn.net/qq_41885819/article/details/102505810