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

Oracle alert日志报“DIA0 successfully terminated process”问题分析

IT那活儿 2024-08-26
188

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!   




问题现象



1.1 频繁收到某库“DIA0 successfully terminated process”相关报错告警

1.2 查看alert日志如下




问题分析



2.1 查询OMS
发现日志信息和MOS文档《Error ORA-32701 'On Current SQL: insert into wrh$_sql_bind_metadata' (Doc ID 2226216.1)》相吻合:
相关trc日志中输出信息和以上mos描述吻合:
insert into wrh$_sql_bind_metadata表时超时,直接的影响是awr报告无法生成,如下无1节点的awr报告:
经查询数据库存在大量绑定变量,如下是绑定变量topsql情况:
2.2 MOS给出以下解决方案
经验证,第一点收集表统计信息并未解决问题,而重启和刷新共享内存需要评估业务影响, 未实施。
经原厂确认通过修改隐含参数进行规避,通过设置"_awr_disabled_flush_tables" = 'wrh$_sql_bind_metadata' 参数禁用awr刷新表wrh$_sql_bind_metadata。
alter system set "_awr_disabled_flush_tables" = 'wrh$_sql_bind_metadata' scope=both sid='*'
经过以上隐含参数设置后问题得以解决。

问题结论:

因sql绑定的变量太多,导致生成awr报告时insert into wrh$_sql_bind_metadata表超时,导致报错,并影响awr报告的生成。通过设置隐含参数禁用awr刷新表wrh$_sql_bind_metadata进行规避。

END


本文作者:唐小洪(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论