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

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

相关推荐
LUCIAZZZ37 分钟前
简单的SQL语句的快速复习
java·数据库·sql
马立杰1 小时前
H3CNE-33-BGP
运维·网络·h3cne
云空2 小时前
《DeepSeek 网页/API 性能异常(DeepSeek Web/API Degraded Performance):网络安全日志》
运维·人工智能·web安全·网络安全·开源·网络攻击模型·安全威胁分析
Elastic 中国社区官方博客2 小时前
使用真实 Elasticsearch 进行高级集成测试
大数据·数据库·elasticsearch·搜索引擎·全文检索·jenkins·集成测试
@_@哆啦A梦3 小时前
Redis 基础命令
java·数据库·redis
fajianchen3 小时前
MySQL 索引存储结构
数据库·mysql
没有名字的小羊3 小时前
Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)
运维·网络·安全
想做富婆3 小时前
oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
数据库·oracle·联合查询
千夜啊3 小时前
Nginx 运维开发高频面试题详解
运维·nginx·运维开发
存储服务专家StorageExpert4 小时前
答疑解惑:如何监控EMC unity存储系统磁盘重构rebuild进度
运维·unity·存储维护·emc存储