成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

在oracle中跟蹤會話執(zhí)行語句的幾種方法分別是什么

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)在oracle中跟蹤會話執(zhí)行語句的幾種方法分別是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司10多年企業(yè)網(wǎng)站建設(shè)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站建設(shè)及推廣,對成都小攪拌車等多個行業(yè)擁有多年建站經(jīng)驗的網(wǎng)站建設(shè)公司。

生成sql trace可以有以下幾種方式:

1、參數(shù)設(shè)置:非常傳統(tǒng)的方法。

系統(tǒng)級別:

參數(shù)文件中指定: sql_trace=true

SQL> alter system set sql_trace=true;

注意:系統(tǒng)級別啟用sql_trace,會產(chǎn)生大量trace文件,很容易耗盡磁盤空間,因此一般設(shè)置會話級別,并且及時關(guān)閉。

會話級別:

SQL> alter session set sql_trace=true;

SQL> 執(zhí)行sql

SQL> alter session set sql_trace=false;

啟用跟蹤后,跟蹤文件保存在user_dump_dest下

可以使用下面的查詢來找到生成的跟蹤文件

SQL> select

  2  d.value||'/'||lower(rtrim(i.instance,

  3  chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name

  4  from ( select p.spid

  5  from v$mystat m,

  6  v$session s,v$process p

  7  where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,

  8  ( select t.instance from v$thread  t,v$parameter v

  9  where v.name = 'thread' and

 10  (v.value = 0 or t.thread# = to_number(v.value))) i,

 11  ( select value from v$parameter

 12  where name = 'user_dump_dest') d

 13  /

TRACE_FILE_NAME

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

/oracle/admin/RLZY/udump/rlzy_ora_721532.trc

也可以給要生成的跟蹤文件指定標(biāo)識符來讓你更容易的找到跟文件

SQL> alter session set tracefile_identifier='jingyong';

2、使用10046事件:

10046事件級別:

Lv0  - 禁用sql_trace,等價于sql_trace=false

Lv1  - 啟用標(biāo)準(zhǔn)的sql_trace功能,等價于sql_trace=true

Lv4  - Level 1 + 綁定變量值(bind values)

Lv8  - Level 1 + 等待事件跟蹤(waits)

Lv12 - Level 1 + Level 4 + Level 8

全局設(shè)定:

參數(shù)文件中指定: event="10046 trace name context forever,level 12"

或者

SQL> alter system set events '10046 trace name context forever, level 12';

SQL> alter system set events '10046 trace name context off';

注意:系統(tǒng)級別啟用sql_trace,會產(chǎn)生大量trace文件,很容易耗盡磁盤空間,因此一般設(shè)置會話級別,并且及時關(guān)閉。

當(dāng)前session設(shè)定:

SQL> alter session set events '10046 trace name context forever, level 12';

SQL> 執(zhí)行sql

SQL> alter session set events '10046 trace name context off';

3、dbms_session包:只能跟蹤當(dāng)前會話,不能指定會話。

跟蹤當(dāng)前會話:

SQL> exec dbms_session.set_sql_trace(true);

SQL> 執(zhí)行sql

SQL> exec dbms_session.set_sql_trace(false);

dbms_session.set_sql_trace相當(dāng)于alter session set sql_trace,從生成的trace文件可以明確地看

alter session set sql_trace語句。

使用dbms_session.session_trace_enable過程,不僅可以看到等待事件信息還可以看到綁定變量信息,

相當(dāng)于alter session set events '10046 trace name context forever, level 12';語句從生成的trace文件可以確認(rèn)。

SQL> exec dbms_session.session_trace_enable(waits=>true,binds=>true);

SQL> 執(zhí)行sql

SQL> exec dbms_session.session_trace_enable(); 

4、dbms_support包:不應(yīng)該使用這種方法,非官方支持。

系統(tǒng)默認(rèn)沒有安裝這個包,可以手動執(zhí)行$ORACLE_HOME/rdbms/admin/bmssupp.sql腳本來創(chuàng)建該包

跟蹤當(dāng)前會話:

SQL> exec dbms_support.start_trace

SQL> 執(zhí)行sql

SQL> exec dbms_support.stop_trace

跟蹤其他會話:等待事件+綁定變量,相當(dāng)于level 12的10046事件。

SQL> select sid,serial#,username from v$session where ...;

SQL> exec dbms_support.start_trace_in_session(sid=>sid,serial=>serial#,waits=>true,binds=>true);

SQL> exec dbms_support.stop_trace_in_session(sid=>sid,serial=>serial#);

5、dbms_system包:

跟蹤其他會話:

使用dbms_system.set_ev設(shè)置10046事件

SQL> select sid,serial#,username from v$session where ...;

SQL> exec dbms_system.set_ev(sid,serial#,10046,12,'');

SQL> exec dbms_system.set_ev(sid,serial#,10046,0,'');

但經(jīng)過測試在10g中使用級別為8,12的跟蹤并沒有在跟蹤文件中生產(chǎn)等待事件信息

6、dbms_monitor包:10g提供,功能非常強大??稍谀K級別、動作級別、客戶端級別、數(shù)據(jù)庫級別、會話級別進(jìn)行跟蹤。oracle官方支持。

跟蹤當(dāng)前會話:

SQL> exec dbms_monitor.session_trace_enable;

SQL> 執(zhí)行sql

SQL> exec dbms_monitor.session_trace_disable;

跟蹤其他會話:

SQL> exec dbms_monitor.session_trace_enable(session_id=>sid,serial_num=>serial#,waits=>true,binds=>true);

SQL> exec dbms_monitor.session_trace_disable(session_id=>sid,serial_num=>serial#);

7、oradebug

這是sqlplus的工具,需要提供OSPID或者oracle PID。

跟蹤當(dāng)前會話:

SQL> oradebug setmypid;

Statement processed.

SQL> oradebug unlimit;

Statement processed.

SQL> oradebug event 10046 trace name context forever,level 12;

Statement processed.

SQL> 執(zhí)行sql

SQL> oradebug tracefile_name

SQL> oradebug event 10046 trace name context off;

Statement processed.

跟蹤其他會話:

SQL> select spid,pid2  from v$process

  2  where addr in (select paddr from v$session where sid=(select distinct sid from v$mystat));

SPID                PID

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

1457                 313

SQL> oradebug setospid 1457;

Statement processed.

或者

SQL> oradebug setorapid 313;

Statement processed.

SQL> oradebug unlimit;

Statement processed.

SQL> oradebug event 10046 trace name context forever,level 12;

Statement processed.

SQL> oradebug tracefile_name

SQL> oradebug event 10046 trace name context off;

Statement processed.

上述就是小編為大家分享的在oracle中跟蹤會話執(zhí)行語句的幾種方法分別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:在oracle中跟蹤會話執(zhí)行語句的幾種方法分別是什么
本文路徑:http://jinyejixie.com/article38/iehjpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、域名注冊、企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
固镇县| 湟源县| 宽甸| 保德县| 呼玛县| 余庆县| 东兴市| 图们市| 锦屏县| 肇庆市| 铅山县| 西藏| 西充县| 东山县| 安泽县| 石嘴山市| 巴马| 光山县| 大连市| 炎陵县| 鄂伦春自治旗| 霍州市| 得荣县| 开远市| 吉安县| 施甸县| 喀喇| 曲周县| 石景山区| 德安县| 景德镇市| 邹平县| 揭东县| 鲁山县| 高青县| 玉田县| 策勒县| 铜陵市| 彩票| 普格县| 尚志市|