达梦REDO日志文件损坏故障处理
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 验证数据