暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库加完节点数据不同步

IT那活儿 2025-04-24
76

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


问题现象

202X年4月1日对系统xx-cluster集群进行扩容,由原来两节点数据库进行计算节点扩容,由两节点扩容到三节点。扩容后完成后,通过检查数据库alter告警日志正常,登录数据库验证查询数据库同步和进程均正常。
命令如下:
SQL>SELECT NAME,VALUE,TIME_COMPUTED,DATUM_TIME,SYSDATE FROM V$DATAGUARD_STATS
SQL>select 
process,pid,status,group#,resetlog_id,thread#,sequence# from gv$managed_standby;

在4月11日10:30,生产端发现归档目录日志增加而未被删除。在4月11日10:40登录灾备端发现xx-cluster集群下的xx_yd实例有延时。

问题分析

在4月11日10:30时发现xx_yd实例有延时,通过查看日常巡检和zabbix平台,均未发现有告警,最后通过查看xx_yd实例的alter日志发现,数据库的日志停留在4月1日18时左右,但日志没有错误行。
发现该情况后对数据库进行GAP处理,命令如下:
Rman target 
RECOVER STANDBY DATABASE FROM SERVICE xxx_db;

执行后发现数据库有报错如下:
VERSION INFORMATION:
TNS for Linux: Version 19.0.0.0.0-Production:
Oracle Bequeath NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
TCP/lP NT Protocol Adapter for Linux: Version 19.0.0.0.0 - Production
Version 19.4.0.0.0
Time: 11-APR-202X 11:25:02
Tracing not turned on.
Tns error struct:
ns main err code: 12535

如上发现连接主库超时,随后通过nc查看与主库的连通性,命令如下:
nc -vz prodtip01r3-sh 1521
发现连接主库超时,证明网络未开通。

处理过程

3.1 临时处理方案
临时将xx实例由三节点relocate回二节点,命令如下:
#srvctl relocate database -d xx_yd -n xx01xx2
启动同步:
Sql>alter database recover managed standby database using current logfile disconnect;
观测到redo lag开始持续追平。
3.2 处理建议
开通xx_yd所在节点3的scanvip与localvip与主库的互通,开通后验证连通性无问题,再将xx_yd实例relocate回节点3。

问题总结

目前的监控策略对主备之间完全网络不通的情况存在盲区,即:
主库连不上备库且备库连不上主库的情况下,备库无从知道自己落后了多少,此时redolag监控仍然显示全0。只有主库端alertlog才会显示远程归档失败。
考虑到灾备测只能从备库端做监控,建议部署OSWatcher监控主备库之间的网络联通状况


END


本文作者:高 维(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论