oracle 数据库优化案例

问题:电信运营商短信平台,某个过程包执行完一般在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的执行计划进行分析原因

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值