解决oracle11g连接失败 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

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第1张图片

 一顿操作,终于搞清楚解决办法。将过程记录下来:

1.检查Oracle相关服务是否已启动

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第2张图片

咦。这么一看,是我的OracleOraDb11g_home1TNSListener服务没有启动,马上启动它!

然而我在启动OracleOraDb11g_home1TNSListener时又遇到这个问题:

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第3张图片

 2. 解决 - OracleOraDb11g_home1TNSListener服务启动后停止

网上找的别人给出的解决方案,先试着走了一通:

1) 配置Oracle的listener.ora文件

我的listener.ora文件是在D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下,其中 Listener修改为:

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第4张图片

查看计算机全名的方法如下:

右键单击“计算机”-- 选择“属性”--左侧选择“高级系统设置”。

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第5张图片

2) 修改注册表 register

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/OracleOraDb11g_home1TNSListener中的ImagePath改为:

(之前后面的.EXE没有)

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第6张图片

3) 配置环境变量

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第7张图片

4) 重启OracleServiceORCL服务,再启动OracleOraDb11g_home1TNSListener服务即可运行。

然鹅。。。。还是启动不了OracleOraDb11g_home1TNSListener服务呀! 

================================================================================================

心灰意冷之际又看到一个解决方案:

原因:凡是在监听器配置中,配置的所有监听地址都必须可以访问到,否则监听器不认。

解决办法:确保配置的所有监听地址和服务器地址都可以访问到

步骤1:打开Oracle的NetManager:

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第8张图片

步骤2:查看监听器配置:

这时发现,这里的配置和刚刚我修改过的listener文件是一致的。通过查看配置,突然意识到问题所在:我在安装ORACLE时的IP地址和现在的IP地址已经不一致了。而监听器配置还保留着我原来的IP地址,因此需要手动修改,改为当前地址。刚刚在listener文件中的配置也是不必要的,删除因为这步操作而产生的地址4。最终如下图:

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第9张图片

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第10张图片

 解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第11张图片

这时查看D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的listener文件,可以看到已经变成和刚刚配置一致了。

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第12张图片

 这时我再重启OracleServiceORCL服务,再启动OracleOraDb11g_home1TNSListener服务即可成功运行。

 3.问题解决

再次尝试连接,成功:

解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist_第13张图片

你可能感兴趣的:(Oracle)