概述

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

环境:oracle19c 单实例

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

313bc2514aa5e68ef603ad88c0ca3ef1.png

1、测试监听

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

8022bc8df67cdc9348bf3eb8adba0aa3.png

2、查看数据库状态

数据库状态正常

55405f41a438fcba2d5be4561a8a1813.png

3、查看监听状态

发现没有数据库服务..

11a0930801140ce05e90691b1457fb06.png

4、查看数据库服务名

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

64c7fd157c319ebda73bd5113261d657.png

5、查看错误日志:

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

04-MAR-2020 17:46:23 * ping * 0 WARNING: Subscription for node down event still pending 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 
fcf3813e003f7087bb12cdc4665c8ed9.png
b742f15055ccf1e21da2c0e09dd7e0c9.png

排查日志没有明显异常


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

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

d85ceda78b37b1f2814832a5c9d5baaf.png
a334812461c5574e22b65e5c2a07c7e2.png

可以发现不太一样。


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;
5aa1faad9ef7885cf790d8a3e9d3ce97.png

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

问题解决..

344d3733335caeb44b8c3c9e127a46b3.png

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

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

88beab6c8adca8e79416ffafe053aa2f.gif
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐