Oracle Data Guard 报错 ORA-16057: Data Guard 配置中没有服务

错误背景:
今天早上一早忽然发现数据库DG告警邮件。延时达到了一千多分钟。赶忙上去查看了下啥状况。数据库

select sequence# "日志序列",DEST_ID "路径ID",name "备库名", applied "是否应用到备库",
to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') "日志开始时间",
to_char(COMPLETION_TIME,'yyyy-mm-dd hh24:mi:ss') "日志完成时间"
  from v$archived_log
 where sequence# > (select max(sequence#) - 80 seq from v$archived_log) and DEST_ID !=1;

一查发现从昨天下午两点开始就目标库都没有归档。由于及时发现归档还没被删除,因此找出错误立马解决仍是能够继续同步的。根据时间判断应该是昨天下午有什么误操做的缘由。由于归档都没投递到备库去,应该是DG节点或者远程归档路径设置错了。看下远程归档报错什么。服务器

select dest_id,dest_name,error from v$archive_dest WHERE DEST_ID<=3 ;
报错:ORA-16057: Data Guard 配置中没有服务器。

再检查节点配置信息app

show parameter log_archive_config 
log_archive_config                   string      dg_config=(zhanky_s,zhanky_ss)

发现果真,把主节点zhanky_p踢出去了。搞彪了,原本要删除zhanky_s,而后搞错了。赶快及时修改回来。ide

Alter system set log_archive_config='dg_config=(zhanky_p,zhanky_ss)' scope=both;
---下面两条命令是为了快速触发,从新加载参数
alter system set log_archive_dest_state_3=defer scope=both;
alter system set log_archive_dest_state_3=enable scope=both;

改完后发现,仍是有问题。想起来zhanky_ss也须要改,而后两边都改完后就恢复正常了。有惊无险,修改数据库必定要谨慎。即便文档再详细也要注意参数。日志

相关文章
相关标签/搜索