Different Deadlock trace files

Hello,
In our application we use to have deadlock issues and i need to analyze that
trace file.Some time i use to have trace files which is having current session and
waiting session information and with modules and queries they are executing in top section
of trace file only , no need to read below data in trace file . But some times the
trace files are different..all update or select for update queries are spread
across the file and very difficult to understand which was locking what. Is that in rac or 11g environment
deadlock trace file is having different structure,?
One more question regarding deadlock ...many time we found that the current
query is updating on table A and waiting query updating on table B .. Is it possible
to have deadlock scenario when queries are working on different tables ? or
many be it is happening only if tables are in relation like parent and child ?

hi,
Are you referring to .trm extention trace files which youare unable to read?
Here is good explanation of reading deadlock trace files
ORA-00060 Deadlock trace files.. how to read?
Thanks,
Ajay More
http://www.moreajays.com

Similar Messages

  • 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

  • Trace Files and Deadlocks

    Hi,
    I've gotten a bunch of deadlocks in 8.1.7 and I'd like to be able to make use of the trace files, but the files are really cryptic and I can't find any documentation anywhere that explains how to read them. Moreover, I can't find any software that knows how to process them into something useful (tkprof just gives a basically empty file in return).
    Anyone have any ideas?
    TIA

    Hi
    My current application (still under development) is experiencing Oracle
    deadlock problems.
    The application is written using VB thru ADO and COM, Oracle 816.
    My problem is that, while I can review the trace file produced, I can't
    figure out what the actual deadlock is occurring on. I have seen deadlock
    trace files that clearly state "table blah", but in this case, I get:
    *** 2003-06-21 14:32:03.841
    *** SESSION ID:(27.31211) 2003-06-21 14:32:03.810
    DEADLOCK DETECTED
    Deadlock graph:
    ---------Blocker(s)--------
    Resource Name process session holds waits process session holds
    waits
    DX-0000003b-00000000 22 18 X 24 27
    X
    session 18: DID 0001-0018-0000003C session 27: DID
    0001-0018-0000003C
    Rows waited on:
    Session 27: no row
    *** 2001-06-21 14:32:03.857
    ksedmp: internal or fatal error
    ORA-00060: deadlock detected while waiting for resource
    Is there something like TKPROF that will process the trace file and give
    me
    more info on what is happening? It looks like I am waiting for a resource
    to be freed, but which one is the question.
    thanks for any help.

  • Deadlock trace analyze DID 0001-...

    Please help me!
    Does anybody knows that in an deadlock trace file what that means: "DID 0001-0017-000025CF"
    Parts of sample file:
    The following deadlock is not an ORACLE error. It is a
    deadlock due to user error in the design of an application
    or from issuing incorrect ad-hoc SQL. The following
    information may aid in determining the deadlock:
    Deadlock graph:
    ---------Blocker(s)-------- ---------Waiter(s)---------
    Resource Name process session holds waits process session holds waits
    TX-00060007-00049749 25 33 X 23 9 X
    TX-0007000d-00037829 23 9 X 25 33 X
    session 33: DID 0001-0019-000020EF*     session 9: DID 0001-0017-000025CF
    session 9: DID 0001-0017-000025CF     session 33: DID 0001-0019-000020EF
    Rows waited on:
    Session 9: obj - rowid = 00013176 - AAATZSAAeAAAmSyAAH
    I would like to know that is it an important fact, or not.
    Thx,
    Gyula

    Hi,
    SEssion 33 is blocking Session 9.
    Object id = 1132910 - Object which is having blocking issue
    select object_name from all_objects where object_id =1132910
    TX is structured <rbs><slot><wrap>
    TX-00060007-00049749 25 *33* X 23 9 X - blocking session
    TX-0007000d-00037829 23 *9* X 25 33 X - blocked session
    *25* - process *33* - blocker X - holds wait
    *23* - process *9* - waiter X- same as above
    as it does not have any row - might havig with some constraints issue on column level like unqiue constraints
    Check that
    HTH
    - Pavan Kumar N

  • Trace file in different location

    Dear all,
    11g on Solaris 10.
    My oracle home (dump location) located in a file system of 10GB.. I need to trace a session which will generate huge trace file. Is there anyway I can have the trace file generated in a different location where I have enough space to allow the growth of the trace file.
    Thanks
    Kai

    Please refer:
    http://www.oracle.com/technology/oramag/oracle/09-mar/o29asktom.html?_template=/ocom/print
    Edited by: SKU on 19-Dec-2009 05:10

  • How to find username from trace file for deadlock due to user

    This is the info from the trace file.
    *** 2003-08-18 08:07:40.590
    *** SESSION ID:(560.60728) 2003-08-18 08:07:40.560
    DEADLOCK DETECTED
    Current SQL statement for this session:
    SELECT S.AVAILABLE,GET_AVAIL(S.PRODUCT_ID),S.ON_HAND,S.W_PL,S.PRODUCT_GROUP,S.SIZE_ID,S.COLOR_ID,S.ONEZ,S.COST,IS_IT_KIT(:b1),
    NVL(PR.R_AVAIL,0),NVL(PR.R_SOLD,0),NVL(PR.UNIT_OF_MEASURE,'QTY'),NVL(DECODE(PR.AV_CT,0,1,PR.AV_CT),1) FROM ACNTV.SKU S,ACNTV
    .PRERED_QUANTITIES PR WHERE S.PRODUCT_ID = PR.PRODUCT_ID (+) AND S.PRODUCT_ID = :b1 FOR UPDATE OF S.ON_HAND,
    S.W_PL,PR.R_AVAIL
    The following deadlock is not an ORACLE error. It is a
    deadlock due to user error in the design of an application
    or from issuing incorrect ad-hoc SQL. The following
    information may aid in determining the deadlock:
    Deadlock graph:
    ---------Blocker(s)-------- ---------Waiter(s)---------
    Resource Name process session holds waits process session holds waits
    TX-0021004b-000125d8 366 560 X 329 135 X
    TX-0008003b-000125fc 329 135 X 366 560 X
    session 560: DID 0001-016E-00000002 session 135: DID 0001-0149-00000002
    session 135: DID 0001-0149-00000002 session 560: DID 0001-016E-00000002
    Rows waited on:
    Session 135: obj - rowid = 00017FAC - AAAX+sAAPAAAS9/AAP
    Session 560: obj - rowid = 0001586C - AAAVhsABXAAAAIRAAN
    We know the objects ,but how to find out the username ?
    Thanks

    Hi;
    Please see:
    How To Check If a Profile Option Is Set In Oracle Application [ID 470102.1]
    How to list E-Business Suite Profile Option values for all levels using SQLPlus [ID 201945.1]
    How to Search all of the Profile Options for a Specific Value [ID 282382.1]
    Regard
    Helios

  • Different trace files

    hi  forum
    i want to find out the paths for different trace files . ie where
    database trace files get stored, where workprocess trace files get stored?

    Hi Ramesh
    Go to the below link and search for the tearm <b>trace files</b>.All your questions will get answered.Its really a good one.
    https://wiki.sdn.sap.com/wiki/display/EP/Portallogandtracefiles
    Reawrd points if useful.

  • Trace file with different name is alert log file.

    I am strange today
    i found a trace file generated in alert log file with name
    /bdump/stlbas_cjq0_1880.trc:
    but when i am trying to find out in bdump folder i cannot found
    any file with this named. instead i found /bdump/stlbas_cjq0_1853.trc
    is there any possibility of being this scenario ?
    database version:- 10.2.0.4
    Os:- sun solaries spark 64 bits
    Regards
    Halim

    The trace file has been removed/deleted from an OS user. I think you should verify that with OS logs.
    Thanks

  • How to generate trace file from different session?

    I have a cron job which starts several Oracle stored proc (Oracle 9.2). I want to generate a trace file when the job is running. I know I can use this alter session command before I start this job. But this is my session not the job session. So this command won't generate trace file for job's session.
    ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 8';
    Appreciate any ideas.
    Thanks.
    S.

    Easiest way is to use database control/grid control - click trace session button!
    The 'old fashioned way is'
    begin
    DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(SID,serial#,TRUE);
    end;
    find sid and serial# in a select from v$session
    There are other ways too but this is probably the easiest.
    You'll need appropriate privileges to run this .
    Cheers,
    Harry

  • Enq: TX - row lock contention-Trace file shared.

    Hi Team,
    I am having enq: TX - row lock contention in top wait event. it is occuring between 10pm - 2am.
    We are having sqlloader job running every one hour(conventional path). But for the specific period of time i am getting "Global Enqueue Services Deadlock detected". Between 10-5. I analyzed realated trace file it is make me little confusion.I found there are four insert query culprit for this locking. out of four sql , tow of them are ran by same SID, other two insert ran by same id. I got confused because how same sid locking them self. trace file below. Please help me on this. during this period oracle maintanence window is active.Thanks
    Trace file:
    *** 2012-10-09 03:40:31.135
    user session for deadlock lock 0x15365e060
    sid: 1104 ser: 22256 audsid: 8797820 user: 49/iurth flags: 0x45
    pid: 71 O/S info: user: oracle, term: UNKNOWN, ospid: 8601
    image: oracle@sgh0909
    client details:
    O/S info: user: user, term: , ospid: 30888
    machine: sgj89909 program: sqlldr@sgj89909 (TNS V1-V3)
    application name: SQL Loader Conventional Path Load, hash value=1935272243
    action name: der/sample.ctl, hash value=3241011749
    current SQL:
    INSERT INTO sample (ID,SU,TIME,PMAN_S,CV_OS,PRD_US,P_DS,PM_LY_DRD_S,PMP_PY_DIDS,PP_S,PMP_RECV_FRMS) VALUES (:NE,:SID,CAST(TO_DATE(:PNG_TE, 'DDMMYYY,PMP_TRAN_FRMS,PMP_RECV_FRMS) VALUES (:NE_ID,:SUB_ID,CAST(TO_DATE(:POLLING_TIME, 'DDMMYYYYHH24MISS') AS DATE),:PMP_TRAN_OCTS,:PMP_RECV_OCTS,:PMP_DISCARD_US,:PMP_DISCARD_DS,:PMP_POLICY_DISCARD_US,:PMP_POLICY_DISCARD_DS,:PMP_TRAN_FRMS,:PMP_RECV_FRMS) ÷     {+  (Cõ{+  (Cõ{+  ð÷         ð÷         ú;6üΠì/'    „P'            û[þ‡»q         hdšÙÿ   –    $µ            +       л{+  XdšÙÿ   cšÙÿ                         л{+                              M                         L                             šÙ     ƒß    @ešÙÿ  ’Ü    cšÙÿ  lcšÙÿ      M „P'       L
    *** 2012-10-09 03:40:31.533
    Short stack dump:
    <-ksedsts()+315<-ksdxfstk()+32<-ksdxcb()+1764<-sspuser()+112<-__restore_rt()<-semtimedop()+10<-sskgpwwait()+265<-skgpwwait()+156<-ksliwat()+1546<-kslwaitctx()+162<-kjusuc()+3868<-ksipgetctx()+1456<-ksqcmi()+22853<-ksqgtlctx()+4311<-ksqgelctx()+601<-ktcwit1()+333<-ktbgtl0()+1321<-kdimod0()+4581<-kdiblLockPiece()+968<-kdiblLockRange()+1639<-kdiblcfls()+189<-kdiblFinish1()+978<-kdibliFinish()+73<-kxibDoFinish()+90<-kxibFinish()+431<-qerltcEndLoadProcessing()+614<-qerltcLoadStateMachine()+858<-qerltcInsertValues()+218<-qerltcFetch()+1373<-insexe()+1095<-opiexe()+5609<-opiodr()+1220<-ttcpip()+1227<-opitsk()+1449<-opiino()+1026<-opiodr()+1220<-opidrv()+580<-sou2o()+90<-opimai_real()+145<-ssthrdmain()+177<-main()+215<-__libc_start_main()+244<-_start()+41
    user session for deadlock lock 0x1537feef8
    sid: 1107 ser: 44863 audsid: 8797823 user: 49/iurth flags: 0x45
    pid: 57 O/S info: user: oracle, term: UNKNOWN, ospid: 4540
    image: oracle@sgh0909
    client details:
    O/S info: user: user, term: , ospid: 7569
    machine: sgj89909 program: sqlldr@sgj89909 (TNS V1-V3)
    application name: SQL Loader Conventional Path Load, hash value=1935272243
    action name: der/sample.ctl, hash value=3241011749
    current SQL:
    INSERT INTO sample (ID,SU,TIME,PMAN_S,CV_OS,PRD_US,P_DS,PM_LY_DRD_S,PMP_PY_DIDS,PP_S,PMP_RECV_FRMS) VALUES (:NE,:SID,CAST(TO_DATE(:PNG_TE, 'DDMMYYY,PMP_TRAN_FRMS,PMP_RECV_FRMS) VALUES (:NE_ID,:SUB_ID,CAST(TO_DATE(:POLLING_TIME, 'DDMMYYYYHH24MISS') AS DATE),:PMP_TRAN_OCTS,:PMP_RECV_OCTS,:PMP_DISCARD_US,:PMP_DISCARD_DS,:PMP_POLICY_DISCARD_US,:PMP_POLICY_DISCARD_DS,:PMP_TRAN_FRMS,:PMP_RECV_FRMS) ÷     {+  (Cõ{+  (Cõ{+  ð÷         ð÷         –R<üΠì/'    „P'                            hdšÙÿ  _ž    $µ            +       л{+  XdšÙÿ   cšÙÿ                         л{+                              M                         L                              šÙ     ƒß    @ešÙÿ  ’Ü    cšÙÿ  lcšÙÿ      M „P'       L
    Short stack dump:
    <-ksedsts()+315<-ksdxfstk()+32<-ksdxcb()+1764<-sspuser()+112<-__restore_rt()<-semtimedop()+10<-sskgpwwait()+265<-skgpwwait()+156<-ksliwat()+1546<-kslwaitctx()+162<-kjusuc()+3868<-ksipgetctx()+1456<-ksqcmi()+22853<-ksqgtlctx()+4311<-ksqgelctx()+601<-ktcwit1()+333<-ktbgtl0()+1321<-kdimod0()+4581<-kdiblLockPiece()+968<-kdiblLockRange()+1639<-kdiblcfls()+189<-kdiblFinish1()+978<-kdibliFinish()+73<-kxibDoFinish()+90<-kxibFinish()+431<-qerltcEndLoadProcessing()+614<-qerltcLoadStateMachine()+858<-qerltcInsertValues()+218<-qerltcFetch()+1373<-insexe()+1095<-opiexe()+5609<-opiodr()+1220<-ttcpip()+1227<-opitsk()+1449<-opiino()+1026<-opiodr()+1220<-opidrv()+580<-sou2o()+90<-opimai_real()+145<-ssthrdmain()+177<-main()+215<-__libc_start_main()+244<-_start()+41
    user session for deadlock lock 0x1528de490
    sid: 1107 ser: 44863 audsid: 8797823 user: 49/iurth flags: 0x45
    pid: 57 O/S info: user: oracle, term: UNKNOWN, ospid: 4540
    image: oracle@sgh0909
    client details:
    O/S info: user: user, term: , ospid: 7569
    machine: sgj89909 program: sqlldr@sgj89909 (TNS V1-V3)
    application name: SQL Loader Conventional Path Load, hash value=1935272243
    action name: der/sample.ctl, hash value=3241011749
    current SQL:
    INSERT INTO sample (ID,SU,TIME,PMAN_S,CV_OS,PRD_US,P_DS,PM_LY_DRD_S,PMP_PY_DIDS,PP_S,PMP_RECV_FRMS) VALUES (:NE,:SID,CAST(TO_DATE(:PNG_TE, 'DDMMYYY,PMP_TRAN_FRMS,PMP_RECV_FRMS) VALUES (:NE_ID,:SUB_ID,CAST(TO_DATE(:POLLING_TIME, 'DDMMYYYYHH24MISS') AS DATE),:PMP_TRAN_OCTS,:PMP_RECV_OCTS,:PMP_DISCARD_US,:PMP_DISCARD_DS,:PMP_POLICY_DISCARD_US,:PMP_POLICY_DISCARD_DS,:PMP_TRAN_FRMS,:PMP_RECV_FRMS) ÷     {+  (Cõ{+  (Cõ{+  ð÷         ð÷         ÍïEüΠì/'    „P'                            hdšÙÿ  €¦    $µ            +       л{+  XdšÙÿ   cšÙÿ                         л{+                              M                         L                              šÙ     ƒß    @ešÙÿ  ’Ü    cšÙÿ  lcšÙÿ      M „P'       L
    *** 2012-10-09 03:40:32.452
    Short stack dump:
    <-ksedsts()+315<-ksdxfstk()+32<-ksdxcb()+1764<-sspuser()+112<-__restore_rt()<-semtimedop()+10<-sskgpwwait()+265<-skgpwwait()+156<-ksliwat()+1546<-kslwaitctx()+162<-kjusuc()+3868<-ksipgetctx()+1456<-ksqcmi()+22853<-ksqgtlctx()+4311<-ksqgelctx()+601<-ktcwit1()+333<-ktbgtl0()+1321<-kdimod0()+4581<-kdiblLockPiece()+968<-kdiblLockRange()+1639<-kdiblcfls()+189<-kdiblFinish1()+978<-kdibliFinish()+73<-kxibDoFinish()+90<-kxibFinish()+431<-qerltcEndLoadProcessing()+614<-qerltcLoadStateMachine()+858<-qerltcInsertValues()+218<-qerltcFetch()+1373<-insexe()+1095<-opiexe()+5609<-opiodr()+1220<-ttcpip()+1227<-opitsk()+1449<-opiino()+1026<-opiodr()+1220<-opidrv()+580<-sou2o()+90<-opimai_real()+145<-ssthrdmain()+177<-main()+215<-__libc_start_main()+244<-_start()+41
    user session for deadlock lock 0x1528de2e0
    sid: 1104 ser: 22256 audsid: 8797820 user: 49/iurth flags: 0x45
    pid: 71 O/S info: user: oracle, term: UNKNOWN, ospid: 8601
    image: oracle@sgh0909
    client details:
    O/S info: user: user, term: , ospid: 30888
    machine: sgj89909 program: sqlldr@sgj89909 (TNS V1-V3)
    application name: SQL Loader Conventional Path Load, hash value=1935272243
    action name: der/sample.ctl, hash value=3241011749
    current SQL:
    INSERT INTO sample (ID,SU,TIME,PMAN_S,CV_OS,PRD_US,P_DS,PM_LY_DRD_S,PMP_PY_DIDS,PP_S,PMP_RECV_FRMS) VALUES (:NE,:SID,CAST(TO_DATE(:PNG_TE, 'DDMMYYY,PMP_TRAN_FRMS,PMP_RECV_FRMS) VALUES (:NE_ID,:SUB_ID,CAST(TO_DATE(:POLLING_TIME, 'DDMMYYYYHH24MISS') AS DATE),:PMP_TRAN_OCTS,:PMP_RECV_OCTS,:PMP_DISCARD_US,:PMP_DISCARD_DS,:PMP_POLICY_DISCARD_US,:PMP_POLICY_DISCARD_DS,:PMP_TRAN_FRMS,:PMP_RECV_FRMS) ÷     {+  (Cõ{+  (Cõ{+  ð÷         ð÷         DlJüΠì/'    „P'                            hdšÙÿ  ¾®    $µ            +       л{+  XdšÙÿ   cšÙÿ                         л{+                              M                         L                              šÙ     ƒß    @ešÙÿ  ’Ü    cšÙÿ  lcšÙÿ      M „P'       L
    Short stack dump:
    <-ksedsts()+315<-ksdxfstk()+32<-ksdxcb()+1764<-sspuser()+112<-__restore_rt()<-semtimedop()+10<-sskgpwwait()+265<-skgpwwait()+156<-ksliwat()+1546<-kslwaitctx()+162<-kjusuc()+3868<-ksipgetctx()+1456<-ksqcmi()+22853<-ksqgtlctx()+4311<-ksqgelctx()+601<-ktcwit1()+333<-ktbgtl0()+1321<-kdimod0()+4581<-kdiblLockPiece()+968<-kdiblLockRange()+1639<-kdiblcfls()+189<-kdiblFinish1()+978<-kdibliFinish()+73<-kxibDoFinish()+90<-kxibFinish()+431<-qerltcEndLoadProcessing()+614<-qerltcLoadStateMachine()+858<-qerltcInsertValues()+218<-qerltcFetch()+1373<-insexe()+1095<-opiexe()+5609<-opiodr()+1220<-ttcpip()+1227<-opitsk()+1449<-opiino()+1026<-opiodr()+1220<-opidrv()+580<-sou2o()+90<-opimai_real()+145<-ssthrdmain()+177<-main()+215<-__libc_start_main()+244<-_start()+41
    Global blockers dump start:---------------------------------
    DUMP LOCAL BLOCKER/HOLDER: block level 3 res [0x2a001d][0x1cb9d],[TX]
    ----------resource 0x1341d3c30----------------------
    resname : [0x2a001d][0x1cb9d],[TX]
    Local node : 4
    dir_node : 4
    master_node : 4
    hv idx : 14
    hv last r.inc : 32
    current inc : 32
    hv status : 0
    hv master : 4
    open options : dd
    grant_bits : KJUSERNL KJUSEREX
    grant mode : KJUSERNL KJUSERCR KJUSERCW KJUSERPR KJUSERPW KJUSEREX
    count : 3 0 0 0 0 1
    val_state : KJUSERVS_NOVALUE
    valblk : 0x5f4f4354532c504d505f524543565f4f OCTS,PMPRECV_O
    access_node : 4
    vbreq_state : 0
    state : x0
    resp : 0x1341d3c30
    On Scan_q? : N
    Total accesses: 8568
    Imm. accesses: 7210
    Granted_locks : 1
    Cvting_locks : 3
    value_block: 5f 4f 43 54 53 2c 50 4d 50 5f 52 45 43 56 5f 4f
    GRANTED_Q :
    lp 0x1537feef8 gl KJUSEREX rp 0x1341d3c30 [0x2a001d][0x1cb9d],[TX]
    master 4 gl owner 0x154b13128 possible pid 4540 xid 39000-0005-00048D1F bast 0 rseq 1329 mseq 0 history 0x14951495
    open opt KJUSERDEADLOCK
    CONVERT_Q:
    lp 0x1537ff0a8 gl KJUSERNL rl KJUSERPR rp 0x1341d3c30 [0x2a001d][0x1cb9d],[TX]
    master 4 gl owner 0x155b0dd28 possible pid 12781 xid 37000-0005-00082EBC bast 0 rseq 1329 mseq 0 history 0x49a5149a
    convert opt KJUSERGETVALUE
    lp 0x1513ef168 gl KJUSERNL rl KJUSERPR rp 0x1341d3c30 [0x2a001d][0x1cb9d],[TX]
    master 4 gl owner 0x159aaf240 possible pid 1347 xid 48000-0005-0001FACA bast 0 rseq 1329 mseq 0 history 0x49a5149a
    convert opt KJUSERGETVALUE
    lp 0x15365e060 gl KJUSERNL rl KJUSERPR rp 0x1341d3c30 [0x2a001d][0x1cb9d],[TX]
    master 4 gl owner 0x154b105e0 possible pid 8601 xid 47000-0005-00024CDE bast 0 rseq 1329 mseq 0 history 0x49a5149a
    convert opt KJUSERGETVALUE
    ----------enqueue 0x1537feef8------------------------
    lock version : 2128337
    Owner node : 4
    grant_level : KJUSEREX
    req_level : KJUSEREX
    bast_level : KJUSERNL
    notify_func : (nil)
    resp : 0x1341d3c30
    procp : 0x1510e0ee0
    pid : 12781
    proc version : 10700
    oprocp : (nil)
    opid : 0
    group lock owner : 0x154b13128
    possible pid : 4540
    xid : 39000-0005-00048D1F
    dd_time : 0.0 secs
    dd_count : 0
    timeout : 0.0 secs
    On_timer_q? : N
    On_dd_q? : N
    lock_state : GRANTED
    Open Options : KJUSERDEADLOCK
    Convert options : KJUSERNOQUEUE KJUSERNODEADLOCKWAIT
    History : 0x14951495
    Msg_Seq : 0x0
    res_seq : 1329
    valblk : 0x2c3a504d505f504f4c4943595f444953 ,:PMP_POLICY_DIS
    DUMP LOCAL BLOCKER: initiate state dump for DEADLOCK
    possible owner[57.4540] on resource TX-002A001D-0001CB9D
    *** 2012-10-09 03:40:32.794
    Submitting asynchronized dump request [28]
    DUMP LOCAL BLOCKER/HOLDER: block level 3 res [0x2f0003][0x1eee9],[TX]
    ----------resource 0x1355e6868----------------------
    resname : [0x2f0003][0x1eee9],[TX]
    Local node : 4
    dir_node : 4
    master_node : 4
    hv idx : 64
    hv last r.inc : 32
    current inc : 32
    hv status : 0
    hv master : 4
    open options : dd
    grant_bits : KJUSERNL KJUSEREX
    grant mode : KJUSERNL KJUSERCR KJUSERCW KJUSERPR KJUSERPW KJUSEREX
    count : 1 0 0 0 0 1
    val_state : KJUSERVS_NOVALUE
    valblk : 0x5f4f4354532c504de00e0e5101000000 _OCTS,PMQ
    access_node : 4
    vbreq_state : 0
    state : x0
    resp : 0x1355e6868
    On Scan_q? : N
    Total accesses: 13955
    Imm. accesses: 11923
    Granted_locks : 1
    Cvting_locks : 1
    value_block: 5f 4f 43 54 53 2c 50 4d e0 0e 0e 51 01 00 00 00
    GRANTED_Q :
    lp 0x1528de2e0 gl KJUSEREX rp 0x1355e6868 [0x2f0003][0x1eee9],[TX]
    master 4 gl owner 0x154b105e0 possible pid 8601 xid 47000-0005-00024CDE bast 0 rseq 1980 mseq 0 history 0x49a51495
    open opt KJUSERDEADLOCK
    CONVERT_Q:
    lp 0x1528de490 gl KJUSERNL rl KJUSERPR rp 0x1355e6868 [0x2f0003][0x1eee9],[TX]
    master 4 gl owner 0x154b13128 possible pid 4540 xid 39000-0005-00048D1F bast 0 rseq 1980 mseq 0 history 0x49a5149a
    convert opt KJUSERGETVALUE
    ----------enqueue 0x1528de2e0------------------------
    lock version : 2643245
    Owner node : 4
    grant_level : KJUSEREX
    req_level : KJUSEREX
    bast_level : KJUSERNL
    notify_func : (nil)
    resp : 0x1355e6868
    procp : 0x1510f9800
    pid : 4540
    proc version : 21634
    oprocp : (nil)
    opid : 0
    group lock owner : 0x154b105e0
    possible pid : 8601
    xid : 47000-0005-00024CDE
    dd_time : 0.0 secs
    dd_count : 0
    timeout : 0.0 secs
    On_timer_q? : N
    On_dd_q? : N
    lock_state : GRANTED
    Open Options : KJUSERDEADLOCK
    Convert options : KJUSERNOQUEUE KJUSERNODEADLOCKWAIT
    History : 0x49a51495
    Msg_Seq : 0x0
    res_seq : 1980
    valblk : 0x2c3a504d505f504f4c4943595f444953 ,:PMP_POLICY_DIS
    DUMP LOCAL BLOCKER: initiate state dump for DEADLOCK
    possible owner[71.8601] on resource TX-002F0003-0001EEE9
    *** 2012-10-09 03:40:32.794
    Submitting asynchronized dump request [28]
    Global blockers dump end:-----------------------------------
    Global Wait-For-Graph(WFG) at ddTS[0.108ea] :
    BLOCKED 0x15365e060 3 wq 2 cvtops x1 TX 0x2a001d.0x1cb9d [47000-0005-00024CDE] 4
    BLOCKER 0x1537feef8 3 wq 1 cvtops x28 TX 0x2a001d.0x1cb9d [39000-0005-00048D1F] 4
    BLOCKED 0x1528de490 3 wq 2 cvtops x1 TX 0x2f0003.0x1eee9 [39000-0005-00048D1F] 4
    BLOCKER 0x1528de2e0 3 wq 1 cvtops x28 TX 0x2f0003.0x1eee9 [47000-0005-00024CDE] 4

    Your scenario involves mode 4 (KJUSERPR) and mode 6 (KJUSEREX) TX locks.
    Mode 4 (S) TX locks can have a few causes, including ITLs, unique indexes and bitmap indexes.
    It could be a very similar scenario to this recent thread where the situation was primary/unique key collisions from inserts on different nodes:
    Re: Cause of Deadlock

  • Deadlock trace analyze in 11g

    Hi, I have 11.1.0.7. RAC Linux database. I can see 'Global Enqueue Services Deadlock detected. More info in file [file_name]' in alert file.
    Is there any tool/steps to interpret content of this trace file? This trace file have different format comparing to 10g and it is difficult to understand what caused deadlock.
    Any suggestions greatly appreciated.
    M.

    Hi,
    SEssion 33 is blocking Session 9.
    Object id = 1132910 - Object which is having blocking issue
    select object_name from all_objects where object_id =1132910
    TX is structured <rbs><slot><wrap>
    TX-00060007-00049749 25 *33* X 23 9 X - blocking session
    TX-0007000d-00037829 23 *9* X 25 33 X - blocked session
    *25* - process *33* - blocker X - holds wait
    *23* - process *9* - waiter X- same as above
    as it does not have any row - might havig with some constraints issue on column level like unqiue constraints
    Check that
    HTH
    - Pavan Kumar N

  • Trace File / EJB / dbms_java.grant_permission

    I am trying to deploy a simple Hello World EJB onto Oracle 8.1.7 using Jdeveloper 3.2.
    I get the following error when deploying :
    Loading EJB Jar file and Comm Stubs Jar file...
    error: loadJava has failed to load some classes; Please check trace file!
    *** Errors occurred while deploying the EJB to 8i JVM ***
    *** Deployment completed ***
    My trace file has the following in it :
    *** 2001-05-03 17:33:29.531
    *** SESSION ID:(14.2397) 2001-05-03 17:33:29.531
    Error while creating class oracle/aurora/jndi/sess_iiop/ActivationException
    ORA-29545: badly formed class: User has attempted to load a class (oracle.aurora.jndi.sess_iiop.ActivationException) into a restricted package. Permission can be granted using dbms_java.grant_permission(<user>, LoadClassInPackage...
    could not find oracle/aurora/jndi/sess_iiop/ActivationException in WILLOW2K
    could not find oracle/aurora/jndi/sess_iiop/ActivationException in WILLOW2K
    ORA-29534: referenced object WILLOW2K.javax/naming/InitialContext could not be resolved
    ORA-29545: badly formed class: at offset 128 of packagessb.ssbClient2.main expecting a class-javax.naming.NamingException but encountered a class-oracle.aurora.jndi.sess_iiop.ActivationException.
    ORA-29545: badly formed class: at offset 4 of javax.naming.spi.NamingManager.createObjectFromFactories expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
    at offset 4 of javax.naming.spi.NamingManager.getStateToBind expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
    at offset 38 of javax.naming.spi.NamingManager.getStateToBind expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
    at offset 38 of javax.naming.spi.NamingManager.getStateToBind expecting a class-javax.naming.Name but encountered a class-javax.naming.Name.
    at offset 37 of javax.naming.spi.NamingManager.getURLObject expecting a class-javax.naming.Context but encountered a class-javax.naming.Context.
    ORA-29534: referenced object WILLOW2K.javax/naming/spi/NamingManager could not be resolved
    ORA-29534: referenced object WILLOW2K.javax/naming/spi/NamingManager could not be resolved
    Error while resolving class oracle/aurora/jndi/sess_iiop/ActivationException
    ORA-04043: object /889d46b7_ActivationException does not exist
    I think the error stems from the line :
    (oracle.aurora.jndi.sess_iiop.ActivationException) into a restricted package. Permission can be granted using dbms_java.grant_permission(<user>, LoadClassInPackage...
    Doe anyone know how I can grant the user permission to the above library. How exactly is it done using Oracle 8.1.7 ?
    null

    did you read the install notes (install.htm) or release notes(readme.htm) files for known issues ?
    see the release notes for the following :
    Problems Deploying Business Components for Java Libraries in Different Schema (1095107)
    Attempting to deploy a Business Components for Java library in a different schema from the JDeveloper IDE generates the following error:
    Generating Jar File...done
    Loading EJB Jar file and Comm Stubs Jar file...
    error: loadJava has failed to load some classes; Please check trace file!
    *** Errors occurred while deploying the EJB to 8i JVM ***

  • 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

  • Delete audit and trace files

    Is anyone aware of why we should not delete audit and trace files under the oracle admin directory that are over 30 days old? I don't know that there is anything in place to do this and they are building up. Tuldcorpadb01:/oracle is at 96%. These files aren't that big, but there are a lot of them. See counts below.
    oracle:tuldcorpadb01:ecmd> cd admin
    oracle:tuldcorpadb01:ecmd>find . -name \*.aud -type f -ctime +30 -ls|wc -l
    25149
    oracle:tuldcorpadb01:ecmd>find . -name \*.trc -type f -ctime +30 -ls|wc -
    2426

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

  • How to configure logs and trace files

    Hello people,
       We have just implemented ESS-MSS, we have around 25000 people using this service and every 2 days my logs and trace file in server gets full and portal gets down.
    Please suggest how to solve this problem,how can i reduce trace and log files,,,,,any configuration or setting is there to configure this...please suggest and explain how can it be done.
    Biren

    Hi,
    You can control what messages gets logged depending on the severity.
    This can be configured using Log Configurator, check this how you can set severity to different locations.
    Netweaver Portal Log Configuration & Viewing (Part 1)
    Regards,
    Praveen Gudapati

Maybe you are looking for

  • 110v to 220v imac

    Can I use an imac bought in America in Australia without a transformer?

  • R/3 Product Hierarchy in BW data model.

    Hi all, We have been told by our implementation partner that the scenario described below is not feasible to design in our BW 3.5 system and if we were to implement this scenario there would be a significant amount of user maintenance to maintain the

  • Leave Deletion requests get auto-approved

    Hi, If an approved leave is deleted in calendar view then it does not go for approval to manager. Instead it gets deleted immediately What is the reason for this ? Std behaviour is required that the deleted leave should appear in red color and when m

  • How do i run an .exe from inside java?

    Thanks for any help maggie

  • Javac not found, Help

    I can't get to even run my "Hello world". When I command "javac JavaRules.java" i get the response "'javac' is not recognized as an intrernal or external command, operable program or batch file. Any one know what my deal is?