您的位置:首页 > 数据库 > Oracle

oracle 数据库优化案例

2016-08-20 10:13 253 查看
问题:电信运营商短信平台,某个过程包执行完一般在10s,不知何种原因执行后长达1分钟,造成短信挤压。

1、诊断 模拟后台调用该包的时候传入的参数手动执行该包,然后开启Oracle的Trace跟踪工具,该过程执行完后关闭跟踪

alter session set events '10046 trace name context forever,level 12'; --用10046trace工具开始跟踪

exec pkg_test('abc'); --执行你的数据库包

alter session set events '10046 trace name context off'; --执行完毕后结束跟踪

10046 trace工具跟踪完毕后会输出分析结果,类似如下: E:\admin\ora10\udump\ora10_ora_4832.trc

可格式化后进行分析,类似如下: tkprof E:\admin\ora10\udump\ora10_ora_4832.trc d:\10046.txt sys=no sort=prsela,exeela,fchela

然后分析10046.txt的文件,这里响应事件从大到小展现该包所有SQL语句,即可有如下收获:该过程包总共执行了多少SQL语句,具体内容是什么,分别开销了多少时长?哪些是开销时长最长的语句?(已排序,最前端)

2、查看SQL的执行计划进行分析原因
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: