专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

分享一个很奇怪的oracle19c数据库监听异常

ins518 2024-10-22 14:52:21 技术文章 11 ℃ 0 评论

概述

今天主要分享一个最近排查的监听问题,还是有点意思的,一起来看看吧~

环境:oracle19c 单实例

用plsql连接提示,这里排除防火墙、账号密码问题,连接字符串按监听文件格式写



1、测试监听

服务器本地测试监听发现没问题。




2、查看数据库状态

数据库状态正常



3、查看监听状态

发现没有数据库服务..



4、查看数据库服务名

怀疑是service_name问题,查看也没有异常



5、查看错误日志:

路径为:/u01/app/oracle/diag/tnslsnr/ZL-FSL-SRM-TOOLS-DB/listener/alert/log.xml

</msg>
<msg time='2020-03-04T17:46:23.601+08:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='ZL-FSL-SRM-TOOLS-DB'
 host_addr='172.26.151.84' pid='1072'>
 <txt>04-MAR-2020 17:46:23 * ping * 0
 </txt>
</msg>
<msg time='2020-03-04T17:48:53.202+08:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='ZL-FSL-SRM-TOOLS-DB'
 host_addr='172.26.151.84' pid='1072'>
 <txt>WARNING: Subscription for node down event still pending
 </txt>
</msg>
<msg time='2020-03-04T17:48:53.202+08:00' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='ZL-FSL-SRM-TOOLS-DB'
 host_addr='172.26.151.84' pid='1072'>
 <txt>04-MAR-2020 17:48:53 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=ZL-FSL-SRM-TOOLS-DB)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=318767104)) * status * 0
 </txt>
</msg>

排查日志没有明显异常


6、查看数据库中listener相关参数

对比正常和异常数据库的listener相关参数..

可以发现不太一样。


7、修改数据库监听参数

ps:动态注册默认只注册到默认的监听器上(名称是LISTENER、端口是1521、协议是TCP),因为pmon只会动态注册port等于1521的监听,否则pmon不能动态注册listener,如果需要向非默认监听注册,则需要配置local_listener参数。

监听的信息添加到tnsnames.ora文件中。 因为pmon在动态注册监听时要从tnsnames.ora中读取相关信息。

alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=xx.xx.xx)(PORT=1522))))'  scope=both;




8、重启监听并查看监听状态

问题解决..



这里主要简单说下排查问题的思路,仅供参考~

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表