达梦的归档日志参数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参数,我们可以在配置归档时,顺便配置其其保留的时间,不再需要额外配置脚本去清理归档日志。

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

相关推荐
爱学习的小可爱卢几秒前
SpringCloud——微服务排错实战:从Gateway到Feign全链路解析
运维·springcloud
XIAOYU6720139 分钟前
自动化考什么证书对就业有帮助?大学生就业规划与证书路线全攻略
运维·自动化
Macbethad10 分钟前
基于WPF与.NET的洁净厂房数据孪生平台技术方案:架构、实现与SEMI标准实践
数据库·系统架构
Yana.nice11 分钟前
Linux logrotate 日志切割未生效
linux·运维·服务器
运维老郭19 分钟前
Ubuntu下编译安装Redis:从0到1可用的完整指南
运维·云原生
爱喝水的鱼丶21 分钟前
SAP-ABAP:一次关于“交货日期”的增强需求:从复杂增强到标准功能的回归之旅
运维·开发语言·性能优化·sap·abap·经验交流
运维大师25 分钟前
【K8S 运维实战】07-Pod生命周期与故障排查
运维·容器·kubernetes
OpenAnolis小助手31 分钟前
龙蜥社区智算联盟发布《智算集群基础设施运维通用技术要求》(附下载链接)
运维·人工智能·智算运维·龙蜥智算联盟
咏方舟【长江支流】31 分钟前
【开源】跨语言·跨平台·跨数据库(6) ——一种ORM缓存的接口实现和容错处理
数据库·缓存·开源·咏方舟-长江支流·用宝框架
努力进修41 分钟前
破除工业 AI 业务落地壁垒:多模时序融合架构重塑设备全维度数据价值
数据库·人工智能·架构