局域网内sqlplus 访问主机数据库 TNS: 无监听程序

本文解决了一个在Ubuntu环境下使用RCU时无法访问主机Oracle数据库的问题。通过调整监听程序配置、修改listener.ora文件及重启监听器等步骤,最终实现了从客户机成功访问并完成RCU安装。

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

由于在ubuntu下安装rcu   无法访问主机数据库  故将问题定位为局域网内访问主机DB问题

注: 在主机上 一切正常。可以登录

 

如果在客户机上以下列方式访问主机DB 

sqlplus sys/hirisun@192.168.6.96:1521/orcldbas sysdba

ERROR:

ORA-12541: TNS: 无监听程序

回到主机验证监听程序

tnsping localhost/127.0.0.1 orcldb    OK

但当 tnsping 192.168.6.96 orcldb     时却发现  TNS:协议适配器错误

于是问题到了 监听程序 HOST的问题     接下来将  listener.ora,tnsname.ora 中localhost 替换为 192.168.6.96

重启监听器

回到命令窗口下  重复上述操作

sqlplus sys/hirisun@192.168.6.96:1521/orcldbas sysdba

ERROR:

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

接下来就可以向主机 目录下  listener.or  的SID_LIST添加

(SID_DESC =

         (GLOBAL_DBNAME= orcldb)

         (ORACLE_HOME= C:/oracle11g/product/11.2.0/dbhome_1)

         (SID_NAME= orcldb)

    )

接下来再重启监听器  回到命令窗口下

sqlplussys/hirisun@192.168.6.96:1521/orcldbas sysdba  

会发现 已经成功登录了!

回到客户机上,输入上述命令  OK

这时  rcu 也可以正常访问数据库,并成功安装了!


### 解决Navicat连接Oracle数据库时遇到的TNS监听程序错误 当尝试通过Navicat连接到Oracle数据库并收到`ORA-12541: TNS:no listener` 错误时,这通常意味着客户端无法找到或访问正在运行的监听器服务。以下是详细的解决方案: #### 一、验证监听器状态 确保Oracle监听器已启动并且正常工作。可以通过命令行工具检查监听器的状态。 对于Linux环境下的操作如下所示: ```bash lsnrctl status ``` 如果监听器未启动,则可以使用以下命令来启动它: ```bash lsnrctl start ``` 此过程有助于确认监听器是否处于活动状态[^2]。 #### 二、配置tnsnames.ora文件 检查位于 `$ORACLE_HOME/network/admin/` 目录中的 `tnsnames.ora` 文件设置是否正确。该文件定义了网络服务名及其对应的协议参数。确保其中包含了目标数据库实例的相关条目,并且这些信息与实际部署相匹配。 一个典型的条目可能看起来像这样: ```plaintext MYDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ``` 请注意替换为具体的主机名称和服务名等细节[^4]。 #### 三、防火墙配置 考虑到安全策略的影响,在某些情况下即使监听器已经开启也可能因为端口被阻止而造成通信障碍。因此还需要审查操作系统层面以及任何外部网络安全设备上的防火墙规则,允许必要的TCP/IP流量到达指定端口号(默认通常是1521),从而保障正常的远程连接请求能够顺利抵达目的地。 #### 四、测试本地连接 为了排除其他潜在因素干扰诊断流程,建议先尝试在同一台机器上建立本地连接以检验基本功能是否完好。比如利用SQL*Plus或其他轻量级CLI应用程序执行简单的查询语句来进行初步验证。 ```sql sqlplus username/password@//localhost:1521/service_name ``` 一旦上述步骤都完成并且问题依旧存在,则有必要进一步深入分析日志记录寻找线索或者考虑联系专业技术支持团队获取帮助[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值