2024-05-18
在 Oracle 数据库中,某系统的联机重做日志文件频繁切换,导致系统性能受到一定影响,分析可能的原因有哪些,以及应该如何排查和解决这个问题?
在 Oracle 数据库中,某系统的联机重做日志文件频繁切换,导致系统性能受到一定影响,分析可能的原因有哪些,以及应该如何排查和解决这个问题?
收藏
分享
4条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
在 Oracle 数据库中,某系统的联机重做日志文件频繁切换,导致系统性能受到一定影响,分析可能的原因有哪些,以及应该如何排查和解决这个问题?
原因:
基本上都是增删改操作,一般情况是频繁刷新物化视图、程序bug或程序需求进行大量增删改数据,永久表当临时表用,每次还都是delete
排查方法:
先从归档日志确定是否存在峰值情况,如果有峰值去分析峰值时段归档日志操作了什么从而定位。
如果没有峰值你可以分时段找几个归档分析每个归档动哪个操作最平凡。
长期你可以做表大小统计,观察一段时间也可以揪出来哪个表。
解决方法:
降低物化视图刷新频率,或者改为普通视图
临时用的中转表就改为临时表
看情况把delete改为truncate
如果还是需要大量的delete类似删除历史数据的,可以根据情况改为分区表去删除
如果以上都没有优化空间可以适当扩大增多redo
评论
有用 1
原因:
基本上都是增删改操作,一般情况是频繁刷新物化视图、程序bug或程序需求进行大量增删改数据,永久表当临时表用,每次还都是delete
排查方法:
先从归档日志确定是否存在峰值情况,如果有峰值去分析峰值时段归档日志操作了什么从而定位。
如果没有峰值你可以分时段找几个归档分析每个归档动哪个操作最平凡。
长期你可以做表大小统计,观察一段时间也可以揪出来哪个表。
解决方法:
降低物化视图刷新频率,或者改为普通视图
临时用的中转表就改为临时表
看情况把delete改为truncate
如果还是需要大量的delete类似删除历史数据的,可以根据情况改为分区表去删除
如果以上都没有优化空间可以适当扩大增多redo
评论
有用 2
墨值悬赏