当前位置:首页 > 理财有道

elapsed 诊断案例:Failed parse elapsed time引发db time过高的案例

作者|卢:云和恩墨交付工程师,有多年数据库运维经验,擅长数据库性能优化和数据迁移,长期服务于政府、能源、通信等行业客户。

在awr的时间模型统计中有一个失败的解析运行时间指示器,它指的是执行SQL解析所花费的时间,最终由于一些解析错误而失败。在12.2版之前,我们可以通过事件10035来跟踪这个异常的根本原因。对于12.2版,我们可以在alert中直接查看分析。

抽象的

这几天遇到一个awr,发现它的db时间比平时高200倍左右,这个时间段(大概一个小时)的对话是平时的两倍,但是对应awr中Load Profile的一些指标,比如执行、事务、重做大小等。,而不是通常的减少,这引起了我的好奇心,所以我想探索。

1.awr分析

下图显示了高负载期间的awr

从上面可以看出,DB Time为2458.93分钟,平均每秒40.98 dbtime,也就是说,节点1的活动会话数平均为40.98(不包括数据库后台进程会话)。对于8 cpus的服务器,DB占CPU资源的512.25%。

我们在看一段正常的db时间(我的一个随机截图,通常db时间在80到120左右)

比较负载概况中的信息

通过比较大多数负载概况指标,可以发现事务量、解析次数、日志、执行频率等。正常时期的低于高负载时期的,这意味着系统的运行效率在高负载时期下降,或者系统的运行没有随着会话(业务量)的增加而增加。

根据前5条,发现SQL*Net break/reset到客户端先等待。

使用db_link时,如果应用运行不正确,服务器端本地服务进程会将信息通知给远程客户端,服务进程在通知过程中等待SQL*Net break/reset给客户端,直到客户端收到问题信息,这种情况一般是应用端捕获异常不够造成的,可以通过10046事件捕获。

但是,我今天想研究的是下面这个。在这个环境下,它呼应了上面的等待事件,因为这个系统中的大量数据操作都是通过dblink实现的;

失败的解析运行时间意味着当我们的sql被硬解析时,出现了一个错误。错误的主要原因可能包括:SQL语法错误、对象不存在、权限不足。我们正在查看高负载期间的实例活动统计数据

硬解析次数143次,解析失败次数已达131次。我们看到的是一段正常的时间

我们可以通过10035事件观察解析sql失败的操作,找到问题语句,从而改善代码处理逻辑,降低解析失败的概率,一定程度上减少了SQL*Net break/reset对客户端等待事件的影响。

其次,测试环境模拟10035来观察失败的sql

创建一个测试表;

SQL >从v$mystat中将表aa创建为select *,其中rownum & lt6;

表已创建。

SQL >desc aa;

名字Null?类型

- - -

样本号

统计数字

计算值接收数

打开10035事件,做一些错误sql;

SQL >从aa中选择sdi1

从aa中选择sdi1

*

第1行出错:

ORA-00904:“SDI 1”:无效标识符

SQL >更新aa set sid=sysdate,其中value = 0;

更新aa set sid=sysdate,其中值=0

*

第1行出错:

ORA-00932:不一致的数据类型:预期的数字得到日期

SQL >从抄送中选择*;

从抄送中选择*

*

第1行出错:

ORA-00942:表或视图不存在

检查跟踪日志

Fri 2016年5月06日05:05:04

PARSE ERROR: ospid=23029,语句的error=904:

从aa中选择sdi1

附加信息:HD = 0x 861 a 7168 PhD = 0x 861 DFC 90 flg = 0x 20 cisid = 0 sid = 0 ciid = 0 uid = 0

Fri 2016年5月06日05:06:10

PARSE ERROR: ospid=23029,语句的error=932:

更新aa set sid=sysdate,其中值=0

附加信息:HD = 0x 85132 Fe 8 PhD = 0x 853760 b 0 flg = 0x 20 cisid = 0 sid = 0 ciid = 0 uid = 0

Fri 2016年5月06日05:06:43

PARSE ERROR: ospid=23029,语句的error=942:

从抄送中选择*

附加信息:HD = 0x 852332 a 0 PhD = 0x 8524d 360 flg = 0x 28 cisid = 0 sid = 0 ciid = 0 uid = 0

通过10035事件,可以帮助我们发现程序中需要改进的不完善的sql语句;作为临时解决方案,您还可以调整_cursor_features_enabled的隐藏参数。对于具体的调整方式,可以查看mos文档:

如何识别硬解析失败(文档号1353015.1)

解决由于在分析/执行时SQL接收错误导致的高“分析失败运行时间”问题(文档标识1476070.1)

1.《elapsed 诊断案例:Failed parse elapsed time引发db time过高的案例》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《elapsed 诊断案例:Failed parse elapsed time引发db time过高的案例》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1484952.html

上一篇

男人40 男人四十(一枝花)那四十以后是什么

下一篇

日照社区 山东省日照市2847个行政村统一规划为402个社区

特斯拉维权女车主拘留期满已被释放 事件详细经过!

特斯拉维权女车主拘留期满已被释放 事件详细经过!

特斯拉维权女车主已被释放特斯拉维权女车主已被释放4月25日上午,在上海车展上“站车顶维权”的安阳女车主张某拘留期满释放,车主张某离开拘留所后来到了她丈夫李先生所在的酒店。张某因扰乱公共秩序被处以行政拘留五日。已经向河南省监管局、省消费者协会投诉特斯拉,希望得到他们的解释。...

人生遥控器百度影音 电影时间的一百万种玩法:从入门级到骨灰级(第1171期)

  • 人生遥控器百度影音 电影时间的一百万种玩法:从入门级到骨灰级(第1171期)
  • 人生遥控器百度影音 电影时间的一百万种玩法:从入门级到骨灰级(第1171期)
  • 人生遥控器百度影音 电影时间的一百万种玩法:从入门级到骨灰级(第1171期)

抢尸 “警察抢尸”事件:并非抢尸,死者家属道歉

据新华社合肥1月2日电近日,“安徽省宿松县惠德中学18岁男童无故死亡,政府未采取任何措施组织警方抢尸”的视频被上传至网络,迅速引起公众关注。记者从宿松县了解到,这名少年被诊断为心脏性猝死。目前学校秩序已经恢复正常,家属...

胡岩 后富隆山村第一书记胡岩:和时间赛跑 与病魔较量

胡岩 后富隆山村第一书记胡岩:和时间赛跑 与病魔较量

2015年底,一个身影出现在南票区沙果屯乡后福龙村。他叫胡岩,是省里新任命的驻村副队长,村民们亲切地称他为胡姬叔。他的到来给后福龙山村带来了翻天覆地的变化。胡岩出生在一个工薪家庭。2015年11月,他来到南票区卡沙屯乡...

印度火化场地和木柴出现短缺 多个火葬场遗体积压 事件详细经过!

印度火化场地和木柴出现短缺 多个火葬场遗体积压 事件详细经过!

印度火化场地和木柴出现短缺“疫情失控”、“人间炼狱”,连日来,印度疫情持续引发关注,已经完全“失控”……据印度卫生部公布的最新数据,截至当地时间4月24日8时,过去24小时内,印度新增新冠肺炎确诊病例346786例,累计确诊16610481例。印媒《印度时报》(TheTimesofIndia)4月23日还援引“官方消息”报道称,印度确实希望从国外进口氧气,但不是从中国...

全国现有高风险地区2个  中风险地区1个 事件详情始末介绍!

全国现有高风险地区2个  中风险地区1个 事件详情始末介绍!

原标题:最新!全国现有高风险地区2个,中风险地区1个...

印度地方政府拦截运氧车 部分宗教场所被改造成“吸氧中心” 事件的真相是什么?

印度地方政府拦截运氧车 部分宗教场所被改造成“吸氧中心” 事件的真相是什么?

据印度媒体24日统计,在过去24小时内,印度铁路已向全国运送了近150吨医用氧气。在印度北方邦首府勒克瑙的一家制氧厂前,许多医务人员、社区工作人员还有普通市民,都带着空的氧气罐在工厂外排起长队。在印度孟买市的一处疫苗接种点,大批市民在排队等待,希望能尽快接种疫苗。...

偷腥门 当年鲁尼偷腥门事件女主教汤普森晨练,七年以后风韵犹存巴神曾被她征服

  • 偷腥门 当年鲁尼偷腥门事件女主教汤普森晨练,七年以后风韵犹存巴神曾被她征服
  • 偷腥门 当年鲁尼偷腥门事件女主教汤普森晨练,七年以后风韵犹存巴神曾被她征服
  • 偷腥门 当年鲁尼偷腥门事件女主教汤普森晨练,七年以后风韵犹存巴神曾被她征服