达梦REDO日志文件损坏故障处理

发布时间 2023-08-21 15:39:57作者: fangzpa

1 背景及解决方案

用户测试环境联机日志文件损坏导致无法启动数据库服务。数据库无备份,现在根据原有参数重新初始化实例,通过修改永久魔术值的方式来恢复,但是这种情况下有可能丢失数据。

 2 操作步骤

2.1 数据文件大小及磁盘空间检查

2.2 初始化实例新实例

根据dm.ini 同级目录dminitXXXX.log日志文件里面的参数重新初始化实例

2.3 将dmdb02.log拷贝到当前丢失REDO日志目录下

cp /home/dmdba/data/dmdb/dmdbo2.log /data/dmdb

 2.4 dmmdf工具SYSTEM.DBF获取以前db_magic

./dmmdf type=1  file=/data/dmdb/SYSTEM.DBF

2.5 使用 dmmdf 工具修改 dmdb02.log的db_magic

将上一步从SYSTEM.DBF得到的db_magic值替换dmdb02文件db_magic值,然后保存退出

./dmmdf type=2  file=/data/dmdb/dmdb02.log

2.6 前台方式重启数据库

./dmserver /data/dmdb/dm.ini

2.7 检查key文件及数据库版本

以前应该是没带key的实例,需要将企业版数据转换成安全版

 前台方式带upd_lic=1 启动,将企业版数据转成安全版

./dmserver /data/dmdb/dm.ini upd_lic=1

2.8 跳过回滚

修改dm.ini文件里面参数PSEG_RECV值为0,跳过回滚活动事务和PURGE已经提交事务

 2.9 以服务方式重启数据库

3 验证数据