达梦的归档日志参数ARCH_RESERVE_TIME测试

达梦的参数ARCH_RESERVE_TIME测试

前面有提到和oracle相比,达梦的归档日志相关参数有个比较特别,可以通过设置它去规定归档日志的保留时间。
ARCH_RESERVE_TIME :归档日志保留时间,单位分钟,取值范围 0~2147483647。只对本地归档有效。服务器每隔 5 分钟检查是否存在超过保留时间的归档并删除。缺省为 0,表示不删除归档。

基础环境

sql 复制代码
OS版本:
Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:
DM Database Server 64 V8
DB Version: 0x7000c
03134284132-20240115-215128-20081

1 测试环境准备

当前数据库已经开启归档模式,归档路径为/dm8/arch,该路径下已经有照相日志生成。

sql 复制代码
[dmdba@test arch]$ disql sysdba/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.452(ms)
disql V8
SQL> select name,status$,arch_mode from v$database;

行号     NAME   STATUS$     ARCH_MODE
---------- ------ ----------- ---------
1          DAMENG 4           Y

已用时间: 0.222(毫秒). 执行号:1401.
SQL> select ARCH_NAME,ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_RESERVE_TIME from v$dm_arch_ini;

行号     ARCH_NAME      ARCH_TYPE ARCH_DEST ARCH_FILE_SIZE ARCH_RESERVE_TIME
---------- -------------- --------- --------- -------------- -----------------
1          ARCHIVE_LOCAL1 LOCAL     /dm8/arch 64             0

已用时间: 0.221(毫秒). 执行号:1402.

[dmdba@test arch]$ pwd
/dm8/arch
[dmdba@test arch]$ ll
total 65552
-rw-r--r-- 1 dmdba dinstall    16384 Apr  8 19:42 ARCHIVE_LOCAL1_0x59BEDBAC_EP0_2024-04-08_19-41-20.log
-rw-r--r-- 1 dmdba dinstall 67108864 Apr  8 19:45 ARCHIVE_LOCAL1_0x59BEDBAC_EP0_2024-04-08_19-43-15.log

2 设置参数ARCH_RESERVE_TIME

修改dmarch.ini配置文件,添加ARCH_RESERVE_TIME = 5,并重启数据库。

sql 复制代码
--修改配置文件
vi dmarch.ini 
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dm8/arch
        ARCH_FILE_SIZE       = 64
        ARCH_SPACE_LIMIT     = 0
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1
        ARCH_RESERVE_TIME    = 5

--重启数据库
[dmdba@test arch]$ DmServiceDMSERVER restart
Stopping DmServiceDMSERVER:                                [ OK ]
Starting DmServiceDMSERVER:                                [ OK ]
[dmdba@test arch]$ disql sysdba/Dameng123   

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5.708(ms)
disql V8
SQL> select ARCH_NAME,ARCH_RESERVE_TIME from v$dm_arch_ini;

行号     ARCH_NAME      ARCH_RESERVE_TIME
---------- -------------- -----------------
1          ARCHIVE_LOCAL1 5

已用时间: 1.386(毫秒). 执行号:501.

观察归档日志,发现归档日志已正常被清理。
查看数据库日志,日志中也有相关提示"archive files exceeded the time limit 5 minutes begin removing",说明该参数是生效的。

sql 复制代码
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  archive files exceeded the time limit 5 minutes begin removing......
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  local archive delete before time [2024-04-08 19:55:40] start......
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  rafil_file_delete_low delete file[/dm8/arch/ARCHIVE_LOCAL1_0x59BEDBAC_EP0_2024-04-08_19-43-15.log]
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  delete local archive file[/dm8/arch/ARCHIVE_LOCAL1_0x59BEDBAC_EP0_2024-04-08_19-43-15.log].
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  rafil_file_delete_low delete file[/dm8/arch/ARCHIVE_LOCAL1_0x59BEDBAC_EP0_2024-04-08_19-41-20.log]
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  delete local archive file[/dm8/arch/ARCHIVE_LOCAL1_0x59BEDBAC_EP0_2024-04-08_19-41-20.log].
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  local archive delete before time [2024-04-08 19:55:40] end.
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  remote archive delete before time [2024-04-08 19:55:40] start......
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  remote archive delete before time [2024-04-08 19:55:40] end.
2024-04-08 20:00:40.650 [INFO] database P0000022360 T0000000000000022398  archive files exceeded the time limit 5 minutes removed, total files 2......
2024-04-08 20:01:40.718 [INFO] database P0000022360 T0000000000000022417  checkpoint requested by CKPT_INTERVAL, rlog free space[536846336], used space[16384]
2024-04-08 20:01:40.718 [INFO] database P0000022360 T0000000000000022417  checkpoint generate by ckpt_interval

总结:

通过ARCH_RESERVE_TIME参数,我们可以在配置归档时,顺便配置其其保留的时间,不再需要额外配置脚本去清理归档日志。

谨记:心存敬畏,行有所止。

相关推荐
这个DBA有点耶2 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶5 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码5 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB9 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence10 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头10 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso12 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
IT大白鼠12 小时前
Docker 实战 ELKF 日志监控:容器日志全栈收集分析方案
运维·docker·容器
煎饼皮皮侠13 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_20 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js