首页 > 数据库技术 > 详细

[ORACE] Oracle trace 之一 trace

时间:2020-05-07 02:13:12      阅读:49      评论:0      收藏:0      [点我收藏+]

Oracle trace
1 前提
    有足够的CPU时间
    有够的trace空间
    确保trace的文件有足够的磁盘空间

2 级别

    system:     alter system set sql_trace=true;  --很少使用
    session:    alter session set sql_trace=true;

3 方法
3.1trace当前会话:

    alter session set sql_trace=true;     --启用当前session trace
    select count(*) dba_objects;        --此SQL操作被追踪
    alter session set sql_trace=false;  --结束追踪
    --查看trace文件
    SELECT d.VALUE || / ||  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  WHERE m.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$diag_info where name=Diag Trace) d ;

    
3.2 trace其它用户会话:

SQL> select sid,serial#,username from v$session where username is not null;

       SID    SERIAL# USERNAME
---------- ---------- --------------------------------------------------------------------------------------------------------------------------------
     3    62469 SYS
       214    20158 C##SAPR3
       217    44968 C##SAPR3
       395    39248 C##SAPR3
       596    21546 SYS
    execute dbms_system.set_sql_trace_in_session(395,39248,true)  ---启用用户session trace
    execute dbms_system.set_sql_trace_in_session(395,39248,false) ---结束追用户session trace

      
3.3指定SQL_ID

    alter system set events SQL_TRACE [SQL:&&SQL_ID] bind=true,wait=true;


4. 使用tkprof 查看

[ORACE] Oracle trace 之一 trace

原文:https://www.cnblogs.com/tingxin/p/12839620.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!