某项目反馈清空日志文件后重启数据库服务无法启动,报错如下:
2024-10-17 17:59:07.467 [INFO] database P0000022596 T0000000000000023432 DM Database Server 64 V8 03134284044-20230417-187846-20040 startup...
2024-10-17 17:59:07.468 [INFO] database P0000022596 T0000000000000023432 INI parameter ROLLSEG_POOLS changed, the original value 19, new value 1
2024-10-17 17:59:07.534 [WARNING] database P0000022596 T0000000000000023432 fail to load liblwgeom.dll, Ҳ ָ ģ 顣
2024-10-17 17:59:07.534 [INFO] database P0000022596 T0000000000000023432 fil_sys_init
2024-10-17 17:59:07.701 [INFO] database P0000022596 T0000000000000023432 Database mode = 0, oguid = 0
2024-10-17 17:59:07.701 [WARNING] database P0000022596 T0000000000000023432 License will expire in 14 day(s) on 2024-10-31
2024-10-17 17:59:07.701 [INFO] database P0000022596 T0000000000000023432 Initialize temp tablespace, file path: D:\application\dm\data\DAMENG\TEMP.DBF, code: 0
2024-10-17 17:59:07.734 [INFO] database P0000022596 T0000000000000023432 rfil[D:\application\dm\data\DAMENG\DAMENG01.log] ver: 7007, sta: 1, arch_lsn = 0, arch_seq = 0, clsn = 26869225, clsn_fil = 1, clsn_off = 159535616, l_next_seq = 192555, g_next_seq = 192555, free = 268435456
2024-10-17 17:59:07.734 [ERROR] database P0000022596 T0000000000000023432 rfil grp init log file D:\application\dm\data\DAMENG\DAMENG02.log error, code = -108
2024-10-17 17:59:07.734 [ERROR] database P0000022596 T0000000000000023432 rlog4_init_low->rfil_grp_alloc failed, alloc_only = 0!
2024-10-17 17:59:07.734 [ERROR] database P0000022596 T0000000000000023432 hlog_upgrade failed, rlog4_sys_init return code[-126]
经沟通确认,清空的并不是数据库运行日志,而是REDO日志文件,并且没有配置备份,下面模拟一下该问题并记录解决步骤。
找到达梦服务安装路径,清空REDO日志,然后重启数据库服务。
日志报错如下:
1、确认故障实例初始化参数,可以查看实例路径下的初始化日志
2、初始化一个与故障实例初始化参数一样的新实例
3、将新实例下的REDO文件拷贝至故障实例路径下,只拷贝有问题的DAMENG02.LOG文件,最后检查文件权限及属主与原文件保持一致即可。
4、用dmmdf工具从SYSTEM.DBF获取故障实例的db_magic值
5、使用dmmdf工具修改DAMENG02.log的db_magic值
6、前台方式启动服务,检查是否可以正常启动
7、确认可以正常启动后,将前台方式停止,使用服务启动。
文章
阅读量
获赞