Oracle工具04_SQL Trace/DBMS_SYSTEM

2014-06-25
Created By BaoXinjian

Oracle 1一、摘要


SQL
TRACE是Oracle提供的用于进行SQL跟踪的手腕,是强硬的协助诊断工具。在平常的数据库问题诊断和解决被,SQL
TRACE是雅常用的主意。

诚如,一潮跟踪可以分成以下几步:

1.
范围需要跟的靶子限制,并采取方便的通令启用所用跟踪。

2.
通过一段时间后,停止跟踪。此时应来了一个跟踪结果文件。

3.
找到跟踪文件,并针对那个进行格式化,然后阅读要分析。

另文就介绍了另的跟踪工具DBMS_PROFILER,
Form Trace, Request Trace等

 

Oracle 2老二、明细分析


案例: 跟踪协调之Session中之SQL操作

Step1.
查询好Session的SID和Serial#

Oracle 3

Step2. 启动
SQL Trace节点

begin
 
dbms_system.set_SQL_TRACE_in_session(497,13413,true);
end;

 Step3.
当起步SQL
Trace节点中后,进行SQL操作,系统会自动记录该Session中持有的SQL操作记录,直至关闭

Oracle 4

Step4. 关闭
SQL Trace节点

begin
 
dbms_system.set_sql_trace_in_session(497,13413,false);
end;

Step5.
查看所生的Trace文件目录

SELECT d.VALUE || '' || LOWER(RTRIM(i.instance, CHR(0))) || '_ora_' ||       p.spid || '.trc' trace_file_name  FROM (SELECT p.spid          FROM v$sesstat m, v$session s, v$process p         WHERE m.statistic# = 1           AND s.sid = m.sid           AND p.addr = s.paddr           AND s.sid = 581) p,       (SELECT t.instance          FROM v$thread t, v$parameter v         WHERE v.name = 'thread'           AND (v.VALUE = 0 OR t.thread# = TO_NUMBER(v.VALUE))) i,       (SELECT VALUE FROM v$parameter WHERE NAME = 'user_dump_dest') d;  

Oracle 5

Step6.
Download该trace

Oracle 6

Step7.
在拖欠Trace文件中,可以找到SQL
Trace启动与关闭节点内的SQL,如下图

Oracle 7

Step8.
之后呢只是经过格式化工具tkprof将Trace文件进行格式转化,变成易读文件

tkprof VIS_ora_18295.trc VIS_ora_18295.prf
EXPLAIN=jvi2/jvi2_dev SYS=NO SORT=EXECPU,FCHCPU

此步另文都介绍,略过

 

Thanks and
Regards

Oracle 8

源于为掌握笔记(Wiz)

相关文章