TNS:无法连接目标主机

在32位XP系统通过虚拟机CentOS6.0访问Oracle11g时,遇到TNS-12543错误,即无法连接到目标主机。问题原因是Linux防火墙阻止了连接。解决方法是作为root用户关闭Linux防火墙,执行'service iptables stop'。关闭后,TNS连接成功。但随后在测试数据源时出现权限问题,用户guolz缺乏CREATE SESSION权限。通过sqlplus以sysdba身份登录并授予权限后,测试成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:32位xp,虚拟机centOS6.0,oracle11g

现象:主机和虚拟机能相互ping通。oracle及客户端都装好,配置好。但是测试数据源时不成功,报TNS-12543: TNS :无法连接到目标主机

在xp系统使用命令行命令tnsping 虚拟机的ip,同样报TNS-12543: TNS :无法连接到目标主机

原因:虚拟机linux系统防火墙阻止(不一定所有情况都是这个原因但是我碰到的是)

解决办法:关闭linux防火墙。注意:这步操作要在root用户下操作。

[root@localhost ~]#service iptables stop

iptables: Flushing firewall rules:                                      [  OK  ]
iptables: Setting chains to policy ACCEPT: filter           [  OK  ]
iptables: Unloading modules:                                          [  OK  ]

再试一下:

Z:\>tnsping 10.1.129.68

TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 28-11月-
2013 15:35:22

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

已使用的参数文件:
D:\app\guolz\product\11.2.0\client_1\network\admin\sqlnet.ora

已使用 EZCONNECT 适配器来解析别名
尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST
=10.1.129.68)(PORT=1521)))
OK (20 毫秒)

成功。


然后,使用Net Configuration assistant测试,出现guolz lacks CREATE SESSION privilege; logon denied


意思是该用户没有session权限,登陆数据库(sqlplus / as sysdba)

grand connect ,resource to guolz;

出现grand succeeded,赋权成功。

再测试一下,测试成功。


### TNS Listener 配置与故障排除 #### 了解TNS Listener的作用 TNS (Transparent Network Substrate) Listener 是 Oracle 数据库的一个组件,负责接收来自客户端的连接请求并将这些请求转发给相应的数据库服务。如果客户端报告 `TNS-12541: TNS: 无监听程序` 错误,则意味着客户端未能成功联系到监听器[^1]。 #### 基本配置文件解析 对于大多数情况而言,遇到此类问题时应首先检查两个主要配置文件: - **tnsnames.ora**: 描述了如何通过网络访问特定的目标数据库实例。 确保上述两份文档中的设置相互匹配,并且路径指向正确的位置[^2]。 #### 故障排查步骤概述 针对 `TNS-12541` 或其他类似的监听器相关错误,建议按照如下方式进行初步诊断: - 检查操作系统层面的日志以及 `$ORACLE_HOME/network/log/listener.log` 文件内的记录来获取更多关于为什么监听器未响应的信息。 - 使用命令行工具如 `lsnrctl status` 来验证当前是否有活动的监听进程正在运行及其状态详情;这有助于确认监听器本身是否存在问题。 - 如果怀疑是权限不足引起的问题,可参照最佳实践调整操作系统的资源限制参数(例如 ulimit),特别是最大打开文件数等关键指标[^4]。 ```bash # 修改软限制至至少1024并重启服务 ulimit -n 1024 ``` #### 进一步深入分析 当面对更复杂的场景比如 ORA-12514 (`TNS: listener does not currently know of service requested`) ,则需进一步调查是否存在服务注册延迟或是名称解析方面的问题。此时应当仔细审查目标主机上对应的侦听器日志,寻找任何异常条目或警告提示[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值