Tkprof the trace file

Hi,
i know the procedure to generate a tkprof for the trace file but i dont know wat are the things to be analysed and wat kind of action should be taken after analysing the trace file.Please say me the procedure about things to be analysed and action should be taken after analysing the contents from the trace file.
Regards
Aram

Pl also see MOS Doc 760786.1 (TKProf Interpretation (9i and above) )
HTH
Srini

Similar Messages

  • Any way to generate trace report from the TKPROF formatted trace file?

    As titled.
    Is there any automatically way to make a report on SQL tuning report from the TKPROF formatted trace file(or from the dynamic performance views)
    Paul

    Dave,
    That's what report queries are for, take a look at shared components. Walk through the create report query wizard, and on the final page, you'll get a URL that you can use to integrate this with your page. You'll find the same URL when editing your report query afterwards.
    Alternatively, suppose you already have you report page, but don't want to always go there, you can just copy that report region print link (reference my answer to your previous question), and make that the target of a branch or from another page.
    Regards,
    Marc

  • Need information from the Trace file.

    Hi
    I have enabled the trace file for the query and found that the below contents in top of the query in trace file .Could you please explain what are the below values and need explanation.
    **PARSING IN CURSOR #2 len=82 dep=1 uid=0 oct=3 lid=0 tim=52772641300291 hv=3873422482 ad='3a40cc8c8' sqlid='0k8522rmdzg4k'**
    Note : Please provide the notes if have any.
    Thanks
    Lio

    This is of course right but TKPROF has also some limitations: for example TKPROF does not report values for bind variables but you can find them in raw trace file.

  • Miliseconds in the trace files

    I'm using the tkprof tool to analyze a procedure, but in the time columns there appear only 0.00.
    Is there a way to obtain milliseconds instead of 'centiseconds' in the trace files?

    As previously stated Oracle tkprof will show centiseconds, just to add more information. There are a few exceptions where Oracle gathers information with more time resolution, milliseconds.
    SQL> desc v$system_event;
    Name                                      Null?    Type
    EVENT                                              VARCHAR2(64)
    TOTAL_WAITS                                        NUMBER
    TOTAL_TIMEOUTS                                     NUMBER
    TIME_WAITED                                        NUMBER
    AVERAGE_WAIT                                       NUMBER
    TIME_WAITED_MICRO                                  NUMBER
    EVENT_ID                                           NUMBER
    WAIT_CLASS_ID                                      NUMBER
    WAIT_CLASS#                                        NUMBER
    WAIT_CLASS                                         VARCHAR2(64)As you can see from the TIME_WAITED_MICRO column above. This is valid from 9i

  • How to find out the Trace file

    Hi Dba's
    I need to find out the trace file with the Request id. how can i find out it?
    Thanks

    There are many ways to create a trace file in the apps. Pl provide details on how you enabled trace, as that will determine where the trace file is created.Concurrent requests trace files are always created under USER_DUMP_DEST directory.

  • How to get the trace file name for current running application?

    Hi, I want to know if it is possible to get the file name directly for current running application instance which is launched by javaws.
    There is a property "deployment.user.logdir" tells the log directory, it would be great if a file name property
    is available. something like "instance.trace.file".
    Our application wants it because we would like our client send use the application log by clicking a "send error"
    button, the codes finds the trace file and compress it and send it by using a smtp server.
    In 1.5, we can do it by using a shell program.

    I found other asked it before, but I tried to set both properties, but neither works. my sun JRE version :java version "1.6.0_04"
    <property
    name="deployment.javaws.traceFileName"
    value="abcfefsfdsf"/>
    <property
    name="deployment.javapi.trace.filename"
    value="235235235"/>
    But it always write to one trace file with name lik javaws63645.trace

  • I am not able to see the trace files for SQL query

    Hello, I am using windows vista OS.
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE 10.2.0.3.0 Production
    TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    SQL>
    I enabled the trace as below
    alter system set timed_statistics=TRUE
    alter system set sql_trace=TRUE
    After this, I ran sql query from scott as below.
    select count(*) from emp;
    After this, i checked in user dump directory. The trace files are generating... But this sql code is not appearing in the trace files...
    Am i missing anything... Any help is appreciated.
    Thanks

    This may happen when the trace file is not completely closed.You may try again doing like this,
    alter session set sql_trace=true;
    select * from emp;
    alter session set sql_trace=false;After this,disconnect and exit from your session as well. This should close the file completely and you should be able to see your command in it.
    HTH
    Aman....

  • Any simple way to get the trace file

    One user want the trace file i went to bdump dir.
    any way to fine that trace file from there.

    Re: dbms_session and sql_trace
    ALTER SESSION SET TRACEFILE_IDENTIFIER= will help you identify the file name.
    Search is a wonderful help in this forum.

  • How to stop the generation of the trace files relate to the particular user

    Dear All,
    Please advice:
    Is it possible to stop the trace file created by a user for a particular job (sql/exp)
    For example :
    Trace files create whenever the user run the sql/exp command from his application server.
    This will created a huge files and caused the file system getting full (not in bdump but it is generation in application user home directory).
    Is there any method to stop the generation of the trace files relate to the particular user base on that job.
    thanks,
    Shanoj

    Dear SHANOJ
    This trigger will created for that specific user by dba or person who have sysdba privs. it will triggered at the login time of that user and alter the sqltrace.
    for example we have write one trigger in our database for every ddl operation in database.
    CREATE OR REPLACE TRIGGER "SYS"."SYS$DDLTRIG" after DDL on database
    declare
    v_machinename VARCHAR2(100);
    v_osuser VARCHAR2(100);
    v_dbuser VARCHAR2(100);
    v_host VARCHAR2(100);
    v_program VARCHAR2(100);
    v_instance VARCHAR2(100);
    v_date VARCHAR2(100);
    begin
    select to_char(sysdate, 'mm-dd-yyyy HH24:MI:SS'),user,sys_context('userenv','OS_
    USER'),sys_context('userenv','HOST'), (select instance_name from v$instance),(se
    lect program from v$session where sid = (select distinct sid from v$mystat)),(se
    lect machine from v$session where sid = (select distinct sid from v$mystat)) int
    o v_date,v_dbuser,v_osuser,v_host,v_instance,v_program,v_machinename from dual;
    IF ora_sysevent = 'DROP' or ora_sysevent = 'REVOKE' or ora_sysevent = 'GRANT' or
    ora_sysevent = 'CREATE' or ora_sysevent = 'TRUNCATE' or ora_sysevent = 'ALTER'
    Then
    insert into ddl_log_new(v_date,v_dbuser,v_osuser,v_host,v_instance,v_program,v_m
    achinename,V_EVENT,V_OBJECT_NAME,V_OBJECT_TYPE,V_OBJECT_OWNER) values (v_date,v_
    dbuser,v_osuser,v_host,v_instance,v_program,v_machinename,ora_sysevent,ora_dict_
    obj_name,ora_dict_obj_type,ora_dict_obj_owner);
    END IF;
    END;
    i hope above example will helpful for u,
    Regards
    Ambrish
    Edited by: ambrishr24 on Dec 5, 2012 5:02 PM
    Edited by: ambrishr24 on Dec 5, 2012 5:05 PM
    Edited by: ambrishr24 on Dec 5, 2012 5:20 PM

  • Why backup controlfile to trace doesn't produce the trace file in udump?

    Hi there,
    I recently redirected some of the data files on different drives. I started nomount with pfile and created new controlfile with the new datafile locations. I was able to open db and saw the new location of the db files. But when I trace the controlfile, I didn't see the trace file on the udump. Could anybody explain why?

    also, when I did the show parameter I got the following results:
    SQL> show parameter spfile
    NAME TYPE VALUE
    spfile string
    SQL> show parameter pfile
    NAME TYPE VALUE
    spfile string
    I did startup the db with pfile and open it with resetlogs. I created spfile from pfile. Why I'm not seeing the location of the pfile or spfile? Could you please help me understand this?

  • Read the results shown in the trace files

    Hi,
    I have a question,
    In oracle 10g or 11g, How can I interpret the results shown in the trace files?
    ok I explain more ... when I enable the trace sql session , a trace file is created under user dump!
    What 's the meaning of :
    *1- PARSING IN CURSOR*
    *2- tim= is it in Microseconds? Timestamp ? How can I convert it in seconds?*
    *3- STAT*
    *4- CLOSE*
    *5- hv=*
    *6- tim=*
    *7- lid=*
    *8-dep=*
    PARSING IN CURSOR #2 len=104 dep=0 uid=0 oct=2 lid=0 tim=13651992547 hv=3760112805 ad='284c0e6c' sqlid='6shmgvbh1xj55'
    INSERT INTO employee(ID,NAME,department_id, DEPARTMENT_SUB_ID) VALUES(10002, 'employee', 12, 0)
    END OF STMT
    PARSE #2:c=93750,e=102539,p=24,cr=471,cu=0,mis=1,r=0,dep=0,og=1,plh=0,tim=13651992547
    EXEC #2:c=0,e=0,p=5,cr=1,cu=7,mis=0,r=1,dep=0,og=1,plh=0,tim=13651992547
    STAT #2 id=1 cnt=0 pid=0 pos=1 obj=0 op='LOAD TABLE CONVENTIONAL  (cr=1 pr=5 pw=0 time=0 us)'
    CLOSE #2:c=0,e=0,dep=0,type=0,tim=13652013059Thnak you a lot guys,
    Smith

    794130 wrote:
    Thank you,
    Sorry, I am new in Oracle and I want to get things really clear (something that is diifficult I think)
    When an end user submit a query, one user process communicates the query to a server process.
    The server process analyse the syntax and the symentic of the query, this known as the parse process.
    The syntax of the query and the tables, columns are verified against the database buffer cache.
    One PGA is allocated to store the query.
    The server process read from the datafile and gets the results and store it into the shared pool.
    The result is then back to the user process and then to the end user
    Is it correct ?
    Thank you all,
    SSome of the above concepts are close. There is a nice description in the Oracle Database Concepts guide of what happens during the processing of a SQL statement (see the stages listed in the documentation):
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/sqlplsql.htm#sthref3460
    It is probably a good idea to distinguish between a hard parse, a soft parse, and a session cursor cache hit:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/glossary.htm#sthref1591
    The database buffer cache is not used to verify the validity of SQL statements, but instead as a means to reduce the number of disk accesses that are required to return a query result to a client computer.
    One or more pieces of PGA memory may be used simultaneously while processing a SQL statement. I have a couple of blog articles that show multiple PGA memory allocations in use at the same time.
    The server process may not need to access a physical data file to return the query results to a client computer, depending of course on the current contents of the buffer cache.
    I recommend that you wait a while before trying to work with 10046 trace files. Right now the contents are probably providing too much detail for you, although I definitely recommend that you return to working with 10046 trace files at a later time. A good starting point is either the free Database Concepts Guide:
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14220.pdf
    or Tom Kyte's "Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions, Second Edition" book. You can read my review of that book on Amazon's website:
    http://www.amazon.com/Expert-Oracle-Database-Architecture-Programming/dp/1430229462/ref=dp_ob_title_bk
    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.

  • Getting timestamps for SQL session without the trace file enabled

    hi, i have a clarification. Is there a method or way by which i can get the timestamps of an SQL session without the the trace file enabled , and if so please get me the details of this.
    thanks in advance.

    Hi,
    Don't very understand what do you want.
    SQL> set timing on
    SQL> select * from dual;
    D
    X
    Elapsed: 00:00:01.07
    SQL> Is this ?
    Nicolas.

  • Analyzing the trace file

    Does someone know the meaning of the NTTCNR and the NTTVLSER codes in the
    trace file from the Oracle server????
    Below is an example of the mentioned codes in the trace:
    nttcnr: entry
    nttcnr: waiting to accept a connection.
    nttvlser: entry
    nttvlser: valid node check on incoming node 10.20.30.201
    nttvlser: Accepted Entry: 10.20.30.201
    nttcnr: exit
    null

    Hi,
    I am new in sap i would like to mare about ST01 in deatil .
    Regards
    Pallav

  • How to get the real table information of a structure from the trace file?

    I user the ST05 to trace a program to find the real table information of a structure in this program. But I found so many sql trace information in the trace file. So how can I find which information is useful for me to find the real table of a structure?

    Hi!
    If you don't recognize some tables, because they belong to same application, then it's difficult.
    Try to change interesting value. Afterwards you can search for 'INSERT', 'UPDATE' (and 'MODIFY'?) - that will leave only a small number of lines, which have to be analyzed in detail (e.g. have a look at them with SE16).
    Regards,
    Christian

  • Dbms_monitor.session_trace_enable does not generate the trace file

    hi All,
    i'm trying the example from Tom Kyte's <<expert oracle database architecture>>, after runnning the java code using dbms_monitor.session_trace_enable, the trace file for the session can't be found in user_dump_dest, could anyone help explain. oracle version is 10.2.0.1.0 on RHEL 5. thanks.
    [oracle@CS-RHEL chapter09]$ cat perftest.java
    import java.sql.*;
    import oracle.jdbc.OracleDriver;
    import java.util.Date;
    public class perftest
      public static void main (String arr[]) throws Exception
        DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
        Connection con = DriverManager.getConnection
              ("jdbc:oracle:thin:@127.0.0.1:1522:cs10g",
                "sid", "sid");
        Integer iters = new Integer(arr[0]);
        Integer commitCnt = new Integer(arr[1]);
        con.setAutoCommit(false);
        doInserts( con, 1, 1 );
        Statement stmt = con.createStatement ();
        stmt.execute
        ( "begin dbms_monitor.session_trace_enable(waits=>TRUE); end;" );
        doInserts( con, iters.intValue(), commitCnt.intValue() );
        doInserts( con, iters.intValue(), iters.intValue() );
        con.commit();
        con.close();
      static void doInserts(Connection con, int count, int commitCount )
      throws Exception
        PreparedStatement ps =
           con.prepareStatement
           ("insert into test " +
            "(id, code, descr, insert_user, insert_date)"
            + " values (?,?,?, user, sysdate)");
        PreparedStatement commit =
           con.prepareStatement
           ("begin /* commit size = " + commitCount + " */ commit; end;" );
        int  rowcnt = 0;
        int  committed = 0;
        long start = new Date().getTime();
        for (int i = 0; i < count; i++ )
          ps.setInt(1,i);
          ps.setString(2,"PS - code" + i);
          ps.setString(3,"PS - desc" + i);
          ps.executeUpdate();
          rowcnt++;
          if ( rowcnt == commitCount )
            commit.executeUpdate();
            rowcnt = 0;
            committed++;
        con.commit();
        long end = new Date().getTime();
        System.out.println
        ("pstatement " + count + " times in " +
         (end - start) + " milli seconds committed = "+committed);
    }run the java class
    [oracle@CS-RHEL chapter09]$ java -cp .:./ojdbc14.jar perftest 1000 1
    pstatement 1 times in 5 milli seconds committed = 1
    pstatement 1000 times in 2255 milli seconds committed = 1000
    pstatement 1000 times in 509 milli seconds committed = 1

    hi virendra.k and Kecskemethy,
    thanks for your help. believe i find the arnswer.
    1. i used shared server connection. i can find the trace info in the backgroup_dump_dest, in the files: cs10g_s000_17467.trc and cs10g_s001_17469.trc
    Ref:http://www.dbspecialists.com/files/presentations/tracing_ind_sessions.html
    First, rather than using DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE, we use DBMS_MONITOR.SESSION_TRACE_ENABLE. This can be run either by the session itself,
    or by another session (specifying the SID of the session to be traced). The tracing output will be in the instance’s background_dump_dest directory,
    rather than the user_dump_dest. And then you use trcsess with the session_id option, where session ID is actually the SID.SERIAL# of the session
    (from v$session). Again you get a consolidated trace file containing just the activity of the desired session.2. after change to dedicated server, the trace file is generated in user_dump_dest now.
    sid@CS10G> show parameter trace_enable
    NAME                                 TYPE        VALUE
    trace_enabled                        boolean     TRUE
    sid@CS10G> show parameter shared_servers
    NAME                                 TYPE        VALUE
    max_shared_servers                   integer
    shared_servers                       integer     10
    sid@CS10G> alter system set shared_servers=0
      2  ;
    System altered.
    [oracle@CS-RHEL udump]$ pwd
    /home/u02/app/oracle/product/11.1.0/db_1/admin/cs10g/udump
    [oracle@CS-RHEL udump]$ tail -25 cs10g_ora_22313.trc
    WAIT #8: nam='SQL*Net message to client' ela= 2 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901405248
    WAIT #8: nam='SQL*Net message from client' ela= 151 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901405433
    =====================
    PARSING IN CURSOR #9 len=43 dep=0 uid=61 oct=47 lid=61 tim=1220152901405586 hv=1042574845 ad='3ace843c'
    begin /* commit size = 1000 */ commit; end;
    END OF STMT
    PARSE #9:c=0,e=99,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1220152901405582
    =====================
    PARSING IN CURSOR #10 len=6 dep=1 uid=61 oct=44 lid=61 tim=1220152901405781 hv=255718823 ad='0'
    COMMIT
    END OF STMT
    PARSE #10:c=0,e=13,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=0,tim=1220152901405776
    XCTEND rlbk=0, rd_only=0
    EXEC #10:c=0,e=146,p=0,cr=0,cu=1,mis=0,r=0,dep=1,og=0,tim=1220152901406000
    EXEC #9:c=999,e=396,p=0,cr=0,cu=1,mis=0,r=1,dep=0,og=1,tim=1220152901406082
    WAIT #9: nam='log file sync' ela= 3234 buffer#=5459 p2=0 p3=0 obj#=-1 tim=1220152901409385
    WAIT #9: nam='SQL*Net message to client' ela= 2 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901409450
    WAIT #9: nam='SQL*Net message from client' ela= 142 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901409633
    XCTEND rlbk=0, rd_only=1
    WAIT #0: nam='SQL*Net message to client' ela= 1 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901409735
    WAIT #0: nam='SQL*Net message from client' ela= 283 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901410043
    XCTEND rlbk=0, rd_only=1
    WAIT #0: nam='SQL*Net message to client' ela= 2 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901410146
    WAIT #0: nam='SQL*Net message from client' ela= 316 driver id=1952673792 #bytes=1 p3=0 obj#=-1 tim=1220152901410489
    XCTEND rlbk=0, rd_only=1

Maybe you are looking for

  • CUPS broken after 10.4.11 update

    The 10.4.11 ppc combo updater broke the CUPS installation on my system (iMac G5, 10.4.8). I did repair permissions, tried to reinstall the printers with Printer Setup Utility, used Printer Setup Repair. http://www.fixamacsoftware.com/software/psr Tha

  • Blank MacBook Pro screen

         I have an older MacBook Pro (2007) and my screen went blank (gray). I have tried restarting the computer and I also went through the AHT trouble shooting that was recommended on the Support site.      I havent had any luck with getting anything

  • [SOLVED] Gnome doesn't apply the theme to new opened windows

    Hi, I'm using Gnome as desktop environment, but encountered a really annoying issue . I want to change the theme and therefore do the following "Right click on desktop -> "Change desktop background" -> Theme -> "Darklooks". All opened windows (as wel

  • Multi-Table Foreign Key

    Hi all I am using oracle 9i, is it possible to create foreign key that referenced by more than one table, for example if I have such field I want the value for this field be referenced by values exist in either Table X or Table Y. Message was edited

  • Preventing computer from going to sleep

    Our main production software (IQue 5.5) is screwed up if the computer goes to sleep.  We put in an order for 10 mac minis running mavericks and then the new mini got announced the very next day and there is no stock left on the old machines and we we