程序反馈ORA-01034 ORA-27101 错误一例

前两天有开发反馈连接Oracle出现 ORA-01034 ORA-27101 错误,详细报错如下:

Exception in thread "main" java.sql.SQLException: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

    从问题来看,感觉是已经连接到服务器了,但是,他没能访问到数据库,提示数据库不可用,不能建立连接。

    首先,对数据库进行了检查:数据库状态、错误日志、监听日志等,确认数据库正常。

    然后对数据库的监听进行了检查。

    监听配置:

    ORACLE_HOME=/U01/app/oracle/product/11.2.0.4

    而实际的路径为:

    ORACLE_HOME=/data/U01/app/oracle/product/11.2.0.4

    同时/U01有到/data/U01的软连接。

    同时数据库配置的local_listener不对

    对以上两个错误修复以后,重启监听,访问恢复正常。


如何发现问题:

    当是程序反馈说,连接异常,我一直否认数数据库的问题。后来我自己在本地配置了一个tns,然后使用 sqlplus user_name@tns_name方式连接测试,发下出现同样的错误,然后我才开始怀疑是监听配置有问题,所以,以后出现类似的问题,大家可以这样进行测试,问题的原因可能很多,但思路是一样的。



分析讨论:

    1、local_listener设置对数据库连接的影响?

    2、如何正确配置监听及确认监听配置的正确性?

    这里涉及的内容稍微多了些,就不详细说了,详见:

    http://docs.oracle.com/cd/B28359_01/network.111/b28316/listenercfg.htm#i486171

    http://docs.oracle.com/cd/B28359_01/network.111/b28316/architecture.htm#NETAG212


你可能感兴趣的:(ORA-27101,ORA-01034)