在之前项目维护中遇到一次DM7无法正常启动,操作系统为麒麟6、数据库使用的是达梦 V7.6.0.75-Build(2019.07.23-109578-debug)。用户反馈应用异常,排查后发现因在业务高峰期HA异常切机,数据库重启卡住,数据库日志下显示“2019-07-30 16:46:34 [INFO] database P0000009889 main_thread begin redo pwr log collect,last ckpt lsn:46861423758…”,如下图提示:

经长时间等待依然如上图数据库日志提示,后检查系统日志如下图:

如上图线程对应的sql里面的表有损坏风险,确认后异常切机致redo异常所致重启卡住,需替换redo文件,正常启动服务后在做进一步处理,不过替换redo是有丢数据风险,因为redo上可能还存有没有刷盘的日志;和用户沟通后,也因业务是副本数据,同意替换redo文件操作。操作如下:
1、分别记录当前数据库实例DAMENG01.log和DAMENG02.log日志两个(有几个日志文件就记录几个日志文件里的数值)文件里的db_magic和pemnt_magic两个数值(dmmdf使用在bin下查看帮助./dmmdf help);

2、初始化新实例,DAMENG01.log和DAMENG02.log如下:
HA异常切机导致DM7数据库无法正常启动之redo替换与风险
最新推荐文章于 2024-12-22 13:13:29 发布
本文介绍了在DM7数据库因HA异常切机导致无法正常启动的问题,分析了redo日志导致的重启卡住情况,并详细阐述了如何通过替换redo文件恢复服务,同时强调了该操作可能存在的丢数据风险。在操作过程中,记录并修改db_magic和pemnt_magic数值是关键步骤,提醒运维人员在进行此类操作前务必谨慎,做好数据备份。

最低0.47元/天 解锁文章
1061

被折叠的 条评论
为什么被折叠?



