重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Oracle数据库服务器上同时安装了Oracle客户端软件导致监听启不来 作者:杨银芳_KD5... [打印本页]

作者: 刘泽宇    时间: 2026-3-1 12:13
标题: Oracle数据库服务器上同时安装了Oracle客户端软件导致监听启不来 作者:杨银芳_KD5...
问题描述:
Oracle数据库服务器上同时安装了Oracle客户端软件(instant client)导致监听启不来。

报以下错误 :正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XXXXX)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))


原因分析:   
1.查看数据库监听日志文件listener.log报了TNS-12505:TNS:监听程序当前无法识别连接描述符中所给出的SID错误

2.通过netca命令进行数据库监听的重建,报了以下错误:
TNS-04415:文件I/O错误

说明配的服务名保存到了Oracle Instant Client数据库实例客户端下的tnsnames.ora文件中(系统找不到指定的默认本地命名配置完成)。以及报了Oracle Instant Client数据库实例客户端下的listener.ora文件系统找不到等错误,可以看出数据库服务器上同时安装了数据库客户端软件导致相关的监听指向了数据库客户端,从而认不到服务端。

解决方法:
1、 如果在WINDOWS操作系统的环境变量—>用户变量或系统变量中已设定了TNS_ADMIN,则
TNS_ADMIN变量的路径值由数据库客户端软件安装路径改回数据库服务端软件安装路径。如果操作系统的环境变量—>用户变量或系统变量中没有设定TNS_ADMIN,则新增一个TNS_ADMIN的环境变量,其值为数据库服务端软件安装路径。如将环境变量TNS_ADMIN的值由 C:\Program Files (x86)\Oracle Instant Client\admin\改为 D:\app\Administrator\product\11.2.0\db_1\network\admin\ ,让listener.ora文件用D:\app\Administrator\product\11.2.0\db_1\network\admin下的。
通过桌面“此电脑”或“计算机”右击鼠标,选择属性—>高级系统设置—>环境变量,进行环境变量的重新设置

2、通过netca命令再新增一个监听LISTENER_1后问题得到了解决。

注:如果发现操作系统环境变量ORACLE_HOME的值也是Oracle客户端安装的根目录,会导致数据库服务启不来,则把环境变量ORACLE_HOME的值改回数据库服务端软件安装的根目录,如D:\app\Administrator\product\11.2.0\dbhome_1。










欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2