如何处理DG Broker的ORA-16664错误_主备库网络通信与TNS配置排查

ORA-16664 根本不是网络超时,而是监听未注册_DGMGRL专用服务名导致连接被拒;需检查listener.ora静态注册、tnsnames.ora中SERVICE_NAME匹配、oracle二进制权限及dmon进程状态。ORA-16664 根本不是网络超时,而是监听没认出 Broker 请求看到 ora-16664 就去查防火墙、ping、tnsping,大概率白忙------这个错误的典型表现是"秒报错",不是等几秒后超时,说明请求压根没进数据库,卡在监听层就被拒了。broker 不走普通服务名(比如 orcl),它用的是专用服务名:<db_unique_name>dgmgrl</db_unique_name>(如 sorcldb_dgmgrl)。如果监听器里没显式注册这个服务,dgmgrl 连接时就会被 tns-12514 或直接拒绝,最终表现为 ora-16664。检查监听状态:lsnrctl status,搜索输出中是否存在类似 service "sorcldb_DGMGRL" 的条目若无,立刻检查 ORACLE_HOME/network/admin/listener.ora必须添加静态注册项:sid_list_listener = (sid_list = (sid_desc = (global_dbname = sorcldb_DGMGRL) (oracle_home = /u01/app/oracle/product/19c/dbhome_1) (sid_name = sorcldb) ) )改完执行 lsnrctl reload,再 lsnrctl status 确认服务已上线dg_broker_start 为 true ≠ dmon 进程一定在跑参数设对了,不代表 Broker 后台进程 ora_dmon_\\ 就真起来了。尤其在备库上,dg_broker_start=true 可能只是"允许启动",但因依赖条件不满足(比如控制文件未识别为 standby 角色、归档未启用),dmon 会静默失败。主备库均执行:ps -ef \| grep dmon \| grep -v grep,确认有对应进程若无,先查 show parameter dg_broker_start 是否真为 TRUE(注意大小写和 scope)再查告警日志:tail -50 ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/trace/alert<instance_name>.log</instance_name></instance_name></db_name>,搜 dmon 或 broker常见拦截点:备库未开启 REDO APPLY、LOG_ARCHIVE_CONFIG 缺失(如未设 DG_CONFIG=(primary_db,standby_db))TNS 名称解析必须双向可通,且 SERVICE_NAME 要匹配 DGMGRL 专用名很多人只配了主库能连备库的 TNS,忘了 dgmgrl 在主库执行命令时,也会从备库反向回调主库------Broker 是对等通信模型。而且连接串里写的 SERVICE_NAME 必须和监听器注册的 global_dbname 完全一致,大小写敏感。 Ideogram Ideogram是一个全新的文本转图像AI绘画生成平台,擅长于生成带有文本的图像,如LOGO上的字母、数字等。

相关推荐
Betelgeuse761 小时前
Django 中间件 4 大钩子 & CBV vs FBV 对比实战
python·中间件·django
草莓熊Lotso1 小时前
【Linux网络】UDP Socket 编程全解析:从回显服务到通用字典服务,从零实现工业级代码
linux·运维·服务器·数据库·c++·单片机·udp
92year7 小时前
用Google ADK从零搭一个能调工具的AI Agent:Python实操全过程
python·ai·mcp
woxihuan1234568 小时前
SQL删除数据时存在依赖关系_设置外键级联删除ON DELETE
jvm·数据库·python
东风破1378 小时前
DM8达梦共享存储集群DSC搭建步骤
数据库·学习·dm达梦数据库
雪碧聊技术8 小时前
当数据库字段数大于Java实体类属性数时,MyBatis还能映射成功吗?一文详解
数据库·自动映射·mybatis映射机制·java实体类·宽容映射机制
Jetev8 小时前
如何确定SQL字段是否为空_使用IS NULL与IS NOT NULL
jvm·数据库·python
蛐蛐蛐8 小时前
昇腾910B4上安装新版本CANN的正确流程
人工智能·python·昇腾
m0_702036538 小时前
mysql如何处理不走索引的OR查询_使用UNION ALL优化重写
jvm·数据库·python
代钦塔拉9 小时前
Qt4 vs Qt5 带参数信号槽的连接方式详解
开发语言·数据库·qt