达梦数据库如何清理归档日志

 

1.修改配置参数dmarch.ini
ARCH_SPACE_LIMIT
ARCH_SPACE_LIMIT:Redo日志归档空间限制,当同一节点的本地归档文件或远程归档文件达到限制值时,系统自动删除最早生成的归档日志文件.
0表示无空间限制,取值范围(1024M~2147483647M),对本地归档和远程归档有效,缺省为0

或是通过SQL修改
alter database modify archivelog 'DEST=/dmdbms/arch, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=102400';


2.修改配置参数dmarch.ini
ARCH_RESERVE_TIME:归档日志保留时间,单位分钟,取值范围(0~4294967294)只对远程归档和本地归档有效.服务器每隔5分钟检查是否存在超过保留时间的归档并删除.默认为0,表示不删除归档.

3.调用存储过程SF_ARCHIVELOG_DELETE_BEFORE_TIME
如:删除一天之前的归档日志
SELECT SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE-1);

 

可以创建执行脚本后台运行

[dmdba@localhost tmp]$ vi test.sh 
#!/bin/bash
disql SYSDBA/'"dameng123"'@192.168.1.136:5236<<EOF
select sf_archivelog_delete_before_time(sysdate-1);
exit
EOF

 

 

 

 

4.调用存储过程SF_ARCHIVELOG_DELETE_BEFORE_LSN

该函数返回删除的归档日志文件个数,其中归档日志的有效LSN范围可以通过V$ARCH_FILE查看.
删除 LSN 值小于 95560 的归档日志文件
SELECT SF_ARCHIVELOG_DELETE_BEFORE_LSN(95560);

 

5.dmrachk工具
删除该时间点之前的文件
dmrachk ARCH_PATH=/dmdbms/arch CHECK=4 BEFORE_TIME=2022-05-16

删除该LSN之前的文件
dmrachk ARCH_PATH=/dmdbms/arch CHECK=4 BEFORE_LSN=4296300

posted @   slnngk  阅读(1413)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示