91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL_TRACE使用案例

發布時間:2020-07-30 11:31:29 來源:網絡 閱讀:660 作者:lanniaode 欄目:關系型數據庫

  SQL_TRACE主要是為了追蹤SQL的執行過程,分析SQL的性能,資源消耗情況。

它可以查看SQL是如何操作處理數據、在執行過程中產生了哪些等待事件,查看sql在執行過程中的資源消耗、可以查看sql的遞歸語句,是sql的實際執行計劃。

(1)開啟跟蹤

  • 跟蹤自己的會話很簡單

SQL>alter session set tracefile_identifier='mysession'; ---給當前會話一個標示,便于查找跟蹤生成的文件

Alter session set sql_trace= true;
或者
exec dbms_session.set_sql_trace(true);

 

  • 如果跟蹤別人的會話,需要調用一個包
    exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false);

  • 整個數據庫系統跟蹤


      alter system set sql_trace=true; ---
11g中已經不推薦使用

(2)執行sql語句

  SQl >select * from SCOTT.DEPT; --當前會話執行的語句

  或者如果跟蹤別人的會話則等待別的會話執行sql語句

(3)關閉跟蹤

  • 關閉跟蹤自己的會話
    Alter session set sql_trace= false;
    或者
    exec dbms_session.set_sql_trace(false);

 

  • 如果跟蹤別人的會話,需要調用一個包
    exec dbms_system.set_sql_trace_in_session(sid,serial#,false);

  • 關閉整個數據庫系統跟蹤


     alter system set sql_trace=
false; ---11g中已經不推薦使用
(4)查找跟蹤文件

  在$ORACLE_BASE/admin/sid/udump下找到跟蹤文件,比如前面設置標示符為'mysession'trace文件

 

或者用腳本查看跟蹤文件位置(當前會話):

select d.value||'\'||lower(rtrim(i.instance,chr(0)))||'_ora_'||p.spid||'.trc'trace_file_name from

(select p.spid from v$mystat m, v$session s,v$process p wherem.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr ) 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;

 

5)格式化跟蹤文件

 

tkprof  跟蹤文件名  輸出文件名

 

 (6)案例1(當前會話跟蹤)

【示例】:

SQL>  alter session set tracefile_identifier='mysession';

 

會話已更改。

 

SQL>  Alter session set sql_trace= true;

 

會話已更改。

 

SQL>  select * from SCOTT.DEPT;

 

    DEPTNO DNAME                        LOC

----------  ---------------------------- --------------------------

        50 ACCOUNTINGcs                 NEW YORK

        60 RESEARCHcs                   DALLAS

        70 SALEScs                      CHICAGO

        80 OPERATIONScs                 BOSTON

        51 ACCOUNTINGcscs               NEW YORK

        61 RESEARCHcscs                 DALLAS

        71 SALEScscs                    CHICAGO

        81 OPERATIONScscs               BOSTON

        11 ACCOUNTINGcs                 NEW YORK

        21 RESEARCHcs                   DALLAS

        31 SALEScs                      CHICAGO

 

    DEPTNO DNAME                        LOC

----------  ---------------------------- --------------------------

        41 OPERATIONScs                 BOSTON

        10 ACCOUNTING                   NEW YORK

        20 RESEARCH                     DALLAS

        30 SALES                        CHICAGO

        40 OPERATIONS                   BOSTON

 

已選擇16行。

 

SQL>  Alter session set sql_trace= false;

 

會話已更改。

SQL>  select d.value||'\'||lower(rtrim(i.instance,chr(0)))||'_ora_'||p.spid||'.tr

c'  trace_file_name from(select p.spid from v$mystat m, v$session s,v$process p w

here  m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr ) p, (select t.inst

ance 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 = 'u

ser_dump_dest')  d;

 

TRACE_FILE_NAME

--------------------------------------------------------------------------------

 

e:\app\yan\diag\rdbms\orcl\orcl\trace\orcl_ora_1584.trc

 

進入命令行:

C:\Users\yan>e:

 

E:\>cd  E:\app\yan\diag\rdbms\orcl\orcl\trace

 

由于剛才用了標示符,所以跟蹤文件多了mysessio字符串:

E:\app\yan\diag\rdbms\orcl\orcl\trace>tkprof  orcl_ora_1584_mysession.trc orcl_or

a_1584_mysession.txt

 

TKPROF:  Release 11.2.0.1.0 - Development on 星期三 3月 26 15:47:50 2014

 

Copyright (c) 1982, 2009, Oracle and/or its  affiliates.  All rights reserved.

 

    案例2(跟蹤別人的會話)

【示例】:

 

當前會話執行:

SQL>  select distinct sid from v$mystat;

 

       SID

----------

       134

另一個會話執行:

SQL>  select distinct sid from v$mystat;

 

       SID

----------

       141

 

當前會話執行:

SQL>  select sid,serial# from v$session where sid in (141,134);

 

       SID     SERIAL#

----------  ----------

       134       7471

       141      14317

 

SQL>  execute sys.dbms_system.set_sql_trace_in_session(141,14317,true);

 

PL/SQL 過程已成功完成。

 

另一個會話執行:

 

SQL>  select count(*) from SCOTT.t1;

 

  COUNT(*)

----------

     72564

 

當前會話執行:

SQL>  execute sys.dbms_system.set_sql_trace_in_session(141,14317,false);

 

PL/SQL 過程已成功完成。

 

進入命令行:

C:\Users\yan>e:

 

E:\>cd  E:\app\yan\diag\rdbms\orcl\orcl\trace

 

由于剛才用了標示符,所以跟蹤文件多了mysessio字符串:

E:\app\yan\diag\rdbms\orcl\orcl\trace>tkprof  orcl_ora_12224.trc orcl_or

a_12224.txt

 

TKPROF:  Release 11.2.0.1.0 - Development on 星期三 3月 26 15:47:50 2014

 

Copyright (c) 1982, 2009, Oracle and/or its  affiliates.  All rights reserved.

 

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

远安县| 格尔木市| 沁阳市| 乐清市| 泰安市| 慈溪市| 邳州市| 山阳县| 万宁市| 兰溪市| 博野县| 雷山县| 新龙县| 罗江县| 清涧县| 阳原县| 常宁市| 昌宁县| 河东区| 台前县| 云安县| 惠来县| 合阳县| 治多县| 阿坝| 石屏县| 甘泉县| 高唐县| 沁阳市| 南安市| 故城县| 贡山| 犍为县| 华宁县| 红河县| 新安县| 盐边县| 朝阳区| 兰考县| 图木舒克市| 泰和县|