Oracle 数据库跟踪 SQL 的几种方法
来源:互联网 发布:查看别人淘宝店铺流量 编辑:程序博客网 时间:2024/06/05 22:30
1. 使用 AUTOTRACE 查看执行计划
set autotrace ON | ON EXPLAIN | ON STATISTICS | TRACEONLY | TRACEONLY EXPLAIN
set autotrace OFF
2. 启用 sql_trace 跟踪当前 session
- 开启会话跟踪:alter session set sql_trace=true;
- 关闭会话跟踪:alter session set sql_trace=false;
3. 启用 10046 事件跟踪当前 session
- 开启会话跟踪:alter session set events '10046 trace name context forever, level 12';
- 关闭会话跟踪:alter session set events '10046 trace name context off';
- 对跟踪文件加标识:alter session set tracefile_identifier='dragon';
SQL> host dir E:\ORACLE\PRODUCT\10.2.0\ADMIN\BYISDB\UDUMP\ 驱动器 E 中的卷是 DISK1_VOL3 卷的序列号是 609E-62D9 E:\ORACLE\PRODUCT\10.2.0\ADMIN\BYISDB\UDUMP 的目录 2012-07-19 17:58 <DIR> .2012-07-19 17:58 <DIR> ..2012-07-19 17:58 3,057 byisdb_ora_704.trc2012-07-19 17:58 169,447 byisdb_ora_704_dragon.trc 2 个文件 172,504 字节 2 个目录 22,060,634,112 可用字节
4. 启用 10046 事件跟踪全局 session
这将会对整个系统的性能产生严重的影响,所以一般不建议开启。
- 开启会话跟踪:alter system set events ‘10046 trace name context forever, level 12’;
- 关闭会话跟踪:alter system set events ‘10046 trace name context off’;
5. 使用 Oracle 系统包 DBMS_SYSTEM.SET_EV 跟踪指定 session
PROCEDURE SET_EV
参数名称 类型 输入/输出默认值?
------------------------------ ----------------------- ------ --------
SI BINARY_INTEGER IN
SE BINARY_INTEGER IN
EV BINARY_INTEGER IN
LE BINARY_INTEGER IN
NM VARCHAR2 IN
参数说明:
SI-指定SESSION的SID;
SE-指定SESSION的SE;
EV-事件ID(如:10046);
LE-表示TRACE的级别;
NM-指定SESSION的username;
SQL> select userenv('sid') sid from dual; SID---------- 143SQL> select sid, serial#, username from v$session where sid=143; SID SERIAL# USERNAME---------- ---------- ------------------------------ 143 112 UNA_HR
- 开启会话跟踪:SQL> exec dbms_system.set_ev(143, 112, 10046, 12, '');
- 关闭会话跟踪:SQL> exec dbms_system.set_ev(143, 112, 10046, 0, '');
6. 获取跟踪文件
SQL> select pr.value || '\' || i.instance_name || '_ora_' || to_char(ps.spid) || '.trc' "trace file name" from v$session s, v$process ps, v$parameter pr, v$instance i where s.paddr = ps.addr and s.sid = userenv('sid') and pr.name = 'user_dump_dest';trace file name--------------------------------------------------------------------------------E:\ORACLE\PRODUCT\10.2.0\ADMIN\BYISDB\UDUMP\byisdb_ora_372.trc
7. 使用 TKPROF 工具格式化
tkprof tracefile outputfile [options]
E:\oracle\product\10.2.0\admin\byisdb\udump>tkprof byisdb_ora_704.trc 10046.txt sys=no sort=prsela, exeela, fchela
- Oracle 数据库跟踪 SQL 的几种方法
- Oracle 数据库跟踪 SQL 的几种方法
- Oracle 数据库跟踪 SQL 的几种方法
- SQL SERVER访问Oracle数据库服务器的几种方法
- Oracle数据库sql语句的跟踪
- sql跟踪日志trc导入数据库的2种方法
- 连接oracle数据库的几种方法
- SQL SERVER 2000中访问Oracle数据库服务器的几种方法
- SQL SERVER 20000访问ORACLE数据库服务器的几种方法
- 在oracle中跟踪会话执行语句的几种方法
- 在oracle中跟踪会话执行语句的几种方法
- oracle数据库性能监控的SQL的几种情况
- oracle数据库性能监控的SQL的几种情况
- 在开发中如何跟踪Oracle数据库SQL的执行
- 介绍几种大型的Oracle/SQL Server数据库免费版
- 在Oracle中执行动态SQL的几种方法
- 在Oracle中执行动态SQL的几种方法
- 在Oracle中执行动态SQL的几种方法
- 20140621——HCRF for Gesture Recognition
- 实训学习课——C#(第二篇)
- O/S学习路线图
- 装饰设计模式——诺诺"涂鸦"记忆
- 设计模式在游戏中的应用说明(一)
- Oracle 数据库跟踪 SQL 的几种方法
- Reverse Integer
- ARM 预定义的核心寄存器名称
-
- 指针知识梳理8- 指针的指针
- 现在公开一个DHT网络爬虫网络爬虫供大家一起交流
- ~
- C中的volatile用法
- 硬件面试题