共計 1728 個字符,預(yù)計需要花費(fèi) 5 分鐘才能閱讀完成。
這篇文章主要介紹數(shù)據(jù)庫中如何使用 10046 事件跟蹤 SQL,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
10046 事件
概述
這是一個特殊的事件,可以被用來發(fā)起 sql_trace 類的活動
使用 10046 的優(yōu)勢就是可以在 trace 文件中看到詳細(xì)的數(shù)據(jù)庫活動細(xì)節(jié),細(xì)節(jié)信息也取決于事件的 level。
level
1:標(biāo)準(zhǔn)的 sql_trace
4:level 1 加上綁定變量 [bind=true]
8:levle 1 加上等待。在定位等待事件的時候很有用 [wait=true]
12: 常用的 level,包含了 level 1,綁定變量,等待,默認(rèn) stat line。相當(dāng)于(4+8)
16: 每次執(zhí)行都生成 stat line。11g 新增。[plan_stat=all_executions]
32: 不生成執(zhí)行統(tǒng)計。11g 新增 。[plan_stat=never]
64:Adaptive dump of STAT lines. This dumps the STAT information if a SQL took more than about 1 minute thereby giving information for the more expensive SQLs and for different executions of such SQLs。11gR2 新增。[plan_stat=adaptive]
使用 10046 事件
session 級追蹤
—查看 trace 的位置
SQL show parameter user_dump_dest
NAME TYPE VALUE
———————————— ———– ——————————
user_dump_dest string /u01/app/oracle/diag/rdbms/zld
b/zldb/trace
—tracefile 標(biāo)志
SQL alter session set tracefile_identifier= liuzhilong
Session altered.
—開啟 10046
SQL alter session set events 10046 trace name context forever,level 12
Session altered.
SQL select * from scott.emp where rownum
EMPNO ENAME JOB MGR HIREDATE SAL COMM
———- ———- ——— ———- ——— ———- ———-
DEPTNO
———-
7369 SMITH CLERK 7902 17-DEC-80 800
20
SQL
退出 sqlplus(session 級)或者使用以下語句關(guān)閉事件
alter session set events 10046 trace name context off’;
[root@lzl Desktop]# cd /u01/app/oracle/diag/rdbms/zldb/zldb/trace/
[root@lzl trace]# ls *liu*
zldb_ora_2990_liuzhilong.trc zldb_ora_2990_liuzhilong.trm
使用 oradebug 工具
SQL oradebug setmypid
Statement processed.
SQL oradebug event 10046 trace name context forever, level 12;
Statement processed.
SQL select ename from scott.emp where rownum
ENAME
———-
SMITH
SQL oradebug tracefile_name;
/u01/app/oracle/diag/rdbms/zldb/zldb/trace/zldb_ora_2990.trc
SQL
以上是“數(shù)據(jù)庫中如何使用 10046 事件跟蹤 SQL”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!