news 2026/10/6 2:32:38

达梦数据库-报错-13-[-108]:打开重做日志失败

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
达梦数据库-报错-13-[-108]:打开重做日志失败

目录

一、环境信息

二、问题描述

三、问题分析

1、重做日志权限

2、重做日志损坏

3、归档容量到达上限,自动清理,需备份归档被删除

四、模拟实验

1、归档配置

2、备份归档多次

3、日志报错

4、线程映射

5、归档配置修改

6、备份归档

五、问题解决


一、环境信息

名称值
CPUx86
操作系统KylinV10
DM版本DM Database Server 64 V8

二、问题描述

备份归档文件时,提示:[-108]:打开重做日志失败。

三、问题分析

1、重做日志权限

权限正常。

2、重做日志损坏

(1)全备正常,开库全备选的是一致性备份,会备份数据文件+redo日志,如果损坏,全备应该也会失败。

(2)业务正常,增删改需要写redo,如果损坏,会报错。

3、归档容量到达上限,自动清理,需备份归档被删除

备份归档文件时,SQL执行线程(2407290)和异步归档线程(2407243)会同时工作,异步归档线程由于归档容量到达上限,清理了归档,备份线程需要备份清理的归档,没有找到,提示失败,从返回错误:打开重做日志失败,确实不直观,我们来模拟一下。由于我用的是新版本验证的,客户用的是老版本,日志的输出信息有一定差异。

四、模拟实验

1、归档配置

[root@dw01:/root]# cat /opt/Dm8/Data/DAMENG/dmarch.ini [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /opt/Dm8/Data/Arch ARCH_FILE_SIZE = 256 ARCH_SPACE_LIMIT = 1024

达梦开启归档的步骤这里就不多说了。

2、备份归档多次

16:25:11 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_06'; 操作已执行 已用时间: 00:00:04.483. 执行号:803. 16:25:19 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_07'; 操作已执行 已用时间: 00:00:04.262. 执行号:804. 16:25:27 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_08'; 操作已执行 已用时间: 00:00:04.265. 执行号:805. 16:25:33 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_09'; BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_09'; [-108]:打开重做日志失败. 已用时间: 00:00:03.121. 执行号:0.

虚机验证,数据库没有任何压力。问题复现。

3、日志报错

2026-08-07 16:25:37.019 [INFO] database P0000003322 T0000000000000007967 rfil[/opt/Dm8/Data/DAMENG/DAMENG01.log], first local_rpkg_seqno:3312, global_rpkg_seqno:3312, first_startup:0, db_open_id:7, max_lsn:50804 2026-08-07 16:25:38.107 [INFO] database P0000003322 T0000000000000003397 Reach space limit of archive file, delete archive log file, db_magic:1936255792, src_db_magic:1936255792, arch_lsn:50769, arch_seq:3292, clsn:50776, next_seq:3294, file_path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log 2026-08-07 16:25:38.107 [INFO] database P0000003322 T0000000000000003397 rfil_close_low set arch rfil[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log]'s sta to inactive, l_next_seq = 3294, g_next_seq = 3294, clsn = 50776, handle = 20, free=16384, len=16384 2026-08-07 16:25:38.108 [INFO] database P0000003322 T0000000000000003397 Reach space limit of archive file, delete archive log file, db_magic:1936255792, src_db_magic:1936255792, arch_lsn:50776, arch_seq:3295, clsn:50783, next_seq:3297, file_path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-15.log 2026-08-07 16:25:38.108 [INFO] database P0000003322 T0000000000000003397 rfil_close_low set arch rfil[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-15.log]'s sta to inactive, l_next_seq = 3297, g_next_seq = 3297, clsn = 50783, handle = 20, free=16384, len=16384 2026-08-07 16:25:38.109 [INFO] database P0000003322 T0000000000000003397 Reach space limit of archive file, delete archive log file, db_magic:1936255792, src_db_magic:1936255792, arch_lsn:50783, arch_seq:3298, clsn:50790, next_seq:3300, file_path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-26.log 2026-08-07 16:25:38.109 [INFO] database P0000003322 T0000000000000003397 rfil_close_low set arch rfil[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-26.log]'s sta to inactive, l_next_seq = 3300, g_next_seq = 3300, clsn = 50790, handle = 20, free=16384, len=16384 2026-08-07 16:25:38.111 [INFO] database P0000003322 T0000000000000003397 Reach space limit of archive file, delete archive log file, db_magic:1936255792, src_db_magic:1936255792, arch_lsn:50790, arch_seq:3301, clsn:50796, next_seq:3303, file_path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-35.log 2026-08-07 16:25:38.111 [INFO] database P0000003322 T0000000000000003397 rfil_close_low set arch rfil[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-35.log]'s sta to inactive, l_next_seq = 3303, g_next_seq = 3303, clsn = 50796, handle = 20, free=16384, len=16384 2026-08-07 16:25:38.112 [INFO] database P0000003322 T0000000000000003397 rafil_file_create [/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_16-25-38.log] start 2026-08-07 16:25:38.114 [INFO] database P0000003322 T0000000000000003397 rfil_close_low set arch rfil[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_16-25-38.log]'s sta to inactive, l_next_seq = 2457, g_next_seq = 2457, clsn = 0, handle = 20, free=4096, len=268435456 2026-08-07 16:25:38.115 [INFO] database P0000003322 T0000000000000003397 rafil_file_create [/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_16-25-38.log] success, handle = 20 2026-08-07 16:25:38.115 [INFO] database P0000003322 T0000000000000003397 rafil_file_init, rac_seqno:0, create new file and set last_arch_fil:/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_16-25-38.log! 2026-08-07 16:25:38.117 [INFO] database P0000003322 T0000000000000003397 rafil_close_with_trunc file[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_16-25-38.log] to 16384 len, g_next_seq:3323, ret = 1! 2026-08-07 16:25:38.117 [INFO] database P0000003322 T0000000000000003397 rfil_close_low set arch rfil[/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_16-25-38.log]'s sta to inactive, l_next_seq = 3323, g_next_seq = 3323, clsn = 50830, handle = 20, free=16384, len=16384 2026-08-07 16:25:39.126 [ERROR] database P0000003322 T0000000000000007967 os_file_open_low_real error! desc: No such file or directory, path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log, code: 2 2026-08-07 16:25:39.126 [ERROR] database P0000003322 T0000000000000007967 os_file_open_low_real error! desc: No such file or directory, path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log, code: 2 2026-08-07 16:25:39.126 [ERROR] database P0000003322 T0000000000000007967 rfil_open [/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log] failed 2026-08-07 16:25:39.126 [INFO] database P0000003322 T0000000000000007967 arch file(/opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log) open fail, free:4096, len:134217728, arch_seq:0, next_seq:0

T0000000000000003397 Reach space limit of archive file, delete archive log file, db_magic:1936255792, src_db_magic:1936255792, arch_lsn:50769, arch_seq:3292, clsn:50776, next_seq:3294, file_path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log

异步归档线程发现到达归档文件容量上限,清理了日志 /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log。

T0000000000000007967 os_file_open_low_real error! desc: No such file or directory, path: /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log, code: 2

SQL执行线程需日志 /opt/Dm8/Data/Arch/ARCHIVE_LOCAL1_0x7368EB30_EP0_2026-08-07_15-07-07.log,由于删除导致打开失败。

新版本的日志内容更加容易我们理解,但错误内容确实容易使人误解,其实提示:归档日志打开失败更容易让人理解。

4、线程映射

16:26:54 SYSDBA@LOCALHOST:5236 SQL> SELECT * FROM V$THREADS WHERE ID IN (7967,3397); ID NAME START_TIME THREAD_DESC SESS_ID PROCESSOR_ID WAIT_SEQ WAIT_STATUS WAIT_TIME -------------------- -------------- -------------------------- ----------------------------- -------------------- ------------ ----------- --------------- ----------- 7967 dm_sql_thd 2026-08-07 16:25:11.000000 User session thread 140675795920120 65535 2 NOTHING TO WAIT -1 3397 dm_rsyswrk_thd 2026-08-07 15:06:52.000000 Asynchronous archiving thread NULL 65535 0 NOTHING TO WAIT -1 已用时间: 3.782(毫秒). 执行号:808.

3397是异步归档线程。

7967是SQL执行线程。

5、归档配置修改

[root@dw01:/root]# cat /opt/Dm8/Data/DAMENG/dmarch.ini [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /opt/Dm8/Data/Arch ARCH_FILE_SIZE = 1024 ARCH_SPACE_LIMIT = 20480

将ARCH_FILE_SIZE、ARCH_SPACE_LIMIT适当提高。

重启数据库。

6、备份归档

16:34:41 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_01'; 操作已执行 已用时间: 00:00:04.407. 执行号:603. 16:34:49 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_02'; 操作已执行 已用时间: 00:00:04.284. 执行号:604. 16:34:55 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_04'; 操作已执行 已用时间: 00:00:04.279. 执行号:605. 16:35:02 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_03'; 操作已执行 已用时间: 00:00:04.279. 执行号:606. 16:35:10 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_05'; 操作已执行 已用时间: 00:00:04.300. 执行号:607. 16:35:16 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_06'; 操作已执行 已用时间: 00:00:04.335. 执行号:608. 16:35:23 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_07'; 操作已执行 已用时间: 00:00:04.294. 执行号:609. 16:35:30 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_08'; 操作已执行 已用时间: 00:00:04.304. 执行号:610. 16:35:37 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_09'; 操作已执行 已用时间: 00:00:04.299. 执行号:611. 16:35:44 SYSDBA@LOCALHOST:5236 SQL> BACKUP ARCHIVE LOG ALL BACKUPSET 'DM_ARCH_BAK_10'; 操作已执行 已用时间: 00:00:04.275. 执行号:612.

一次没有报错,说明解决方法有效。

五、问题解决

问题的根源在于,达梦的联机备份归档机制与自动归档清理策略产生了冲突,导致备份所需的归档日志文件丢失,将ARCH_SPACE_LIMIT适当提高,避免异步归档线程和SQL执行线程冲突的概率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 2:25:55

第5章 面向对象基础

一、面向对象思想面向对象是一种思想,这种思想可以让我们写代码的思路更贴切于生活二、类和对象类:是一组相关属性和行为的集合,将其理解是对象的一张设计图对象:根据类(设计图)创建出来的实体关系&#xf…

作者头像 李华
网站建设 2026/10/6 2:23:15

3 步用 GHelper 替代奥创中心:单进程驻留,帧数不减续航更长

3 步用 GHelper 替代奥创中心:单进程驻留,帧数不减续航更长 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivob…

作者头像 李华
网站建设 2026/10/6 2:11:02

HTML浅浅入门

Hello,各位小伙伴,这篇文章主要给大家浅浅的介绍一些关于HTML的一些标签,并不会非常的深入的进行系统性学习,毕竟我们后面更多的功夫是要花在后端的技术知识上进行探究~~~1.标题标签2.段落标签3.换行标签4.图片标签5.超链接6.表格…

作者头像 李华