一、通过参数进行清理
1、ARCH_SPACE_LIMIT:Redo日志归档空间限制,当同一节点的本地归档文件或远程归档文件达到限制值时,系统自动删除最早生成的归档日志文件。
0表示无空间限制,取值范围(1024M~2147483647M),对本地归档和远程归档有效,缺省为0。
可手动修改dmarch.ini中ARCH_SPACE_LIMIT参数,也可sql执行。
alter database modify archivelog 'DEST=/data/dmarch, TYPE=LOCAL, FILE_SIZE=128, SPACE_LIMIT=1024';
修改ARCH_RESERVE_TIME为1024,即日志归档空间限制上限为1024M。
2、ARCH_RESERVE_TIME:归档日志保留时间,单位分钟,取值范围(0~4294967294)。只对远程归档和本地归档有效,服务器每隔5分钟检查是否存在超过保留时间的归档并删除。默认为0,表示不删除归档。
手动修改dmarch.ini中ARCH_RESERVE_TIME参数,更改为1440即归档保留24小时。
二、通过系统存储过程和函数进行清理
DM 提供了按指定的时间或指定的 LSN 删除归档日志的系统函数,分别为 SF_ARCHIVELOG_DELETE_BEFORE_TIME和 SF_ARCHIVELOG_DELETE_BEFORE_LSN。
INT
SF_ARCHIVELOG_DELETE_BEFORE_LSN(
lsn bigint
)
功能说明:
数据库以归档模式打开的情况下,删除小于指定 LSN 值的归档日志文件,包括本地归档和远程归档。待删除的文件必须处于未被使用状态
参数说明:
lsn:指定删除的最大LSN值文件,若指定lsn值大于当前正在使用归档日志的起始LSN(arch_lsn),则从当前使用归档文件之前的文件开始删除
返回值:
删除归档日志文件数,-1表示出错
文章
阅读量
获赞