暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

更改在线重做日志大小

问题描述:
近期发现某数据库日志切换频繁,告警检查点未完成( Checkpoint not complete)较为频繁

解决方案:
可考虑新增一组日志组或变更现有日志组大小,本案采用第二种。
切换频率计算:
例如:若一小时切换27次,每个日志文件是50m,那么更高为300M后,切换频率为4.5,计算公式:27*50/300=4.5(次/小时)

具体操作:

– 查询在线重做日志大小
select * from v$log;
– 查询文件位置
select * from v$logfile;

– 新增3组同文件大小的日志组(临时用,若作为永久的,日志文件大小要设定好)
alter database add logfile group 4 '/mnt/eas/oracle/easdata/easdb/redo04.log' size 50m;

alter database add logfile group 5 '/mnt/eas/oracle/easdata/easdb/redo05.log' size 50m;

alter database add logfile group 6 '/mnt/eas/oracle/easdata/easdb/redo06.log' size 50m;

– 切换重做日志,确保在当前日志在 group4、5、6
alter system switch logfile;

– 查看状态若有active 更新检查点
alter system checkpoint;

– 删除原先3组日志(先确定不是当前日志,且已落盘,日志状态为 INACTIVE)

alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

– 操作系统层面,删除日志文件,或者后续增加 reuse参数
rm redo01.log redo02.log redo03.log

–PS,若是不在乎group的组数字,后面步骤可以忽略

– 新增3组重做日志
alter database add logfile group 1 ‘/mnt/eas/oracle/easdata/easdb/redo01.log’ size 300m;
alter database add logfile group 2 ‘/mnt/eas/oracle/easdata/easdb/redo02.log’ size 300m;
alter database add logfile group 3 ‘/mnt/eas/oracle/easdata/easdb/redo03.log’ size 300m;

– 切换重做日志,确保在当前日志在 group4、5、6
alter system switch logfile;

– 查看状态若有active, 刷新检查点
alter system checkpoint;

– 删除转换用的日志组
alter database drop logfile group 4;
alter database drop logfile group 5;
alter database drop logfile group 6;

重点说明:1)日志文件的大小,可根据计算公式,或者希望的日志切换频率,进行更改:

计划的日志文件大小 = 现有频率 * 现有日志文件大小 / 切换频率

切换频率 = 现有频率 * 现有日志文件大小 / 计划的日志文件大小

2)删除在线重做日志文件组或者文件,一定要确保,日志组状态处于INACTIVE```language

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论