10046 trace event

Hi! please! help me find out about "10046 trace event" ...
how to read this, is there any technique involved !..
if you have any web links then do share it with me, any sort of documentation will be very helpful to me...
cheers'
Amit

Time to buy, Carry and Jeff's, award winning book of 2004, 'Optimizing Oracle Performance'. They have explained about the trace in-detail. Worthy to have a copy of it.
For time being, go to, www.hotsos and download papers related to 10046event from their library.
Jaffar

Similar Messages

  • 10046 trace event - Missing privileges

    Hi,
    Version 11201
    Please advice what privileges are missing :
    SQL> ALTER SESSION SET events '10046 trace name context forever, level 12';
    ERROR:
    ORA-01031: insufficient privileges
    Thanks

    AllYourDataBase wrote:
    I would guess the "alter session" privilege.I'd also guess that, but i have the documentation to prove it as well :)
    http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/appendixa.htm#CHDIBAJE
    Note that the ALTER SESSION privilege is required for setting events. Very few database users should require the alter session privilege.
    SQL> ALTER SESSION SET EVENTS ........
    The alter session privilege is not required for other alter session commands.
    SQL> ALTER SESSION SET NLS_TERRITORY = FRANCE;
    "

  • Please explain cr= in 10046 trace event

    #37:c=0,e=18,p=698,cr=99165,cu=12,mis=1,r=0,dep=0,og=4,tim=2345651360
    I know ,
    c: cpu time
    e: elapse time
    p: parse times ( not sure )
    cr: ?
    cu: ?
    mis: number misses in the library cache in parse
    r: ?
    dep: call depth
    og : optimizer goal
    tim: timestamp for call
    Please explain p , cr , cu , r .
    Thanks in advance !

    This link has the information you requested:
    http://www.dba-oracle.com/t_10046_trace_file_parse_execute.htm

  • "Rows" statistics from STAT in trace event 10046, Oracle 11g.

    Hi, all!
    Why "Rows" statistics in STAT are different for 10g and 11g?
    I have two database with version 10g and 11g, with the same data.
    I executed some pl/sql code with tracing 10046 level 8.
    And I have different result when obtain raw trace.
    In 10g I obtain rows statistics for all executions - Rows= 7.
    In 11g I obtain rows statistics for first executions - Rows= 1. Why?
    See my example:
    declare
         type t_name_tbl is table of varchar2(30) index by binary_integer;
         v_name_tbl t_name_tbl;
         v_len      number := 10;
    begin
         execute immediate 'alter session set timed_statistics = true ';
         execute immediate 'alter session set statistics_level=all ';
         execute immediate 'alter session set max_dump_file_size = unlimited ';
         execute immediate 'alter session set events ''10046 trace name context forever,level 8'' ';
         loop
           select cour_name bulk collect
                into v_name_tbl
               from country t
              where length(t.cour_name) = v_len;
           exit when v_len = 0;
           v_len := v_len - 1;
           for i in 1 .. v_name_tbl.count loop
             dbms_output.put_line(v_name_tbl(i));
           end loop;
         end loop;
    end;Result Tkprof for Oracle 10g:
    SELECT COUR_NAME
    FROM
    COUNTRY T WHERE LENGTH(T.COUR_NAME) = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute     11      0.00       0.00          0          0          0           0
    Fetch       11      0.01       0.00          0         44          0           7
    total       23      0.01       0.00          0         44          0           7
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 649     (recursive depth: 1)
    Rows     Row Source Operation
          7  TABLE ACCESS FULL COUNTRY (cr=44 pr=0 pw=0 time=1576 us)Result Tkprof for Oracle 11g:
    SQL ID: 3kqmkg8jp5nwk
    Plan Hash: 1371235632
    SELECT COUR_NAME
    FROM
    COUNTRY T WHERE LENGTH(T.COUR_NAME) = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.01       0.00          0          0          0           0
    Execute     11      0.02       0.01          0          0          0           0
    Fetch       11      0.00       0.01          3         44          0           7
    total       23      0.03       0.02          3         44          0           7
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 82     (recursive depth: 1)
    Rows     Row Source Operation
          1  TABLE ACCESS FULL COUNTRY (cr=4 pr=3 pw=0 time=0 us cost=2 size=44 card=2)Were can I read about it?

    Oracle 11g by default writes the execution plan (the STAT lines in the raw trace file) after the first execution of the SQL statement, while prior to 11g the execution plan is written only when the cursor is closed.
    The behavior in 11g can be controlled by changing the PLAN_STAT parameter of the call that enables the trace from the default value of FIRST_EXECUTION to ALL_EXECUTIONS:
    http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_sessio.htm#i1010518
    Charles Hooper
    Co-author of "Expert Oracle Practices: Oracle Database Administration from the Oak Table"
    http://hoopercharles.wordpress.com/
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.
    Edited by: Charles Hooper on Aug 9, 2010 3:33 PM
    Default value on 11g is FIRST_EXECUTION, while the behavior prior to 11g is ALL_EXECUTIONS - corrected the incomplete sentence.

  • Ask result sql trace events 10046 level 8 and 12

    hi all, i read result of sql trace events 10046 level 8 on
    http://www.oracle-base.com/articles/10g/SQLTrace10046TrcsessAndTkprof10g.php#trace_example
    and I do sql trace event 10046 level 8 or 12. But the results did not same, execution plan does not appear
    how to have execution plan appears??

    We use level 12 and we have both RSO (row source operation) and execution plan. Remember, execution plan is just the preditive estimate execution path by the opimizer. RSO is actually how the optimizer executes.
    ALTER SESSION SET EVENTS '10046 trace name context forever, level 12'
    call count cpu elapsed disk query current rows
    Parse 1 0.01 0.00 0 0 0 0
    Execute 1 0.00 0.00 0 0 0 0
    Fetch 1 0.01 0.00 0 66 1 1
    total 3 0.02 0.01 0 66 1 1
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 1767 (DELTEK) (recursive depth: 2)
    Rows Row Source Operation
    1 SORT AGGREGATE (cr=66 pr=0 pw=0 time=8793 us)
    4732 TABLE ACCESS SAMPLE Z_PJPCOMPR_UPSUM47 (cr=66 pr=0 pw=0 time=74 us)
    Rows Execution Plan
    0 SELECT STATEMENT MODE: HINT: ALL_ROWS
    1 SORT (AGGREGATE)
    4732 TABLE ACCESS (SAMPLE) OF 'Z_PJPCOMPR_UPSUM47' (TABLE)

  • Extract SQL history from 10046 trace files

    Hi all,
    I need to extract the complete sql history from sql trace files to "debug" a client application.
    I know I can read the raw trc file and rebuild the sql history looking for the PARSING / EXEC / FETCH entries.
    However, this is a very long and boring manual task: do you know if there is some free tool to automate this task?
    thanks
    Andrea

    user585511 wrote:
    I agree that the 10046 trace captures everything. If I do read the raw trc file I see the DML. The problem is that tkprof's record does not record the DML (maybe it thinks that some DML is recursive sql and it gets misleaded... I am not sure) so I am looking for an alternate tool to process 10046 trace files
    Regards
    AndreaReally?
    Generate a trace of some dml:
    oracle:orcl$
    oracle:orcl$ sqlplus /nolog
    SQL*Plus: Release 11.2.0.1.0 Production on Thu May 16 08:28:55 2013
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    SQL> conn snuffy/snuffy
    Connected.
    SQL> alter session set tracefile_identifier = "snuffy_session";
    Session altered.
    SQL> alter session set events '10046 trace name context forever, level 12';
    Session altered.
    SQL> insert into mytest values (sysdate);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> ALTER SESSION SET EVENTS '10046 trace name context off';
    Session altered.
    SQL> exitrun tkprof on the trace
    oracle:orcl$ ls -l $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/*snuffy
    *.trc
    -rw-r----- 1 oracle asmadmin 3038 May 16 08:29 /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4086_snuffy_session.trc
    oracle:orcl$ tkprof /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4086_snu
    ffy_session.trc snuffy.rpt waits=YES sys=NO explain=system/halftrack
    TKPROF: Release 11.2.0.1.0 - Development on Thu May 16 08:31:32 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.Look at the report:
    oracle:orcl$ cat snuffy.rpt
    TKPROF: Release 11.2.0.1.0 - Development on Thu May 16 08:31:32 2013
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Trace file: /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4086_snuffy_session.trc
    Sort options: default
    count    = number of times OCI procedure was executed
    cpu      = cpu time in seconds executing
    elapsed  = elapsed time in seconds executing
    disk     = number of physical reads of buffers from disk
    query    = number of buffers gotten for consistent read
    current  = number of buffers gotten in current mode (usually for update)
    rows     = number of rows processed by the fetch or execute call
    SQL ID: 938dgt554gu98
    Plan Hash: 0
    insert into mytest           <<<<<<<<<<<<<<<< oh my!  Here is the insert statement
    values
    (sysdate)
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          1          5           1
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.00       0.00          0          1          5           1
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 86  (SNUFFY)
    Rows     Row Source Operation
          0  LOAD TABLE CONVENTIONAL  (cr=1 pr=0 pw=0 time=0 us)
    error during execute of EXPLAIN PLAN statement
    ORA-00942: table or view does not exist
    parse error offset: 83
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       1        0.00          0.00
      SQL*Net message from client                     1        3.35          3.35
    SQL ID: 23wm3kz7rps5y
    Plan Hash: 0
    commit
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          1           0
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.00       0.00          0          0          1           0
    Misses in library cache during parse: 0
    Parsing user id: 86  (SNUFFY)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       2        0.00          0.00
      SQL*Net message from client                     2        4.72          8.50
      log file sync                                   1        0.00          0.00
    SQL ID: 0kjg1c2g4gdcr
    Plan Hash: 0
    ALTER SESSION SET EVENTS '10046 trace name context off'
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.00       0.00          0          0          0           0
    Misses in library cache during parse: 0
    Parsing user id: 86  (SNUFFY)
    OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        3      0.00       0.00          0          0          0           0
    Execute      3      0.00       0.00          0          1          6           1
    Fetch        0      0.00       0.00          0          0          0           0
    total        6      0.00       0.00          0          1          6           1
    Misses in library cache during parse: 0
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       3        0.00          0.00
      SQL*Net message from client                     3        4.72         11.86
      log file sync                                   1        0.00          0.00
    OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        0      0.00       0.00          0          0          0           0
    Execute      0      0.00       0.00          0          0          0           0
    Fetch        0      0.00       0.00          0          0          0           0
    total        0      0.00       0.00          0          0          0           0
    Misses in library cache during parse: 0
        3  user  SQL statements in session.
        0  internal SQL statements in session.
        3  SQL statements in session.
        0  statements EXPLAINed in this session.
    Trace file: /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4086_snuffy_session.trc
    Trace file compatibility: 11.1.0.7
    Sort options: default
           1  session in tracefile.
           3  user  SQL statements in trace file.
           0  internal SQL statements in trace file.
           3  SQL statements in trace file.
           3  unique SQL statements in trace file.
          58  lines in trace file.
           8  elapsed seconds in trace file.
    oracle:orcl$

  • Why does 10046 trace show 2 fetch operation while actually fetching 1 row?

    Hi all,
    As you can see below, query the query returns 1 row, but it seems fetch worked twice.
    I wonder why?
    Thank you.
    select '1'
    from
    dual
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.01 0 0 0 0
    Execute 1 0.00 0.01 0 0 0 0
    Fetch 2 0.00 0.00 0 0 0 1
    total 4 0.00 0.02 0 0 0 1
    ********************************************************************************

    Because you fetched twice ...
    For example:
    SQL> alter session set events '10046 trace name context forever, level 8'
      2  /
    Sessie is gewijzigd.
    SQL> declare
      2    cursor c is select '1' from dual;
      3    r c%rowtype;
      4  begin
      5    open c;
      6    fetch c into r;
      7    while c%found
      8    loop
      9      dbms_output.put_line('in loop');
    10      fetch c into r;
    11    end loop;
    12    close c;
    13  end;
    14  /
    in loop
    PL/SQL-procedure is geslaagd.
    SQL> alter session set events '10046 trace name context off'
      2  /
    Sessie is gewijzigd.The above leads to the following tkprof output:
    declare
      cursor c is select '1' from dual;
      r c%rowtype;
    begin
      open c;
      fetch c into r;
      while c%found
      loop
        dbms_output.put_line('in loop');
        fetch c into r;
      end loop;
      close c;
    end;
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.04       0.04          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           1
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.04       0.04          0          0          0           1
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 9833
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                       1        0.00          0.00
      SQL*Net message from client                     1        0.00          0.00
    SELECT '1'
    FROM
    DUAL
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch        2      0.00       0.00          0          3          0           1
    total        4      0.00       0.00          0          3          0           1
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 9833     (recursive depth: 1)
    Rows     Row Source Operation
          1  TABLE ACCESS FULL DUAL
    ********************************************************************************Regards,
    Rob.

  • Need help understanding Explain Plan from 10046 trace

    Below is a query and Explain Plan from a 10046 trace shown with trcanlzr.sql.
    In the explain plan I don't understand what's happining at line ID 10 and 11. Specifically, is the result at line 11 rowids from lines 12 & 14? and then what? Are those rowids somehow used in line ID 10?
    SELECT cp.cred_process_id, cp.provider_id,
           brdg_credentialing.get_appl_specialist(cp.cred_process_id,'R') specialist_name,
           brdg_cred_report_pkg.provider_name(cp.cred_process_id) provider_name,
           ctc_apptype.description appl_type_desc,
           TRUNC (brdg_credentialing.get_appl_received_dt(cp.cred_process_id)) init_received_dt,
           brdg_code_util.code_descr(brdg_credentialing.get_appl_status_cd_ctc_id(cp.cred_process_id)) appl_status_desc,
           brdg_credentialing.get_appl_prac_specialties(cp.cred_process_id,'Y') primary_specialty,
           cwh.city practice_city,
           UPPER (cwh.state) practice_state,
           TRUNC (ch.event_dt) specialist_assign_dt,
           DECODE (ctc_apptype.code,'INITPPO', TRUNC (brdg_credentialing.get_appl_received_dt(cp.cred_process_id)),
                   'REAPP', TRUNC (brdg_credentialing.get_appl_received_dt(cp.cred_process_id)),
                   'SPECCRED', TRUNC (brdg_credentialing.get_appl_received_dt(cp.cred_process_id)),
                   'TRANS', TRUNC (brdg_credentialing.get_appl_received_dt(cp.cred_process_id)),
                   'RECPPO', p.next_recred_dt,
                   'RECAPP', p.next_recred_dt, NULL) sort_date,
                   p.next_recred_dt
      FROM brdg_cred_app_open_vw cp,
           brdg_cat_type_codes ctc_apptype,
           brdg_cred_work_history cwh,
           brdg_cred_history ch,
           brdg_providers p
    WHERE cp.type_cd_ctc_id = ctc_apptype.cat_type_code_id
       AND ctc_apptype.category_cd = 'CRED'
       AND ctc_apptype.type_cd = 'APPTYPE'
       AND cp.cred_process_id = cwh.cred_process_id (+)
       AND cwh.primary_practice_flag (+) = 'Y'
       AND cp.cred_process_id = ch.cred_process_id
       AND ch.cred_history_id = (SELECT MAX(cred_history_id)
                                   FROM brdg_cred_history
                                  WHERE cred_process_id = cp.cred_process_id
                                    AND event_cd_ctc_id = brdg_credentialing.get_event_ctc_id ('SEVENT','SPESTCHG'))
       AND cp.provider_id = p.provider_id (+)
       and brdg_credentialing.get_appl_specialist_id(cp.cred_process_id) = 5
    ORDER BY 3 ASC, 3, 5, 12, 6
            Explain Plan Operation
    ID   PID    Card     Rows    Cost      SearchCols  /   Indexed Cols     Predicates 
    0:    1                       36   SELECT STATEMENT   
    1:    0     1       139       36    SORT ORDER BY   
    2:    1             139            . FILTER   [+]  
    3:    2     1       311       11   .. NESTED LOOPS OUTER   
    4:    3     1       311       10   ... NESTED LOOPS OUTER   
    5:    4     1       311        9   .... NESTED LOOPS   
    6:    5     1       311        8   ....+ NESTED LOOPS   
    7:    6     4        16        1   ....+. TABLE ACCESS BY INDEX ROWID CAT_TYPE_CODES   
    8:    7     4        16        1   ....+.. INDEX RANGE SCAN CAT_TYPE_CODE_UK 2/3 [+]   [+]  
    9:    6     1       311        2   ....+. TABLE ACCESS BY INDEX ROWID CRED_PROCESSES   [+]  
    10:    9   183     61927        1   ....+.. INDEX RANGE SCAN CDPR_CTCD_FK1 1/1 [+]   [+]  
    11:   10     1         3        2   ....+... NESTED LOOPS   
    12:   11     1        16        1   ....+.... TABLE ACCESS BY INDEX ROWID CAT_TYPE_CODES   
    13:   12     1        16        1   ....+....+ INDEX UNIQUE SCAN CTCD_PK 1/1 [+]   [+]  
    14:   11     1         3        1   ....+.... INDEX UNIQUE SCAN CAT_TYPE_CODE_UK 3/3 [+]   [+]  
    15:    5     1        11        1   ....+ TABLE ACCESS BY INDEX ROWID CRED_HISTORY   [+]  
    16:   15     1       311        1   ....+. INDEX UNIQUE SCAN CDHT_PK 1/1 [+]   [+]  
    17:   16     1       311            ....+.. SORT AGGREGATE   
    18:   17     1       526        2   ....+... TABLE ACCESS BY INDEX ROWID CRED_HISTORY   [+]  
    19:   18    23      9950        1   ....+.... INDEX RANGE SCAN CDHT_CDPR_FK 1/1 [+]   [+]  
    20:    4     1       219        1   .... TABLE ACCESS BY INDEX ROWID PROVIDERS   
    21:   20     1       219        1   ....+ INDEX UNIQUE SCAN PROV_PK 1/1 [+]  [+]  
    22:    3     1       311        1   ... TABLE ACCESS BY INDEX ROWID CRED_WORK_HISTORY   [+] 
    23:   22     3      1057        1   .... INDEX RANGE SCAN CDWH_CDPR_FK 1/1 [+]   [+]  
    24:    2   172                      .. INLIST ITERATOR   
    25:   24     1       172        1   ... INDEX UNIQUE SCAN CAT_TYPE_CODE_UK 3/3 [+]   [+]  
    26:    2     1         0        2   .. TABLE ACCESS BY INDEX ROWID CRED_HISTORY   [+]  
    27:   26    23      2004        1   ... INDEX RANGE SCAN CDHT_CDPR_FK 1/1 [+]   [+]  
    (1) X/Y: Where X is the number of searched columns from index, which has a total of Y columns.
    (2) Actual rows returned by operation (average if there were more than 1 execution).
       2 - filter( NOT EXISTS (SELECT 0 FROM "PPO"."CAT_TYPE_CODES" "BRDG_CAT_TYPE_CODES" WHERE
                  "CODE"="BRDG_CODE_UTIL"."ID_CODE"("BRDG_CREDENTIALING"."GET_APPL_STATUS_CD_CTC_ID"(:B1)) AND
                  ("TYPE_CD"='APPROVAL' OR "TYPE_CD"='DENIED' OR "TYPE_CD"='INACTIVE' OR "TYPE_CD"='TERMED') AND
                  "CATEGORY_CD"='APPSTAT') AND  NOT EXISTS (SELECT 0 FROM "PPO"."CRED_HISTORY" "BRDG_CRED_HISTORY"
                  WHERE "CRED_PROCESS_ID"=:B2 AND "EVENT_CD_CTC_ID"="BRDG_CODE_UTIL"."GET_ID"('CRED','SEVENT','MSODC
       8 - access("CTC_APPTYPE"."CATEGORY_CD"='CRED' AND "CTC_APPTYPE"."TYPE_CD"='APPTYPE')
       9 - filter("BRDG_CREDENTIALING"."GET_APPL_SPECIALIST_ID"("CP"."CRED_PROCESS_ID")=5 AND
                  ("CP"."INS_DT">=TO_DATE(' 2007-12-20 17:00:00', 'syyyy-mm-dd hh24:mi:ss') OR
                  "CP"."TYPE_CD_CTC_ID"<>"BRDG_CODE_UTIL"."GET_ID"('CRED','APPTYPE','RECPPO')))
      10 - access("CP"."TYPE_CD_CTC_ID"="CTC_APPTYPE"."CAT_TYPE_CODE_ID")
           filter( NOT EXISTS (SELECT 0 FROM "PPO"."CAT_TYPE_CODES"
                  "CTC_APPTYPE","PPO"."CAT_TYPE_CODES" "CTC_TYPE" WHERE "CTC_TYPE"."CAT_TYPE_CODE_ID"=:B1 AND
                  "CTC_TYPE"."CODE"="CTC_APPTYPE"."CODE" AND "CTC_APPTYPE"."TYPE_CD"='APPSENT' AND
                  "CTC_APPTYPE"."CATEGORY_CD"='APPTYPE'))
      13 - access("CTC_TYPE"."CAT_TYPE_CODE_ID"=:B1)
      14 - access("CTC_APPTYPE"."CATEGORY_CD"='APPTYPE' AND "CTC_APPTYPE"."TYPE_CD"='APPSENT' AND
                  "CTC_TYPE"."CODE"="CTC_APPTYPE"."CODE")
      15 - filter("CP"."CRED_PROCESS_ID"="CH"."CRED_PROCESS_ID")
      16 - access("CH"."CRED_HISTORY_ID"= (SELECT MAX("CRED_HISTORY_ID") FROM "PPO"."CRED_HISTORY"
                  "BRDG_CRED_HISTORY" WHERE "CRED_PROCESS_ID"=:B1 AND
                  "EVENT_CD_CTC_ID"="BRDG_CREDENTIALING"."GET_EVENT_CTC_ID"('SEVENT','SPESTCHG')))
      18 - filter("EVENT_CD_CTC_ID"="BRDG_CREDENTIALING"."GET_EVENT_CTC_ID"('SEVENT','SPESTCHG'))
      19 - access("CRED_PROCESS_ID"=:B1)
      21 - access("CP"."PROVIDER_ID"="P"."PROVIDER_ID"(+))
      22 - filter("CWH"."PRIMARY_PRACTICE_FLAG"(+)='Y')
      23 - access("CP"."CRED_PROCESS_ID"="CWH"."CRED_PROCESS_ID"(+))
      25 - access("CATEGORY_CD"='APPSTAT' AND ("TYPE_CD"='APPROVAL' OR "TYPE_CD"='DENIED' OR
                  "TYPE_CD"='INACTIVE' OR "TYPE_CD"='TERMED') AND "CODE"="BRDG_CODE_UTIL"."ID_CODE"("BRDG_CREDENTIAL
                  ING"."GET_APPL_STATUS_CD_CTC_ID"(:B1)))
      26 - filter("EVENT_CD_CTC_ID"="BRDG_CODE_UTIL"."GET_ID"('CRED','SEVENT','MSODC'))
      27 - access("CRED_PROCESS_ID"=:B1)

    Welcome to the forums!
    user11987210 wrote:
    In the explain plan I don't understand what's happining at line ID 10 and 11. Specifically, is the result at line 11 rowids from lines 12 & 14? and then what? Are those rowids somehow used in line ID 10?
    9:    6     1       311        2   ....+. TABLE ACCESS BY INDEX ROWID CRED_PROCESSES   [+]  
    10:    9   183     61927        1   ....+.. INDEX RANGE SCAN CDPR_CTCD_FK1 1/1 [+]   [+]  
    11:   10     1         3        2   ....+... NESTED LOOPS   
    12:   11     1        16        1   ....+.... TABLE ACCESS BY INDEX ROWID CAT_TYPE_CODES   
    13:   12     1        16        1   ....+....+ INDEX UNIQUE SCAN CTCD_PK 1/1 [+]   [+]  
    14:   11     1         3        1   ....+.... INDEX UNIQUE SCAN CAT_TYPE_CODE_UK 3/3 [+]   [+]   The NESTED LOOPS operation (ID #11) has two children, ID #12 sometimes called the driving source, and ID #14 the inner loop. ID #14 is executed once for each row returned by ID #12. The results of ID #11 are then fed to ID #10 which performs an INDEX RANGE SCAN.
    Hope this helps!

  • How using sql trace event  10128 level 1&2

    hi all,i want ask about sql trace event 10128. how using sql trace event 10128 level 1&2??
    when I've enabled sql trace event 10128 level 2,and i execution query then appears error
    ORA-00604: error occurred at recursive SQL level 1
    ORA-00942: table or view does not exist
    where the fault lies??
    i'm using
    ALTER SYSTEM SET timed_statistics=TRUE;
    ALTER SESSION SET EVENT '10128 TRACE NAME CONTEXT FOREVER, LEVEL 2';

    But nothing issue with me on 10g on windows xp:
    SQL> ALTER SYSTEM SET timed_statistics=TRUE;
    System altered.
    SQL> ALTER SESSION SET EVENT '10128 TRACE NAME CONTEXT FOREVER, LEVEL 2';
    ALTER SESSION SET EVENT '10128 TRACE NAME CONTEXT FOREVER, LEVEL 2'
    ERROR at line 1:
    ORA-00927: missing equal sign
    SQL> ALTER SESSION SET EVENTS
      2      '10128 trace name context forever, level 2';
    Session altered.
    SQL>HTH
    Girish Shamra
    Edited by: Girish Sharma on Dec 9, 2009 11:46 AM
    This is not "EVENT" .. it is "EVENTS"

  • TRACE EVENT 세팅에 대하여

    제품 : ORACLE SERVER
    작성날짜 : 2003-08-04
    trace event를 세팅에 대하여
    init.ora에 특별한 파라메터를 세팅하므로서 memory나 디스크 corruption에대해
    분석할 수있는 방법이 있다. 이러한 파라메터들은 performance에 영향을 줄 수
    있으므로 정상적인 상태에서는 세팅하지 않는다. 여기서는 event information을
    모으기 위한 시간을 절약하는데 목적이 있으며 몇개의 event 세팅의 보기를 보여
    준다. 여기서 보여지는 것 말고도 많은 event들이 있으며 그것들은 그때그때의
    필요에 의해 세팅되어 진다.
    Event trace를 하기 위한 방법에는 두 가지가 있다. 첫번째는 init.ora에 세팅
    하는 것이며 이것은 모든 세션에 영향을 미친다. 두번째 방법은 alter session
    set events 명령어를 이용하는 것이며 현재 세션에만 영향을 미친다.
    Syntax는 다음과 같다.
    Event = "event syntax | , LEVEL n | : event syntax | , LEVEL n | .. "
    sql 문장을 이용한 syntax는 다음과 같다.
    SQL> alter session set events 'event syntax LEVEL n: event syntax
    LEVEL n: ...';
    예를들어 콘트롤 화일의 전체 내용을 보기 위한 syntax는 다음과 같다.
    SQL> alter session set events 'IMMEDIATE TRACE NAME CONTROLF LEVEL 10';
    event syntax는 여러개의 키워드를 가지고 있다. 첫번째의 키워드는 event
    number이거나 special keyword, 즉 IMMEDIATE일 수 있다. Event number는
    오라클 에러 번호이거나 internal error code일 수 있다. Event code는
    그 값에 따라 action이 발생되는 커널의 logic에 의해 결정된다. 이러한 내부
    event code는 /rdbms/mesg/oraus.msg 화일에 있다. 다른 operating system에
    서는 상기 화일이 binary format이거나 text가 아닐 수 있다. Internal event
    code는 10000 - 20000의 범위에 있다.
    만약 IMMEDIATE라는 키워드가 첫번째 나온다면 이것은 unconditional event
    임을 나타낸다. 그리고 그 결과는 이 명령어가 사용된 직후 발생된다. 이러한
    명령어는 alter session 라. 명령어에서만 효과가 있고 init.ora에서 설정된
    문장은 효과가 없다.
    두번째와 세번째 키워드는 각각 대부분 TRACE와 NAME이다. TRACE라는 키워드는
    output이 trace file로 dump될 것을 의미하며 NAME이라는 키워드는 실제 event
    name 바로 앞에 온다. TRACE말고도 다른 키워드가 올 수 있으나 그것들은 오라
    클의 개발팀을 위해 사용된다. 마지막 키워드는 event name으로 실제 dump할
    내용을 정한다.
    만약 IMMEDIATE 키워드를 사용하지 않는다면 얼마나 오래동안 trace를 할지를
    지정해야 한다. FOREVER 키워드를 사용했을때에는 해당 session이나 instance가
    살아있는 시점까지 event는 살아있게 된다.
    Event 문장 다음에는 대부분의 event에서 LEVEL 키워드가 세팅된다. 만약 level
    이 없다면 errorstack을 dump하는 동안 exception이 발생할 수 있다. 일반적
    으로 LEVEL은 1에서 10까지의 범위를 갖는다. 10은 그 event에 대해서 전체
    내용을 전부 dump할 것을 의미한다.
    예를들어 LEVEL을 1로 했을때에는 control file을 dump할때 control file
    header만을 dump하지만 10이면 전체 내용을 dump한다. BLOCKDUMP키워드 일때
    에는 LEVEL은 특별한 의미를 가지며 그것은 datablock의 실제 주소가 십진수로
    표시된다.
    이제 몇개의 예를 들어 보자. 다음은 init.ora 에 세팅될 수 있는 내용이다.
    EVENT = "604 TRACE NAME ERRORSTACK FOREVER"
    EVENT = "10210 TRACE NAME CONTEXT FOREVER, LEVEL 10"
    첫번째 문장은 process가 ORA-604를 만날때마다 error stack을 dump하게 될 것
    이다. 두번째 문장은 디스크에서 캐쉬로 블록을 읽을때 block integrity를 체크
    하는 event이다.
    다음 문장들은 SQL을 통해서 event를 세팅하는 예를 보인다.
    SQL> ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME BLOCKDUMP
    LEVEL 67109037';
    SQL> ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME CONTROLF
    LEVEL 10';
    SQL> ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME SYSTEMSTATE
    LEVEL 10';
    첫번째 문장은 데이타블록 67109037을 trace file로 dump할 것이다. 모든
    오라클 데이타베이스의 데이타블록은 block number와 file number의 유일한
    값으로 되어 있다. 상기예에서 67109037은 block number와 file number와의
    십진표현법이다. 이러한 정보는 operating system dependent하다. 두번째
    문장은 전체 콘트롤화일의 내용을 trace file로 dump한다.
    세번째 문장은 system state 를 trace로 dump한다. (system state는 현재
    RDBMS에 의해 잡혀있는 object에 대한 정보를 보여주며 process state dump는
    특정 process에 잡혀있는 object에 대한 process state dump를 보여준다)
    이러한 정보는 system hang problem과 같은 문제의 분석에 유용할 수 있다.
    EVENT NAMES
    여기서는 사용가능한 event에 대한 감각을 익히기 위해서 몇개의 event name을
    들어 설명한다.
    - ERRORSTACK
    오라클은 어떤 process가 특별한 에러를 만났을때 그에 관련된 정보를 저장하기
    위해 "error stack"을 생성한다. Oracle foreground process는 에러 메세지를
    받는다. Application 운영중에는(Developer/2000 Forms) 에러와 관련된 자세한
    정보를 foreground process는 받지 못한다.
    이 event는 전체 에러 스택을 trace로 dump해 주며 oracle error를 debugging
    하는데 유용하게 이용할 수 있다. 예를들어 application이 ora-604와 함께
    실행이 중단되면
    SQL> alter session set events '604 trace name errorstack forever';
    은 에러 스택을 trace file로 생성시켜 줄 것이다.
    - SYSTEMSTATE
    이 event는 전체 system state를 dump하며 이것은 모든 프로세스의 state dump
    를 포함한다.
    Performance degradation, process hang이나 system hang을 분석하는데 있어서
    유용하다.
    SQL> alter session set events 'immediate trace name systemstate
    level 10';
    - EVENT CODE 10013 AND 10015
    이것들은 corrupted rollback segment 문제를 분석하는데 사용될 수 있다.
    이러한 경우에 데이타베이스는 startup 할 수 없고 ora-1578에러를 발생한다.
    만약 원인이 rollback에 있는 것으로 판단됐을때 init.ora에 상기 event를 세팅
    하면 trace 화일을 생성할 것이다. syntax는 다음과 같다.
    Event = "10015 trace name context forever"
    - EVENT CODES 10210 AND 10211
    이것들은 block checking,가 event checking event들이다. 일반적으로 디스크
    블록이 캐쉬로 읽어들여질때 기본적인 integrity checking이 수행된다. 상기
    event들을 세팅하므로서 오라클은 부가적인 check을 하게되며 이것은 block
    corruption을 분석하는데 결정적이다. PMON은 항상 block checking을 가능한
    상태로 유지하고 있다. 정상적인 상태에서도 block-checking이나 index-
    checking을 수행하는 것이 좋을 수도 있으나 over head가 있다.
    Event = "10210 trace name context forever, level 10"
    - EVENT CODES 10231 AND 10232
    정전으로 인해 디스크의 한 블록 전체의 내용이 없어질 수 있다. 그런 상황에서
    그 테이블의 자료를 살려내기 위해 일반적으로 export를 받는다. 그러나 full
    table scan은 bad block을 만났을때 실패할 것이다. 이러한 상황을 피해가기
    위해 event 10231의 세팅이 필요하다. 이 event는 full table scan시
    corrupted block을 skip할 것이다. Event 10232가 세팅된다면 corrupted
    block을 trace file로 dump된다. 이러한 event를 세팅하기 위해서는 몇몇 조건
    들이 필요하다.
    . 이러한 블록은 오라클에 의해 soft-corrupted되어야 한다. 즉 오라클이
    corrupt block을 발견할 때 그 블록에 어떤 bit을 세팅하므로서 손상되었다고
    표시한다. 오라클이 soft-corrupt block을 하기 위해서는 event 10210을 세팅
    해야 한다. 그러므로 event 10210과 함께 10231이 쓰이는 것이 권장된다.
    . 인덱스를 이용하여 해당 블록을 접근하는 것은 안되며, 단지 full table
    scan만이 수행 되어야 한다. 만약 손상된 테이블을 export하려면 이러한 event
    를 init.ora에 세팅해 놓아야 한다.
    SQL> alter session set events *10231 trace name context off*;
    Event = "10231 trace name context forever, level 10"
    첫번째 문장은 세션에서 lock-checking 을 더 이상 하지 않게 하며 두번째는
    block-checking을 실행하게 된다.
    Reference Documents
    <Note:1051056.6>
    <Note:21184.1>

    Thanks Ray.
    I was wrong. The event is fired even if i enable it before the callback VI registration.
    The problem was that, just to discover if the callback VI was called, i put some code in its block diagram that would have changed the state of a boolean control placed on its front panel, every time the callback VI was called.
    Apparently this is not allowed and the boolean didn't change its state.
    I solved linking the code in the callback VI to a boolean placed on another front panel (in this case on the main VI one). In this way i succeded whatching the boolean state change.

  • Occurance of trace event in oracle

    Hi ,
    Wishing all a happy Eid ....
    I have question on  trace enabling of Oracle database .
    Suppose I have enabled a trace event  "alter system set events '1031 trace name errorstack level 3';"
    Qusetion-1 : - Will this trace event able to create a trace file in udump dest for the users who are already logged in before the trace event  enabled .,
                   Meaning - Suppose I am enabling the trace event (ex-1031) on 9 AM , will this event able to create a trace file for the users
                   who have logged in at 7AM and at 9:30 AM ora-1031 will raise from their session. 
    Question -2 - After enabling the trace on instance/system level ,how can i check the enabled event ...
                  Meaning - Is there any query/command to check the above trace level (1031) is enabled or not ....
    Thanks

    1.  Try it.
    2.  Search dbms_system.read_ev on Oracle DBMS_SYSTEM , though see note.
    Also see Spying on the other session | Dion Cho - Oracle Performance Storyteller

  • Trace events for Transport creation.

    Hi Guru's,
    I am hoping to run a program when a transport is created or changed. Thus I was trying to find if any events are raised when a transport is created.
    I am struggling to firstly find out how to trace which events are raised and secondly to see if there is a suitable event I can use.
    If anyone has any idea how I can run a program when a transport is changed or created that would be fantastic.
    Ross.

    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
    JServer Release 9.2.0.7.0 - Production
    SQL> execute sys.dbms_system.set_bool_param_in_session(22,658,'sql_trace',true);
    PL/SQL procedure successfully completed.
    SQL> execute sys.dbms_system.set_int_param_in_session(22,658,'max_dump_file_size',10000000);
    PL/SQL procedure successfully completed.
    SQL> execute sys.dbms_system.set_ev(22,658,10046,12,' ');
    PL/SQL procedure successfully completed.
    SQL> execute sys.dbms_system.set_ev(22,658,10046,0,' ');
    PL/SQL procedure successfully completed.
    SQL>
    ==================================
    oracle:/user/app/oracle/admin/INS/udump>ll
    total 36
    -rw-rw---- 1 oracle oinstall 1695 Aug 9 09:29 ins_ora_2530.trc
    -rw-rw---- 1 oracle oinstall 26596 Aug 8 16:37 ins_ora_3352.trc
    -rw-rw---- 1 oracle oinstall 1701 Aug 9 13:53 ins_ora_3630.trc
    oracle:/user/app/oracle/admin/INS/udump>
    ================================================
    parameters from the initialisation file
    db_block_size=8192
    db_block_checksum=FALSE
    background_dump_dest=$ORACLE_BASE/admin/INS/bdump
    user_dump_dest=$ORACLE_BASE/admin/INS/udump
    core_dump_dest=$ORACLE_BASE/admin/INS/cdump
    log_archive_dest="$ORACLE_BASE/admin/INS/archive"
    log_archive_start=TRUE
    log_archive_format="%t_%s.ARC"
    please suggest
    Altaf

  • Disable trace event

    Hi,
    I have enable a trace and now i want to disable this event trace. How can i do this??
    The command that i use to enable is the following:
    alter system set events '1349 trace name context forever, level 7'
    Tks,
    Paulo.

    Oops!!!
    I done worng
    alter system set events '1349 trace name context off, level 7';
    Tks,
    Paulo.

  • R12: Form Trace event 135 - DB Processing

    Hi All,
    I enabled form trace for my Ebiz user. I set form runtime parameter to "record=forms tracegroup=32,64,98,100,101,135,136,137"
    As per document event number 135 is for "DB Processing (Start & End)" but I dont see any of these event recorded in trace file (in xml file). I see event 136 (DB Logon) and 137 (DB Logoff) but I dont see the processing time.
    I want to know exactly how much time the form spent in database (querying or executing some packages).
    But what I see is DB Logon at the start and DB Logoff at the end. So that is almost the entire duration I used the form. But I want to find out how much time it actually spent in database.
    Please advise.
    Thanks,
    AppsDBA

    Hi,
    Were you able to test other event numbers and see if it works (just to verify that events work with the way you obtain the trace file).
    If other events work, try to use events between 97 and 101 (mainly 98 and 101) and see if it helps.
    8.5 List of Traceable Events
    http://download.oracle.com/docs/cd/B14099_19/web.1012/b14032/tracing005.htm#i1044390
    If none of the above helps, you may need to log a SR then.
    Thanks,
    Hussein

  • 10046 Trace NULL/SYSTEM sessions

    Hello,
    I am running a 10046 level 12 trace on a session that runs an encrypted package. This session turns out to be a SYSTEM session. After I get the trace I dont see any bind values. I can see the statement exec packageabc(:B1,:B2,:B3) in the trace, but no bind values below it. am I missing anything here. This is a 10.2.0.4 database on AIX 5.3 (with the 2010 psu patches.).
    Thanks!

    Hi Hemant
    It is running from the windows box and osuser is system. the following are the details from gv$session
    ID        SID    SERIAL# OSUSER                         MACHINE    USERNAME   LOGON_TIME       ELPSD SPID    PROGRAM
      1       2029       2570 SYSTEM                         AD\PDIISPI123 RUNCOPY     05-MAR-11 23:57     16 975274   RunCopySrv.exe      and yes I have used the tkprof to format the trace file
    Edited by: SMY on Mar 8, 2011 10:12 AM
    Edited by: SMY on Mar 8, 2011 10:14 AM
    Edited by: SMY on Mar 8, 2011 10:19 AM

Maybe you are looking for