问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在Oracle数据库10g中跟踪SQL

发布网友 发布时间:2022-04-23 18:21

我来回答

2个回答

懂视网 时间:2022-05-01 00:41

dbms_system是内部包,建议在官方指导下使用该包。

SQL> desc dbms_system
PROCEDURE ADD_PARAMETER_VALUE
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 PARNAME   VARCHAR2  IN
 VALUE    VARCHAR2  IN
 SCOPE    VARCHAR2  IN DEFAULT
 SID    VARCHAR2  IN DEFAULT
 POSITION   BINARY_INTEGER  IN DEFAULT
PROCEDURE DIST_TXN_SYNC
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 INST_NUM   NUMBER   IN
PROCEDURE GET_ENV
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 VAR    VARCHAR2  IN
 VAL    VARCHAR2  OUT
PROCEDURE KCFRMS
PROCEDURE KSDDDT
PROCEDURE KSDFLS
PROCEDURE KSDIND
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 LVL    BINARY_INTEGER  IN
PROCEDURE KSDWRT
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 DEST    BINARY_INTEGER  IN
 TST    VARCHAR2  IN
PROCEDURE READ_EV
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 IEV    BINARY_INTEGER  IN
 OEV    BINARY_INTEGER  OUT
PROCEDURE REMOVE_PARAMETER_VALUE
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 PARNAME   VARCHAR2  IN
 VALUE    VARCHAR2  IN
 SCOPE    VARCHAR2  IN DEFAULT
 SID    VARCHAR2  IN DEFAULT
PROCEDURE REMOVE_PARAMETER_VALUE
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 PARNAME   VARCHAR2  IN
 POSITION   BINARY_INTEGER  IN
 SCOPE    VARCHAR2  IN DEFAULT
 SID    VARCHAR2  IN DEFAULT
PROCEDURE SET_BOOL_PARAM_IN_SESSION
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SID    NUMBER   IN
 SERIAL#   NUMBER   IN
 PARNAM    VARCHAR2  IN
 BVAL    BOOLEAN   IN
PROCEDURE SET_EV
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SI    BINARY_INTEGER  IN
 SE    BINARY_INTEGER  IN
 EV    BINARY_INTEGER  IN
 LE    BINARY_INTEGER  IN
 NM    VARCHAR2  IN
PROCEDURE SET_INT_PARAM_IN_SESSION
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SID    NUMBER   IN
 SERIAL#   NUMBER   IN
 PARNAM    VARCHAR2  IN
 INTVAL    BINARY_INTEGER  IN
PROCEDURE SET_SQL_TRACE_IN_SESSION
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SID    NUMBER   IN
 SERIAL#   NUMBER   IN
 SQL_TRACE   BOOLEAN   IN
PROCEDURE WAIT_FOR_EVENT
 Argument Name   Type   In/Out Default?
 ------------------------------ ----------------------- ------ --------
 EVENT    VARCHAR2  IN
 EXTENDED_ID   BINARY_INTEGER  IN
 TIMEOUT   BINARY_INTEGER  IN

SQL> 

 

#查看10046事件的追踪级别

SQL> declare lev integer;
 2 begin
 3 dbms_system.read_ev(‘10046‘,lev);
 4 dbms_output.put_line(lev);
 5 end;
 6 /

PL/SQL procedure successfully completed.

SQL> 

 

#对指定session开启sql_trace追踪

exec dbms_system.set_sql_trace_in_session(<sid>,<serial#>,true);---开启SQL_TRACE跟踪
exec dbms_system.set_sql_trace_in_session(<sid>,<serial#>,false);---关闭SQL_TRACE跟踪

 

#对指定session开启10046追踪

dbms_system.set_ev(
si IN BINARY_INTEGER, -- session id
se IN BINARY_INTEGER, -- session serial number
ev IN BINARY_INTEGER, -- event number between 10000 and 10999
le IN BINARY_INTEGER, -- event level
nm IN VARCHAR2);

exec dbms_system.set_ev(<sid>,<serial#>,12,‘ybb‘); ----开启级别为12的跟踪
exec dbms_system.set_ev(<sid>,<serial#>,0,‘ybb‘); -----关闭跟踪

 

使用dbms_system追踪其它session

标签:

热心网友 时间:2022-04-30 21:49

1. 启用 sql_trace 跟踪当前 session
开启会话跟踪:alter session set sql_trace=true;
关闭会话跟踪:alter session set sql_trace=false;

2. 启用 10046 事件跟踪全局 session
这将会对整个系统的性能产生严重的影响,所以一般不建议开启。
开启会话跟踪:alter system set events ‘10046 trace name context forever, level 12’;
关闭会话跟踪:alter system set events ‘10046 trace name context off’;

3. 使用 Oracle 系统包 DBMS_SYSTEM.SET_EV 跟踪指定 session
开启会话跟踪:SQL> exec dbms_system.set_ev(143, 112, 10046, 12, '');
关闭会话跟踪:SQL> exec dbms_system.set_ev(143, 112, 10046, 0, '');
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...频数和频率成正比,2频数一定时,频率与总次数成反比,对不对_百度... ...总次数之间的关系是( ) A.频数越大,频率越大 B.总次数一定时,频数越... 实验的总次数、频数及频率三者的关系是( )A.频数越大,频率越大B.频数... 嘎牙鱼的做法大全 安无线网要用多少元网费要交多少元不用用了要不要交网费,想寻求大家的... 无线网费1年多少钱 "Hbr"作为“港”的缩写,其在英语中的使用频率和应用示例如何? 【车主点评:吉利汽车帝豪GL 使我荣华富贵】 请问,如果,家用,自动挡,帝豪gl,英朗,科沃兹,卡罗拉,轩逸,同等价位,建议... ...景点?既能休闲的时候看看又能长点知识@@谢谢各位了! Web防火墙怎么对TCP协议 恶意用户所发起会话进行跟踪 连接 Servlet中的会话跟踪技术之一的&quot;隐藏表单域&quot;有什么具体作用?怎么用? cookie和session的区别和应用场景 12. 如何进行session追踪?Session范围的应用。 是否能够通过客户机的ip地址实现会话跟踪 简述session跟踪,实现session跟踪的主要技术方案有哪些 为什么要在电子商务中引入会话跟踪呢? 小米三控开关怎么安装 小米智能接线板连接不上怎么办 sevlet中隐藏表单实现会话跟踪具体有什么用? 小米接线板真的很垃圾,插头怎么也插不进去,怎么办 什么叫会话跟踪(定义),以及会话跟踪的方法 小米盒子高清线怎么连接电视连功放? 简单说明一下四种会话跟踪技术。(从是否会用在servlet,jsp,页面描述三方面讲述) 小米电视4A后面接线图 对于大型的分布式系统,一般是如何实现会话跟踪的呢 小米typec耳机公头坏了,五根线颜色的定义,怎么接线啊 小米mix电源线两根红色,怎么接?请看图 web开发中会话跟踪的方法有哪些 小米车载接线方法 session cookie能不能跨窗口使用 AutoCAD中怎样自己设置图纸大小? cad新建图纸怎么调整大小 写新闻的技巧和方法 在CAD中怎样把已画好的图形大小调整到自己想要的大小呢? 新闻写作的方法 怎么写新闻方法 新闻稿写作的具体步骤分为 新闻类软文的撰写手法? 新闻写作方法与技巧 我QQ更新之后,为什么聊天记录全不见 为什么QQ每次升级过后聊天记录都没有了,怎么可以恢复? 为什么QQ每次升级过后聊天记录都没有了,怎么可以恢复?QQ自动更新之后,我和别人的聊天记录就找不到_百度问一问 QQ升级了,聊天记录会没有了么? 手机QQ升级以后原来的聊天记录没有了,找得回来吗 手机qq更新后聊天记录全部不见了 QQ更新后 之前的聊天记录没了 为啥升级qq后聊天记录都不见了 QQ版本升级后原来的聊天记录就没有了,怎么可以找回?谢谢了 我升级了QQ版本 以前的聊天记录没了 怎么能找到?