About Trace file

Hi
Can I create a trace file as my desire name in Udump folder? Because there are so many trc files in my udump folder. If I soft by date also, i can't recognize my trace file which is recently created.
Please advise...!!
Regards
Arpitha

Hi
How to see the following output of TKPROF for a query? and also how to see the Wait events info? Please help me?
My query
SELECT * FROM emp, dept
WHERE emp.deptno = dept.deptno;I would like to see the trace file output like this...
call   count      cpu    elapsed     disk    query current    rows
Parse     11     0.08      0.18        0       0       0         0
Execute   11     0.23      0.66        0       3       6         0
Fetch     35     6.70      6.83      100   12326       2       824
total     57     7.01      7.67      100   12329       8       826
Misses in library cache during parse: 0 Wait events info.
Elapsed times include waiting on following events:
  Event waited on                             Times   Max. Wait  Total Waited
  ----------------------------------------   Waited  ----------  ------------
  db file sequential read                      8084        0.12          5.34
  direct path write                             834        0.00          0.00
  direct path write temp                        834        0.00          0.05
  db file parallel read                           8        1.53          5.51
  db file scattered read                       4180        0.07          1.45
  direct path read                             7082        0.00          0.05
  direct path read temp                        7082        0.00          0.44
  rdbms ipc reply                                20        0.00          0.01
  SQL*Net message to client                       1        0.00          0.00
  SQL*Net message from client                     1        0.00          0.00please help me in this regard..!!

Similar Messages

  • Question about Y_?????? trace files

    We have a SAP ERP 6.0 system runninng in Windows. I am checking the trace files in our system, and I have found that there are a lot of Y_??????. I have been looking for information about them, but I cannot find it. Does anyone know how and why these files are generated, and if I can safely delete them?
    Thank you for your help,
    Jose

    Hi Jose,
    Is the file called Y_18001 or Y_<number>. These are just Developer Trace files and you can safely delete those file.
    Refer to below link
    http://help.sap.com/saphelp_47x200/helpdata/en/1f/8311664bc511d189750000e8322d00/content.htm
    Regards,
    Arjun

  • Trace file doesn't show any info about error

    Dear all,
    DB : 10.2.0.4
    Solaris 5.10
    We have a background program to do some activities in the Database.
    Today ,when running the program we got the below error :
    1) 20221: errexit, ORA-00001: unique constraint (MEDS.MED_USER_EQUS_HIST_PK) violated.
    I ran a trace of this session and the trace file doesnt have any info about the error..ran trace using the below command :
    exec sys.DBMS_SUPPORT.START_TRACE_IN_SESSION(2166,30629, false,TRUE);
    why is that the trace file doesn't have any info about the error.
    2) I disable the constraint disable novalidate.
    even then I got the same error .. why is the constraint getting validate even if I disable the constraint ?
    Please guide
    Kai

    As usual this question has documented answers, and you are asking this question, because you consistently refuse to read any documentation. So in your case the answer could have been 'Yes, there is. See the docs'.
    You could actually say you are in gross violation of the forums etiquette post, and are abusing this forum.
    If you would have read the docs, you wouldn't have used dbms_support (which was never supported for end-users), but you would have looked at
    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_monitor.htm#i1003679
    and what do you see?
    The life of a DBA can be so easy when he makes an attempt to find information himself!
    He doesn't have to wait until some kind soul answers doc question 779!
    Sybrand Bakker
    Senior Oracle DBA

  • Creating trace file in oracle 10g forms

    hii there,
    I have developed an application in oracle 10g. but it's too slow . Now i have to trace forms . How can trace oracle forms.
    please send it in details as early as possible. I don't know about this trace file generation.
    -----Sachin

    Hi,
    To run SQL trace for a form :
    a. Get to the point in the form where you want to turn trace on.
    For example, if the problem occurs on the commit, wait until you are
    ready to commit, THEN turn trace on.
    b. Turn tracing on. In GUI versions: Help - Tools - Trace, enable tracing.
    c. Execute the steps you want to trace.
    d. Turn tracing off. In GUI versions: Help - Tools - Trace, disable tracing.
    The trace file will be written to the subdirectory specified in the
    'user_dump_dest' parameter in the INIT.ORA file.

  • Pls/sql in trace file

    Hi!
    The problem is appearence of pl/sql code in trace file instead of separate cursors of SQL statements. So, I can't get information about each SQL statement separatelly. What's wrong? How to separate SQL statements?
    Nosorog

    As Satish indicated, the "SQL*Net message from client" wait is an event which indicates that the database server was waiting for the next request from the client computer, and not an indication that the query needs to be tuned. Manually review the trace file. At one point in the trace file, you will see this wait event with an ela= value which begins with 14142 - please post to this thread that line from the trace file along with the 20 lines before that line and the 20 lines after that line. You may just have a long wait on this event at the beginning, and another long wait on this event at the end of the query.
    Charles Hooper
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.

  • Unable to generate SQL trace file in shared mode ??

    Hello,
    I have a 10.2.0.1.0 database on Win2003 server 64 bits, with several instances.
    On instances in dedicated mode, I can create trace files by using dbms_system.set_sql_trace_in_session, but on instances in shared mode nothing happens : no file is created in the udump directory.
    This doesn't make any sense to me o_O
    The shared parameters are the following :
    dispatchers=(protocol=TCP)
    shared_servers=1
    I've checked all the necessary parameters to create a trace file (user_dump_dest, timed_statistics, max_dump_file_size...) and everything is fine.
    I really don't understand why I can't create trace files when the instance is in shared mdoe...
    Can anyone help about this weird issue ?
    thank you !
    regards,
    Antoine

    Remember also that in Shared Server mode the trace information is not written to a single file but is written to the Shared Server trace file. Before Oracle 10g there was no way to pull all the trace information for a single user session together out of the trace files. There is a tool for doing so with 10g.
    HTH -- Mark D Powell --

  • Unable to generate SQL trace file on a 10.2.0.1.0 database

    Hello,
    I am unable to generate SQL trace files on a 10.2.0.1.0 database (OS is Win2003 server 64 bits).
    First I tried the way I used to do it on older databases (8i and 9i) :
    execute dbms_system.set_sql_trace_in_session(sid, serial#, true);
    I got no error, but no file was created in the user dump dest directory.
    Then I've been searching and I've tried other things :
    - I changed the user_dump_dest parameter
    - I changed the tracefiles_public parameter value to "true", by modifying the init.ora file
    - I tried another package :
    exec dbms_monitor.session_trace_enable(139)
    Nothing worked, I can't create any trace file...
    Does anyone have an idea about this issue ?
    thank you for you help !
    Antoine

    Hello,
    thank you all for replying.
    I have 2 instances on this machine, and I've just realized that with the other one I have no problem to generate sql trace files as usual.
    But why the hell is it impossible on the first instance ? What difference between the 2 instances can explain this ?
    This is pretty weird...
    Otherwise I am experiencing serious performance problems on the instance where I can't creat trace files, there must be something wrong with it, but I can't figure it out
    regards,
    Antoine

  • Where is the user trace file?

    I have issued the statement below to enable sql trace in session 260 ,and it execute successfully.but i can not find where the trace file in directory $ORACLE_BASE/admin/testcs/udump (testcs is my database name).
    SQL> execute dbms_system.set_sql_trace_in_session(260,34880,true);
    PL/SQL procedure successfully completed.
    where is the trace file?
    By the way,how can i find the information about the package DBMS_SYSTEM which is not in ORACLE references?

    Did you issue some queries after turning tracing on? The trace file might not be created until there is some activity in the session.
    I know that DBMS_SYSTEM is documented in the O'Reilly Press book "Oracle Built-in Packages" by Feuerstein, Dye & Beresniewicz.
    However for tracing I think that Oracle expects you to use the dbms_support package:
    execute sys.dbms_support.start_trace_in_session -
      (sid => &sid, serial => &serial, waits => true, binds => true)Or for Oracle 7.3.4 or 8.0 you can use oradebug. Example:
    select pid, spid, username from v$process;
    PID    SPID   USERNAME
    8      25807  oracle
    SVRMGR> oradebug setorapid 8
    -- or -
    SVRMGR> oradebug setospid 25807
    -- turn on
    SVRMGR> oradebug event 10046 trace name context forever, level 12 
    -- turn off
    SVRMGR> oradebug event 10046 trace name context off

  • Too many trace files generated by program ORACLE.EXE (J001) in "bdump"

    Hi,
    Please help!
    the following trace file messages have been created in my "bdump" folder about every 6 minutes, so it generates about 200 files per hours. Can someone tell me how to solve the error or stop the trace files be generated. Thanks.
    Windows thread id: 5520, image: ORACLE.EXE (J001)
    *** 2009-05-22 12:49:21.372
    *** ACTION NAME:() 2009-05-22 12:49:21.372
    *** MODULE NAME:() 2009-05-22 12:49:21.372
    *** SERVICE NAME:(SYS$USERS) 2009-05-22 12:49:21.372
    *** SESSION ID:(312.292) 2009-05-22 12:49:21.372
    java.io.IOException: service early exit: code=1 : err=The system cannot find the path specified.
    : out=
    at oracle.wh.runtime.server.Util.execRuntimeService(Util.java:122)
    CJ

    No version number and not enough information in what you posted to help you.
    Did this just start?
    If so what actions preceded it?
    Or is this a new install?
    Have you tried bouncing the instance?
    If it were my system I would have already searched the knowledgebase at metalink and opened an SR if I couldn't find a solution. Did you?

  • APEX Overhead and trace files

    Hey everyone,
    We've been asked to "stress" and "load" test our application as it is predicted our user base might grow in the near future (company acquisitions/etc)...
    Unfortunately, there is concern about the overhead added by APEX.  From everything I've read, I do not personally believe APEX adds much to each page view (as compared to our own self-managed data), however I need to PROVE this to our system admins/etc.  Simply referencing things on the internet like "APEX doesn't add much overhead" doesn't exactly make the case.
    To accomplish my mission, I've done the following:
    1) generated a trace file on a test page by appending the following to the end of the URL:
    "&p_trace=YES" (without quotes)
    2) found the location of trace files using:
    select value from v$parameter where name = 'user_dump_dest';
    3) found the exact trace file for my apex page view
    grep -l "3853406964369" *.trc (where the number in quotes was the session id taken from my apex url)
    4) formatted the trace file using tkprof from the linux command line:
    tkprof orcl_ora_24115.trc tkprof_output
    Now, I'm in the process of examining the file.  It is great that it shows everything involved in generating a page!  A couple of quick questions though.
    A) is it safe to assume that this trace file (found by using my method above in steps 1-4) only contains records associated with my single apex page view?  My fear is that just because a file contains my session id, that does not guarantee that other random stuff from other sessions is also in the same file (sorry i'm new to trace files and especially trace files generated by apex).
    B) if i view a second page with the trace=YES, will a second file get generated or does it get combined into 1 file?  how can i easily tell which file is for which page view?
    C) is there an easy way to differentiate what queries would normally be made by oracle (regardless of the UI) versus queries ran by APEX specifically (which would not occur if we were using PHP for a front end)?
    Specifically, I see queries (similar to the following) that do not appear to be APEX specific from what I can tell:
    -- example 1 --
    select i.obj#,i.ts#,i.file#,i.block#,i.intcols,i.type#,i.flags,i.property,
      i.pctfree$,i.initrans,i.maxtrans,i.blevel,i.leafcnt,i.distkey,i.lblkkey,
      i.dblkkey,i.clufac,i.cols,i.analyzetime,i.samplesize,i.dataobj#,
      nvl(i.degree,1),nvl(i.instances,1),i.rowcnt,mod(i.pctthres$,256),
      i.indmethod#,i.trunccnt,nvl(c.unicols,0),nvl(c.deferrable#+c.valid#,0),
      nvl(i.spare1,i.intcols),i.spare4,i.spare2,i.spare6,decode(i.pctthres$,null,
      null,mod(trunc(i.pctthres$/256),256)),ist.cachedblk,ist.cachehit,
      ist.logicalread
    from
    ind$ i, ind_stats$ ist, (select enabled, min(cols) unicols,
      min(to_number(bitand(defer,1))) deferrable#,min(to_number(bitand(defer,4)))
      valid# from cdef$ where obj#=:1 and enabled > 1 group by enabled) c where
      i.obj#=c.enabled(+) and i.obj# = ist.obj#(+) and i.bo#=:1 order by i.obj#
    -- example 2 --
    select intcol#, toid, version#, intcols, intcol#s, flags, synobj#
    from
    subcoltype$ where obj#=:1 order by intcol# asc
    and I see queries that are definitely APEX related (based on the existence of references to wwv objects):
    -- example 3 --
    SELECT ID, BRANCH_NAME, BRANCH_ACTION, BRANCH_POINT, BRANCH_TYPE,
      BRANCH_CONDITION, BRANCH_CONDITION_TEXT, BRANCH_CONDITION_TYPE,
      BRANCH_WHEN_BUTTON_ID, NVL(SAVE_STATE_BEFORE_BRANCH_YN,'N'),
      SECURITY_SCHEME
    FROM
    WWV_FLOW_STEP_BRANCHES WHERE FLOW_ID = :B4 AND FLOW_STEP_ID = :B3 AND
      BRANCH_POINT = 'BEFORE_HEADER' AND (REQUIRED_PATCH IS NULL OR
      (REQUIRED_PATCH > 0 AND (:B2 IS NULL OR INSTR(:B2 ,
      ':'||TO_CHAR(REQUIRED_PATCH)||':') = 0) ) OR (REQUIRED_PATCH < 0 AND (:B1
      IS NULL OR INSTR(:B1 ,':'||TO_CHAR(0-REQUIRED_PATCH)||':') = 0) ) ) ORDER
      BY BRANCH_SEQUENCE, ID
    and then of course it's easy for me to identify any queries that are based on our code because I recognize the object names we use.
    In the mean-time I'm starting to look into how to interpret trace files (outside of the context of apex).
    My biggest concern is that I do not want to "ding" or "tax" APEX for queries that it had nothing to do with and that would be ran by oracle regardless of the UI we use to "view a page".
    Thanks!

    Move older audit files to a different filesystem until you find someone being able to define what files can be deleted.
    Regards
    Gustavo Restuccia

  • Useful logs and trace files

    Hello experts, for our Netweaver AS administration, I am in charge of periodically checking logs and trace files. I would like to know which are the most useful logs and trace files and the information each one will hold. I am familiar with "DefaultTrace.trc", and as of today it is the only one I have used, but I believe I should also be looking at other logs and trace files.
    Any suggestions?

    Hi Pedro,
    If you are talking about JAVA only system defaulttrace is the best log/trace to look, there are other log files like application log, but maybe the best way to check you logs is using NWA (NetWeaver Administrator) on the following URL on your JAVA system:
    http://<hostname>:<port>/nwa
    From there you need to go to Monitoring -> Logs and Traces and then Predefined View/SAP logs.
    My other recommendation is to change the severity level to ERROR for all you JAVA component within the Visual Administrator -> ServeNode -> Services -> Log Configurator -> Locations, otherwise it is possible that you see a lot of garbage on the defaulttraces. Anyway you can change the severity level per component, on demand, to investigate any possible problem.
    The work directory is very imporant and maybe you can also check the file "dev_serverX" that also will give you information about any out of memory conditions and garbage collection activity if you have these values set for the server node using the config tool:
    -verbose:gc
    -XX:+PrintGCDetails
    -XX:+PrintGCTimeStamps
    You can find more information on here:
    http://help.sap.com/saphelp_nw70/helpdata/en/ac/e9d8a51c732e42bd0e7de54b9ff4e2/content.htm
    Hopefully this help you, let me know if you need more information,
    Zareh

  • External portal capturing internal portal URL in Log and trace file

    Hi,
    We are facing one issue in portal like we have two portals for internal (Intranet) and external (Internet) users.
    Once users logged in the application and try to get the information about mylink from the external portal link (internet) they should not get any information about the internal portal.
    But in log and trace file we can see the external portal link capturing the internal portal URL.
    We need to find, from where system capturing the internal portal URL.
    Thanks.

    The tkproffed trace file is in seconds.
    "set timing" is in hh:mi:ss.uu format. So 00:00:01.01 is 1.01 seconds.
    You have to remember that most of these measurements are rounded. While your trace file says it contains one second of trace data, you know it's more.
    One excellent resource for trace files is "Optimizing Oracle Performance" by Cary Millsap & Jeff Holt. (http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X ) I thought I knew trace files before, but this book brings your knowledge to a whole new level.
    There is also an excellent WP by Cary Millsap ( http://method-r.com/downloads/doc_details/10-for-developers-making-friends-with-the-oracle-database-cary-millsap ) that gives you some insight.

  • Get blocker from the (self) deadlock trace file

    Hi,
    Recently I had an issue on a 10.2.0.4 single instance database where deadlocks were occurring. The following test case reproduces the problem (I create three parent tables, one child table with indexed foreign keys to all three parent tables and a procedure which performs an insert into the child table in an autonomous transaction):
    create table parent_1(id number primary key);
    create table parent_2(id number primary key);
    create table parent_3(id number primary key);
    create table child( id_c number primary key,
                       id_p1 number,
                       id_p2 number,
                       id_p3 number,
                       constraint fk_id_p1 foreign key (id_p1) references parent_1(id),
                       constraint fk_id_p2 foreign key (id_p2) references parent_2(id),
                       constraint fk_id_p3 foreign key (id_p3) references parent_3(id)
    create index i_id_p1 on child(id_p1);
    create index i_id_p2 on child(id_p2);
    create index i_id_p3 on child(id_p3);
    create or replace procedure insert_into_child as
    pragma autonomous_transaction;
    begin
      insert into child(id_c, id_p1, id_p2, id_p3) values(1,1,1,1);
      commit;
    end;
    insert into parent_1 values(1);
    insert into parent_2 values(1);
    commit;And now the action that causes the deadlock:
    SQL> insert into parent_3 values(1);
    1 row created.
    SQL> exec insert_into_child;
    BEGIN insert_into_child; END;
    ERROR at line 1:
    ORA-00060: deadlock detected while waiting for resource
    ORA-06512: at "SCOTT.INSERT_INTO_CHILD", line 4
    ORA-06512: at line 1My question is: how can I determine which table the insert into CHILD was waiting on? It could be waiting on PARENT_1, PARENT_2, PARENT_3, a combination of them or even on CHILD if I tried to insert a duplicate primary key in CHILD. Since we have the full testcase we know that it was waiting on PARENT_3 (or better said, it was waiting for the "parent" transaction to perform a commit/rollback), but is it possible to determine that solely from the deadlock trace file? I'm asking that because to pinpoint the problem I had to perform redo log mining, pl/sql tracing with DBMS_TRACE and manual debugging on a clone of the production database which was restored to a SCN just before the deadlock occurred. So, I had to do quite a lot of work to get to the blocker table and if this information is already in the deadlock trace file, it would have saved me a lot of time.
    Below is the deadlock trace file. From the "DML LOCK" part I guess that the child table (tab=227042) holds a mode 3 lock (SX), all the other three parent tables have mode 2 locks (SS), but from this extract I can't see that parent_3 (tab=227040) is blocking the insert into child:
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    TX-00070029-00749150        23     476     X             23     476           S
    session 476: DID 0001-0017-00000003     session 476: DID 0001-0017-00000003
    Rows waited on:
    Session 476: obj - rowid = 000376E2 - AAA3biAAEAAA4BwAAA
      (dictionary objn - 227042, file - 4, block - 229488, slot - 0)
    Information on the OTHER waiting sessions:
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    INSERT INTO CHILD(ID_C, ID_P1, ID_P2, ID_P3) VALUES(1,1,1,1)
    ----- PL/SQL Call Stack -----
      object      line  object
      handle    number  name
    3989eef50         4  procedure SCOTT.INSERT_INTO_CHILD
    391f3d870         1  anonymous block
            SO: 397691978, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227042 flg=11 chi=0
                      his[0]: mod=3 spn=35288
            (enqueue) TM-000376E2-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x398341fe8, mode: SX, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398341ff8
            SO: 397691878, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227040 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376E0-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x3983386e8, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x3983386f8
            SO: 397691778, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227038 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376DE-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x398340f58, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398340f68
            SO: 397691678, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227036 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376DC-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x39833f358, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x39833f368
          ----------------------------------------Thank you in advance for any comments,
    Jure

    Hi Jonathan,
    thank you very much for your reply which more than answers my question. I think it actually clears a lot of doubts I had about TX locks, since your mentioning of "undo segment header transaction table" pointed me in the right direction for further research on this topic (honestly, I didn't know what's "behind" TX locks). So if I understood correctly, to determine which table is the blocker (in the testcase presented above), you have to have some kind of history of executed SQL statements (e.g. by mining redo logs)?
    The statement you wrote:
    At this point, and with your example, the waiting session is waiting on a TX (transaction) lock - this means it has not idea (and no interest) in the actual data involved, it is merely waiting for an undo segment header transaction table slot to clear. and the example with the savepoint you gave, made me think of some of the consequences of that behaviour. That is probably the reason why it is not possible to get the "blocker" table from v$lock (although sometimes it's possible to get it from v$session.row_wait_obj#) when a session tries to change a row another session holds in exclusive mode, e.g.:
    create table t1 (id number);
    insert into t1 values (1);
    commit;
    Session 126:
    SID = 126> update t1 set id=2 where id=1;
    1 row updated.
    Session 146:
    SID = 146> update t1 set id=2 where id=1;
    {session hangs}
    In a separate session:
    SQL> SELECT   CASE
      2                  WHEN TYPE = 'TM'
      3                     THEN (SELECT object_name
      4                             FROM user_objects
      5                            WHERE object_id = l.id1)
      6               END object_name,
      7                  SID, TYPE, id1, id2, lmode, request, BLOCK
      8          FROM v$lock l
      9         WHERE SID IN (126, 146)
    10     ORDER BY SID, TYPE, 1
    11  /
    OBJECT_NAME    SID TY        ID1        ID2      LMODE    REQUEST      BLOCK
    T1             126 TM      68447          0          3          0          0
                   126 TX     262153       4669          6          0          1
    T1             146 TM      68447          0          3          0          0
                   146 TX     262153       4669          0          6          0The only thing I can tell from this output is that session 146 is trying to get a TX lock in exclusive mode, and session 126 is blocking it, the reason of the blocking being unknown from this view alone.
    Since I'd like to get a better understanding on the mechanics behind this (e.g. why the blocked session can't know the segment that is waiting for, since it has to go to the same segment's data block to find the address of the undo segment header transaction table slot? ; can we get the content/structure of the transaction table in the data block - probably by making a block dump?), do you have any source where a more in depth explanation what happens "behind the scenes" is available (perhaps in Oracle Core?)? Some time ago I found a link on your blog http://jonathanlewis.wordpress.com/2010/06/21/locks/ which points to Franck Pachot's article where he nicely explains the various locking modes: http://knol.google.com/k/oracle-table-lock-modes#. There I also found Kyle Hailey's presentation about locks http://www.perfvision.com/papers/09_enqueues.ppt where slide 23 nicely depicts what's going on when acquiring TX locks. Of course I'll try to search on my own, but any other source (especially from an authority like you) is more than welcome.
    Thank you again and regards,
    Jure

  • Oracle XE 11.2 writing trace files every 30 sec.

    Hi all,
    we are using an oracle xe 11.2 database on linux. By searching the logs we find some trace files from dbrm that will be updated every 30 secs.
    Does anyone can help understand whats the problem ?
    Thanks a log
    /u01/app/oracle/diag/rdbms/xe/XE/trace> tail -f XE_dbrm_8880.trc
    Trace file /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_dbrm_8880.trc
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Beta
    ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe
    System name: Linux
    Node name: vtsbpm1
    Release: 2.6.32.36-0.5-default
    Version: #1 SMP 2011-04-14 10:12:31 +0200
    Machine: x86_64
    VM name: VMWare Version: 6
    Instance name: XE
    Redo thread mounted by this instance: 1
    Oracle process number: 7
    Unix process pid: 8880, image: oracle@vtsbpm1 (DBRM)
    *** 2012-02-28 11:39:42.567
    *** SESSION ID:(240.1) 2012-02-28 11:39:42.567
    *** CLIENT ID:() 2012-02-28 11:39:42.567
    *** SERVICE NAME:() 2012-02-28 11:39:42.567
    *** MODULE NAME:() 2012-02-28 11:39:42.567
    *** ACTION NAME:() 2012-02-28 11:39:42.567
    kgsksysstop: blocking mode (2) timestamp: 1330425582566557
    kgsksysstop: successful
    kgskreset: Threshold setting[numa_pg(0)]
    Threshold low[0] = 1, high[0] = 3
    kgsksysresume: successful
    RESOURCE MANAGER PLAN/CONSUMER GROUP DUMP
    type: PLAN, Name: INTERNAL_PLAN_XE, number of directives: 2, bit mask: 0x3
    policy index: 0, inst state index: 0, plan id: 1
    Data from Management module:
    Plan Parameters:
    <None>
    Plan Directives:
    [1] Plan Directive Parameters:
    Directive name: MGMT_P1, value: 100
    Directive:
    type: CONSUMER GROUP, Name: OTHER_GROUPS (addr: 0x8f85b120)
    policy index: 0, inst state index: 0, class num: 0x1
    mast: INFINITE, ASL qtout: INFINITE, PQQ qtout: INFINITE, mdop: INFINITE
    Statistics:
    current queued threads: 0,
    class total time: 0 msec, penalty # 0
    total threads: 0
    total CPU yields: 0
    total CPU wait: 0 msec
    total IO wait: 0 msec
    *** 2012-02-28 13:23:15.183
    cpu%: cputm: cpuwt: avgrun: avgwt:
    1 324 0 0.05 1.00
    RQs: < 5: < 10: < 50: < 100: < 200: < 1000: > 1K:
    4054 0 3 0 0 0 0
    *** 2012-02-28 13:24:45.189
    1 308 0 0.00 1.00
    4112 0 3 0 0 0 0
    4 2049 0 0.05 1.00
    *** 2012-02-28 13:26:15.187
    6190 14 17 1 1 0 0
    *** 2012-02-28 13:27:45.191
    24 23051 210 0.15 1.00
    20357 30 37 26 17 5 0
    *** 2012-02-28 13:29:15.196
    9 377 0 0.00 1.00
    4309 1 2 0 0 0 0
    *** 2012-02-28 13:30:45.207
    cpu%: cputm: cpuwt: avgrun: avgwt:
    16 448 0 0.00 1.00
    RQs: < 5: < 10: < 50: < 100: < 200: < 1000: > 1K:
    4294 2 4 0 0 0 0
    *** 2012-02-28 13:32:15.207
    4 360 0 0.00 1.00
    4136 0 4 0 0 0 0
    *** 2012-02-28 13:33:45.207
    1 392 0 0.00 1.00
    4197 1 3 0 0 0 0

    understand whats the problem ?Without knowing specifics about what is going on in your instance, its hard to say.
    Could be a problem indication, more likely not. Appears to be Resource Manager trace files, the resource manager doesn't have much effect on the instance until the host is getting starved for resources, then the engine can throttle down resources given to different resource groups.
    http://docs.oracle.com/cd/E11882_01/server.112/e25494/dbrm001.htm#sthref2760

  • Fetch phase in a trace file

    Oracle version: 11.2.0.3.0 Enterprise Edition
    OS - IBM/AIX RISC System/6000
    I am trying to generate a trace file from a piece of code executed by java server. What I asked the java developer to do is to place this block immediately after establishing a connection:
    BEGIN
      EXECUTE IMMEDIATE 'ALTER SESSION SET TRACEFILE_IDENTIFIER = ''M1''';
      dbms_monitor.session_trace_enable(waits => FALSE, binds => TRUE);
    END;And at the end of the logical java block of code:
    BEGIN
      dbms_monitor.session_trace_disable;
    END;What I want to know is how many rows the java server fetches after executing one particular select statement, because they complain about receiving less in count rows from the select statement than expecting.
    For example, if I execute the same sql query in sqlplus session, then I fetch let's say 1000 rows.
    When the same query is executed from java side, the fetched rows are less in count, let's say 500.
    And because I doubt it, I wanted to trace to see what actually is executed and how.
    From the excerpt of the trace file I see exactly the same query which I execute myself in a sqplus session.
    There is no fine-grained control on the udnerlying tables in the query.
    And my question is, how to interpret the FETCH phase of the cursor (for the select statement)?
    For example, if I see one FETCH for this cursor, does this mean that the java server has fetched only one row?
    If I see 100 FETCHes, does this mean they fetched 100 rows from the cursor?
    Here is a short excerpt from the trace file (please don't crucify me for the query and the obvious denormalized design of the tables, this is not invented by me):
    PARSING IN CURSOR #4573587152 len=667 dep=0 uid=737 oct=3 lid=737 tim=17685516462413 hv=954980718 ad='70000006d3e4940' sqlid='69pm96nwfrqbf'
    select /* ordered */ o.id, nvl(o.par_id, -1) as par_id, o.NAME_GER, o.NAME_ENG, o.NAME_ESP, o.NAME_ITL,o.NAME_FRA, decode(lo.lflag, 'Y', 'L', 'N') as leaf_or_node, lo.distance + 1 as "LEVEL",  to_char(o.beg_date, 'DD.MM.YYYY HH24:MI:SS'),  o.mais_id, l.path, nvl(o.non_selectable, 'N')  from   st_prod o, lprod_new l, lprod lo where  o.end_date = to_date('31.12.3999', 'DD.MM.YYYY') and   (lo.id, lo.beg_date) in (select id, beg_date from st_prod where par_id is null and end_date = to_date('31.12.3999', 'DD.MM.YYYY')) and   lo.lid = o.id and lo.lid_beg_date = o.beg_date and   l.st_prod_id = o.id and l.st_prod_beg_date = o.beg_date order by lo.distance, o.name_ger
    END OF STMT
    PARSE #4573587152:c=31,e=152,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=2027551050,tim=17685516462412
    EXEC #4573587152:c=80,e=375,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=2027551050,tim=17685516462936
    *** 2013-03-11 11:28:09.122
    FETCH #4573587152:c=519446,e=892645,p=0,cr=113446,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517355715
    FETCH #4573587152:c=37,e=59,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517359109
    FETCH #4573587152:c=39,e=63,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517361128
    FETCH #4573587152:c=29,e=46,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517362849
    FETCH #4573587152:c=31,e=48,p=0,cr=0,cu=0,mis=0,r=10,dep=0,og=1,plh=2027551050,tim=17685517364621
    <162 more FETCH-es here>
    <STAT phase>
    CLOSE #4573587152:c=533,e=849,dep=0,type=1,tim=17685517671878Is it possible based on the trace file (if I have to change something in the way of tracing) to determine how many rows were fetched?

    Hi
    I read the traces into a table from the client from which I log and then read from the table If you can copy the content of the table column you are reading and paste it into a file say : your_trace_name.trc file then you can use this to generate a TKPROF trace fiile
    C:\>tkprof your_trace_file.trc your_trace_file.txt
    TKPROF: Release 10.2.0.3.0 - Production on Mon Mar 11 15:28:13 2013
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.To find the arraysize you are using then use this formula
    rows/Fetch = arraysizeFew details about interpreting TKRPOF exist here
    http://hourim.wordpress.com/2012/09/14/tuning-by-tkprof-a-case-study/
    Best regards
    Mohamed Houri

Maybe you are looking for