ora-28547 连接服务器失败解决方案及常见错误排除指南
ORA - 28547错误通常表示连接服务器失败,可能是Oracle Net管理错误。以下是相关解决方案及常见错误排除指南:
1. 检查oci.dll版本一致性
确保navicat for oracle与oracle版本一致。将OCI library(oci.dll)目录填写成已安装的oracle目录下的地址,例如:C:\app\luohaiyuan\product\11.2.0\dbhome_1\BIN\oci.dll。然后,将SQL Plus目录换成已安装的oracle目录下的C:\app\luohaiyuan\product\11.2.0\dbhome_1\BIN。
2. 检查listener.ora文件
去除PROGRAM和ENVS参数
打开【listener.ora】文件,去除PROGRAM和ENVS参数。因为PROGRAM和ENVS参数的设置会导致客户端通过SID_NAME来进行连接,由此可能会引发ORA - 28547错误。修改完成后,重启监听或者重启Windows。
注释(PROGRAM = extproc)行
修改相应目录(如C:\app\luohaiyuan\product\11.2.0\dbhome_1\NETWORK\ADMIN )下的listener.ora文件,注释掉(PROGRAM = extproc)(前边加“”)。例如:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl) 网络上的服务名称 (ORACLE_HOME =G:\oracle\product\10.2.0\db_1) 这里一定要配置正确 (PROGRAM = extproc) )
注释完成后,重启监听服务。
3. 检查Net8管理设置
确保客户端连接使用正确的服务名或SID
当使用TNSNAMES.ORA或Oracle Names服务器时,要确保客户端到ORACLE服务器的连接使用正确的服务名或SID。
检查LISTENER.ORA配置
检查连接端点主机上的LISTENER.ORA文件,确保服务名或SID指向正确的服务器。
确认服务定义
在TNSNAMES.ORA或等效的服务定义中,确认连接字符串的正确性。