ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle ORA 12541 报错解决过程

2020-03-05 19:05:33  阅读:388  来源: 互联网

标签:文件 plsql 查看 oracle HOST 报错 12541 Oracle 监听


   

   

Oracle 导入全库之后使用plsql登陆时报错

   

版本12C版本2

   

ORA-12541: TNS: No Listener

   

   

   

再oracle主机本地可以使用sqlplus 登陆,但是使用plsql无法登陆,报错如上。

   

首先考虑是防火墙问题,查看防火墙和selinux均为关闭状态

   

然后查看监听状态

查看 监听状态的命令为首先使用oracle 用户登陆操作系统,命令lsnrctl

进入监听程序,关键status 查看监听状态

   

里面详细列出了监听的状态以及服务端的监听文件位置,

查看监听文件

   

   

查看客户端的监听配置

   

   

   

无发现明显问题,下面尝试重启监听

   

重启和启动监听的命令为

lsnrctl stop、lsnrctl start

   

   

使用oracle用户执行该命令

   

执行过上述的重启监听之后,依然报错

   

为了排除防火墙因素在同网段使用ssh测试了连接1521端口,结果测试结果为访问被拒绝

初步还是怀疑监听服务的问题,再次查看监听文件

将HOST =localhost 修改为本地IP地址HOST = 172.16.103.9,注意修改监听之前需要先关闭监听,关闭监听之后再修改监听文件,最后再启动监听

修改后的监听文件

启动监听

查看监听状态

1分30秒过去了,未监听到实例。

此时尝试使用plsql连接

   

此时依旧报错12514,再次查看监听状态,依旧是未监听到实例

再次尝试修改监听文件,将监听IP修改未监听主机名。因为hosts文件中有解析将本机解析为oracle,故将监听文件中的主机名修改为oracle

修改后的监听文件

对应的hosts文件

再次启动监听,查看监听状态

   

已经监听到实例,再次使用plsql连接,plsql已经可以正常连接。

   

总结:本库版本是oracle 12c 版本2 操作系统为oracle linux 7.3 这个库我执行过从12C版本1 RAC集群到这个库的整库还原,使用的expdp和impdp备份还原,备份还原之后出现此故障,不知道是oracle自身的bug还是因为我之前的库和现有的库版本不一致导致的问题。总之,监听文件中HOST对应的主机需要写主机名,写IP不生效,百度上说将HOST对应的值写成0.0.0.0的也可以监听到实例,再解决问题的过程中,没有尝试该方法。因为不清楚HOST=0.0.0.0是泛指该主机能连接到的所有主机还是该主机自身。还是HOST仅仅只能使用主机名来解析呢,还有,在我执行全库还原操作之前是没有这个问题的,监听文件的默认配置为localhost。根据本机hosts文件,localhost可解析为127.0.0.1和::1,这两条已经足够代表本机自身了,为什么还需要使用安装oracle过程中单独添加的解析条目 172.16.103.9 oracle 呢?

   

标签:文件,plsql,查看,oracle,HOST,报错,12541,Oracle,监听
来源: https://www.cnblogs.com/withfeel/p/12421953.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有