欢迎来到天天文库
浏览记录
ID:32188463
大小:205.50 KB
页数:14页
时间:2019-02-01
《对oracle问题sql的查找和分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、附件:典型经验对Oracle问题SQL的查找和分析报送单位:宁夏电力公司审核人:李月华类型:业务应用关键字:Oracle优化SQL速度慢1、引言各业务应用系统的问题SQL是目前应用系统宕机的重要影响因素,当程序中存在执行效率极差的SQL语句或不当的索引时,会导致ORACLE数据库响应缓慢,部分还导致了应用系统内存溢出及weblogic应用服务器宕机,同时占有了大量的系统物理资源。2、现象描述宁夏电力公司综合数据库主要运行着“SG186工程”综合业务应用近15个小型业务应用系统,主要包括远程教育培训、经济法律、安监系统、审计系统等等。在日常运维过程中,多次发生了ORAC
2、LERAC集群单节点宕机的问题。硬件:服务器:IBMP570Power52.2GHz×4,7744MRAM存储:HPXP24000软件:操作系统:IBMAIX5.3.0.5+HACMP5.3数据库:ORACLE10G10.2.0.3RAC10.216.3.*1zhnxdb110.216.3.*2zhnxdb2处理过程问题分析1)ORACLEAWR报告分析Top5TimedEventsZhnxdb1:Zhnxdb2:查看时间模型统计信息,可以看到zhnxdb1大量的数据库时间被enq:TX–rowlockcontention所消耗,另外还有dbfilescattered
3、read,gccrmultiblockrequest,dbfilesequentailread。Zhnxdb2的大量时间被CPUtime和dbfilescatteredread,gccrmultiblockrequest,dbfilesequentailread,controlfilesequentialread消耗。从top5事件可以看到两个实例都产生了大量的I/O读写操作,实例2在有大部分CPUtime的同时又大量的I/O读写操作,这里的CPUtime只要是执行SQL语句占用。TX–rowlockcontention的出现,主要原因是系统中有多个会话同时对单一数据
4、表进行修改而导致。该问题经常UPDATE、DELETE等语句导致。dbfilescatteredread问题主要是由于对数据库表的大量全表扫描而发生,产生数据表的连续读取数据排队问题,该问题经常出现在数据表中存在不合理的索引而导致。AWR报告TimeModelStatisticsZhnxdb1:Zhnxdb2:根据时间模型确定影响性能主要原因为问题SQL语句:SQL语句执行持续时间(sqlexecuteelapsedtime),实例1占了DBtime的99.06%,实例2占了Dbtime的95.82%。2)对AWR报告SQL语句长时间执行问题Zhnxdb1:Zhnxd
5、b2:下面依次分析占用时间最长的几条SQL语句:1、SELECT*FROM(SELECTROW_.*,ROWNUMROWNUM_FROM(selectdistincti.*from(selectdistinct*from(selectsubstr(t.SOURCE_REFERENCE_ID,4,length(t.SOURCE_REFERENCE_ID)-4)id,g.user_id,to_char(t.create_time,'yyyy-mm-dd')fdatefromwf_activityt,wf_assignment_endg,law_t_contract_inf
6、oiwheret.activity_id=g.activity_idandsubstr(t.SOURCE_REFERENCE_ID,4,length(t.SOURCE_REFERENCE_ID)-4)=i.idunionselectsubstr(t.SOURCE_REFERENCE_ID,4,length(t.SOURCE_REFERENCE_ID)-4)id,t.user_id,to_char(t.create_time,'yyyy-mm-dd')fdatefromwf_end_task_listt))T,law_t_contract_infoiwhereT.id=
7、i.idandT.USER_ID='O00000000002372'andt.fdateLIKE'2011-07%'ort.fdateLIKE'2011-08%'ort.fdateLIKE'2011-09%'orderbyi.CREATE_DATE)ROW_WHEREROWNUM<=:1)WHEREROWNUM_>:2该语句为经济法律系统问题SQL语句,五层嵌套,效率极差,同时通过执行计划分析,存在全表扫描。2、SELECTCOUNT(1)FROM(selectdistincti.*from(selectdistinct*from(selectsub
此文档下载收益归作者所有