dg_broker_start参数必须为TRUE且SCOPE为BOTH或SPFILE,RAC环境需所有实例一致;同时确保配置文件路径有效、权限正确、监听器静态注册且GLOBAL_DBNAME等于DB_UNIQUE_NAME。
Broker 启动失败最常见原因是 dg_broker_start 看似开启,实则未生效。执行 DGMGRL 命令(如 show configuration)直接报 ORA-16525: the data guard broker is not yet available,基本可锁定该问题。
必须在 SQL*Plus 中执行 SHOW PARAMETER dg_broker_start,确认值为 TRUE 且 SCOPE 包含 BOTH 或 SPFILE。以下情况会导致参数不生效:
MEMORY,重启后失效(不会持久化)TRUE,需查 SELECT INST_ID, VALUE FROM GV$PARAMETER WHERE NAME = 'dg_broker_start'
DG_BROKER_CONFIG_FILE1 和 DG_BROKER_CONFIG_FILE2 指向的 .dat 文件损坏、缺失或权限不对,会触发 ORA-16786: unable to access Data Guard broker configuration files,甚至静默失败。
检查步骤:
SHOW PARAMETER DG_BROKER_CONFIG_FILE1,确认路径真实存在;Broker 不会自动创建父目录,需手动 mkdir -p
oracle 用户(不能是 root 或 grid),建议权限 644,目录 755
+DATA/dgbroker/dr1prim.dat),需确保 diskgroup 已挂载,且 oracle 用户有 ASM 权限df -h 检查磁盘空间,mount | grep $(dirname $ORACLE_HOME) 确认文件系统未只读Broker 进程(dmon)启动时会尝试连接所有配置中的数据库,任一库连不上都会卡住或报错 —— 即使你只打算操作主库。典型错误包括 ORA-16571、ORA-12514、DGMGRL 报 connect identifier is xxx failed。
关键点不是 tnsping 通不通,而是监听器是否按 Broker 要求注册:
listener.ora 中必须有静态注册条目:(SID_DESC = (SID_NAME = orcl) (GLOBAL_DBNAME = standby_db)),其中 GLOBAL_DBNAME 必须等于该库的 DB_UNIQUE_NAME
tnsnames.ora 中,CONNECT IDENTIFIER 对应的服务名,其 SERVICE_NAME 必须等于备库的 DB_UNIQUE_NAME(不是 INSTANCE_NAME 或默认 SERVICE_NAME)lsnrctl status,确认该服务状态为 READY,非 UNKNOWN
直接敲 dgmgrl 回车,默认连本地实例(可能根本不是 DG 环境里的库),或用操作系统认证(/)但没切到 oracle 用户,导致认证失败。
正确连接方式:
SYSDBA 权限用户,推荐 dgmgrl sys/password@primary_db_unique_name
db_unique_name 必须与 SPFILE 或 init.ora 中设置一致(不是服务名或实例名)ORA-12154: TNS could not resolve the connect identifier,检查 $ORACLE_HOME/network/admin/tnsnames.ora 是否包含对应条目,且语法无误(尤其注意括号匹配)Broker 日志($ORACLE_HOME/rdbms/log/drc.trc)里才有真实线索,alert.log 不记录 dmon 行为。遇到泛型错误(如 ORA-16501、ORA-16706),必须看它才能定位根因。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)