10046和10053使用方法
2016-02-25 15:52
337 查看
1.10046 是用来干嘛的? 跟踪一个sql的,看一个sql的等待事件。
2. 什么时候才要用 10046 呢? (不能抛弃 10046)
①.查看sql等待事件;
②.执行计划是真的;
③.发现 隐含的递归调用的sql;(内部的sql)
select xxx from test where id=1000; ---1秒
delete test where id=1000 ---1分钟
④.研究数据库
3.用10046跟踪一个sql的方法
方法一:
SQL> oradebug setmypid
SQL> alter session set events '10046 trace name context forever ,level 12' ; ++开启当前会话的跟踪
SQL> select * from emp; ++执行需要跟踪的sql
SQL> alter session set events '10046 trace name context off' ; ++关闭当前回环的跟踪
SQL> oradebug tracefile_name
方法二:
SQL> oradebug setmypid /setorapid/setospid/setpname
SQL> oradebug event 10046 trace name context forever,lever n;
SQL> select * from emp;
SQL> oradebug event 10046 trace name context off;
SQL> oradebug tracefile_name
要想 10046 trace 出来有等待事件必须 清空buffer cache
alter system flush buffer_cache;
二、10053 trace
10053 是用来干嘛的?
1.研究cbo(为啥走索引,为啥走全表扫描)看最终sql的 final怎么走的;
2.10053 可以用来检查 cbo 的bug, cbo的 新特征
用1005跟踪一个sql的方法
SQL> oradebug setmypid
SQL> alter session set events='10053 trace name context forever,level 1';
SQL> select * from emp;
SQL> alter session set events '10053 trace name context off';
SQL> oradebug tracefile_name
2. 什么时候才要用 10046 呢? (不能抛弃 10046)
①.查看sql等待事件;
②.执行计划是真的;
③.发现 隐含的递归调用的sql;(内部的sql)
select xxx from test where id=1000; ---1秒
delete test where id=1000 ---1分钟
④.研究数据库
3.用10046跟踪一个sql的方法
方法一:
SQL> oradebug setmypid
SQL> alter session set events '10046 trace name context forever ,level 12' ; ++开启当前会话的跟踪
SQL> select * from emp; ++执行需要跟踪的sql
SQL> alter session set events '10046 trace name context off' ; ++关闭当前回环的跟踪
SQL> oradebug tracefile_name
方法二:
SQL> oradebug setmypid /setorapid/setospid/setpname
SQL> oradebug event 10046 trace name context forever,lever n;
SQL> select * from emp;
SQL> oradebug event 10046 trace name context off;
SQL> oradebug tracefile_name
要想 10046 trace 出来有等待事件必须 清空buffer cache
alter system flush buffer_cache;
二、10053 trace
10053 是用来干嘛的?
1.研究cbo(为啥走索引,为啥走全表扫描)看最终sql的 final怎么走的;
2.10053 可以用来检查 cbo 的bug, cbo的 新特征
用1005跟踪一个sql的方法
SQL> oradebug setmypid
SQL> alter session set events='10053 trace name context forever,level 1';
SQL> select * from emp;
SQL> alter session set events '10053 trace name context off';
SQL> oradebug tracefile_name
相关文章推荐
- ADO助手V1.20发布了---增加根据SQL生成MFC数据库类的功能
- 欢迎使用CSDN-markdown编辑器
- C++的运算符重载
- 资料站点
- ntp源码解读(一)
- BCB 遍历指定目录
- BCB 操作注册表
- Oracle数据库版本定期检视与升级的必要性分析
- HTTP TCP/IP
- jsp页面显示不了
- 关于在android webview中使用File Upload控件的问题
- lucene
- 1101 Quick Sort
- JS获取浏览器信息及屏幕分辨率
- 蓝桥杯:地址转换
- Hibernate的一级缓存、二级缓存和查询缓存。
- VC ADO操作类以及示例
- Innodb中自增长值的列
- Centos6.5使用yum安装mysql——快速上手必备
- 中国首届开发者大会视频大全