How to stop the generating the trace file

Hi Gurus,
My client requirement is stop the trace file generation in our database.
How can I achieve this ?
what are the impact of the database , if I do the same in our database.
Thanks,
Tippu

Does this database have a four-digit version?
And which trace file. In some cases you won't be able to stop it, and/or you'd better institute maintenance routines to purge them regularly, or you will loose diagnostic info.
Sybrand Bakker
Senior Oracle DBA

Similar Messages

  • How to clear the alertlog and trace file?

    since the database was created,the log and trace file have't been cleared.how to clear the alertlog and trace file?3tx!!

    Hi Friend.
    You can eliminate all the files ".TRC" (trace files) to purify the directory BDUMP. These are not necessary files in order that the Oracle Server works.
    The file Alert.log is a file that the Oracle Server can recreate if you eliminate it. When Oracle Server's process realizes certain action (for example ARCH), Oracle creates again the file (if it does not exist), or it adds text (if it exists) with the new income.
    It can happen, that appears some Bug if the file Alert.log does not exist. Though this is slightly possible.
    Anyhow I recommend to you in UNIX to use from the prompt: $> filename in order to take the size of the file to 0 bytes, without need to eliminate it. Is the same thing when you want to purify the listener.log, the sqlnet.log or the sbtio.log.
    I wait for my commentaries you be of great help.
    Bye Friend...

  • 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

  • Record type variables in the SQL database trace file

    Hi,
    I turned on the trace with binds and waits in a ebusiness form and captured the database SQL trace file. It lists the values for the generic datatypes for the call, but does not list the values of record type variables. Is there a way to identify the values of record type variables? The below section lists the procedure call and the values passed. Thanks in advance.
    RPC CALL:PROCEDURE APPS.HZ_PARTY_SEARCH.FIND_PARTY_DETAILS(P_INIT_MSG_LIST IN VARCHAR2, P_RULE_ID IN NUMBER, P_PARTY_SEARCH_REC IN PARTY_SEARCH_REC_TYPE, P_PARTY_SITE_LIST IN PARTY_SITE_LIST, P_CONTACT_LIST IN CONTACT_LIST, P_CONTACT_POINT_LIST IN CONTACT_POINT_LIST
    , P_RESTRICT_SQL IN VARCHAR2, P_MATCH_TYPE IN VARCHAR2, P_SEARCH_MERGED IN VARCHAR2, X_SEARCH_CTX_ID OUT NUMBER, X_NUM_MATCHES OUT NUMBER, X_RETURN_STATUS OUT VARCHAR2, X_MSG_COUNT OUT NUMBER, X_MSG_DATA OUT VARCHAR2);
    RPC BINDS:
    bind 0: dty=1 bfp=2ae5927c13c8 flg=08 avl=01 mxl=01 val="T"
    bind 1: dty=6 bfp=2ae5927c13f0 flg=00 avl=02 mxl=22 val=8
    bind 2: dty=118 bfp=2ae593432e48 flg=00 avl=00 mxl=00 val=00
    bind 3: dty=251 bfp=2ae5929ac0b8 flg=00 avl=1944 mxl=00 val=00
    bind 4: dty=251 bfp=2ae592d85548 flg=00 avl=5336 mxl=00 val=00
    bind 5: dty=251 bfp=2ae592d84d58 flg=00 avl=4984 mxl=00 val=00
    bind 6: dty=1 bfp=2ae5927c1550 flg=08 avl=125 mxl=2000 val="exists (select 'x' from hz_parties where party_id =stage.party_id and party_type = 'ORGANIZATION') and party_id <>1002277174"
    bind 7: dty=1 bfp=2ae5927c1d50 flg=0a avl=00 mxl=00 val=""
    bind 8: dty=1 bfp=2ae5927c1d80 flg=08 avl=01 mxl=01 val="I"
    bind 9: dty=6 bfp=2ae5927c1da8 flg=02 avl=00 mxl=22 val=00
    bind 10: dty=6 bfp=2ae5927c1de0 flg=02 avl=00 mxl=22 val=00
    bind 11: dty=1 bfp=2ae5927c1e28 flg=0a avl=00 mxl=01 val=""
    bind 12: dty=6 bfp=2ae5927c1e50 flg=02 avl=00 mxl=22 val=00
    bind 13: dty=1 bfp=2ae5927c1e98 flg=0a avl=00 mxl=2000 val=""

    Hello,
    From the sounds of it, when you are adding a child the application is not maintaining the Company's reference to it. For instance, in a 1:M and M:1 relationship, the application seems to be setting only the M:1 part (child to parent) which will cause the database to be updated, but both sides need to be set to keep the cache in synch with the database.
    Setting the cache type to be none is not a good idea - it prevents any caching, which will hurt performance and object identity. What instead is recommended is disabling the shared cache using the
    toplink.cache.shared.<ENTITY>=false property. This still might not help though if the Company's reference to the child hasn't been set as mentioned above if you are reading Company from the same context you are adding the child.
    The Cache is described for TopLink Essentials in the blog at:
    http://weblogs.java.net/blog/guruwons/archive/2006/09/understanding_t.html
    Best Regards,
    Chris

  • How to STOP and START the BO EXPLORER/POLESTAR - LINUX

    Dear friends,
    Could you please let me know on How to STOP and START the BO EXPLORER/POLESTAR on LINUX platform?
    Thank you,
    Nikee

    Oracle Apex is an API, if that helps you understand / visualize. You do not start Apex process nor stop it.
    When an Apex session starts it starts calling the API.
    You can however start / stop the listener. It may be OHS, ApexListener and the J2EE container running it, OC4J or any other "server" that you are using.
    The built-in EPG is something like an API again, you cannot start / stop it but you can disable/enable it with DBMS_XDB.SETHTTPPORT API.
    Regards,

  • How to Stop and restart the midtier?

    Hello All,
    I have installed Oracle AS (Infraturcture & middle tier , BI & Forms) on same Linux box.i.e: Oracle As 10.1.2.0.2 (Rel 2, x86 for Linux), SLES 9
    Here is my question:
    How to Stop and restart the midtier?
    Regards,
    DN

    biforms.sh
    export ORACLE_HOME=/opt/oracle/biforms
    export OH=$ORACLE_HOME
    export PATH=$OH/bin:$OH/opmn/bin:/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin
    export ORACLE_SID=ORCL
    export LD_LIBRARY_PATH=$OH/lib:/usr/openwin/lib:/usr/dt/lib:/usr/lib:/tools/lib
    infra.sh
    export ORACLE_HOME=/opt/oracle/infra  <-- or correct one!
    export OH=$ORACLE_HOME
    export PATH=$OH/bin:$OH/opmn/bin:/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin
    export ORACLE_SID=ORCL
    export LD_LIBRARY_PATH=$OH/lib:/usr/openwin/lib:/usr/dt/lib:/usr/lib:/tools/libAs you see, only the first row differs from these two scrips. Because I'm lazy, I usualy set export OH. Under certain circumstances you might want to add DISPLAY to biforms.sh. Set it to localhost:0 or whatever is correct.
    Martin

  • How to Stop and restart the OC4J_BI_FORMS?

    I have Oracle AS 10.1.2.0.2 (Rel 2) installed. (Infratsructure & BI & Forms) on same computer.
    my question is :
    How to Stop and restart the OC4J_BI_FORMS?
    Regards,
    DN

    Just as any other OC4J:
    opmnctl stopproc -process-type=OC4J_BI_FORMS
    opmnctl startproc -process-type=OC4J_BI_FORMS
    or
    opmnctl restartproc -process-type=OC4J_BI_FORMS
    cu
    Andreas

  • My new nano keeps going into sleep mode every copy of minutes while music is playing.  I can't figure out how to stop this.  The user guide isn't too helpful.  Any ideas?

    My new nano keeps going into sleep mode every copy of minutes while music is playing.  I can't figure out how to stop this.  The user guide isn't too helpful.  Any ideas?

    This is usually a sign that your iPod's headphones are not plugged in all the way.  Make sure that you cannot see any of the silver still showing from the headphone's plug.  You should hear a sort of popping/clicking noise when inserting the headphones letting you know that they have been fully seated.
    B-rock

  • E-rec   How to create or generate the index category????? SOS!!!!!

    Hi guys,
    How to create or generate the index category?.
    From the posts of this forum I have read more things but anything works:
    reports:
    -RSRETT02
    -RCF_INITIALIZE_KPRO
    -RSTIRIDX_INDXCAT_RETRIEVE
    Can anyone show me the way?
    Thanks in advance.

    Hello,
    If you haveat least Version 7.10.18 then KPro configurations are no longer required. Did you activate Business Function HCM_ERC_SES_1 as this is required for SES? The scenario to choose will depened on whether you are making a new implementation, upgrading without use of SES before or upgrading after using SES with earlier versions. Scenario 1 is for when you have activated HCM_ERC_CI_3 after using earlier versions with HCM_ERC_SES_1 already activated. Scenario 2 is for those who have upgrade and activated HCM_ERC_CI_3 but where using search without SES in their earlier version. Last scenario is when you are making a new e-Recruiting implementation (not upgrading). Also check notes 1426757 and 817145.
    When you try to search are you getting an error? Can you check in SLG1 transaction after trying to search and post the error messages. Also can you execute report RCF_CHECK_SEARCH_SETTINGS as it will point you to the missing configurations points if any based on your version.
    Regards,

  • HT204389 Can any tell me how i stop siri sayin the words i am typing when typing a message??

    Can any tell me how i stop siri sayin the words i am typing when typing a message??

    Hellooo Frndz....:)  i have to use UISplitviewController.and I want to do add UISplitViewController To UINavigationController but problem is that i can't do this...:(   i use MGSplitViewController Bt I Dont know Perfectly Use Of MGSplitViewController...
    so , plz give me answer for how to add UISplitViewController to UINavigationController ???
    --THNKS>>

  • 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

  • SQL Developer generates strange trace files on server

    Hello out there,
    I observed the generation of some strange trace files on the database server (Oracle 11.0.2.0.2 64bit on Win 2008R2).
    Whenever I start SQL Developer (3.2.20.09.87 64bit with JDK 1.7.0_17 64bit on Win7 64bit) for each connection I defined one trace file like this is generated:
    Trace file C:\ORACLE\diag\rdbms\ora\ora\trace\ora_ora_8500.trc
    Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
    Windows NT Version V6.1 Service Pack 1
    CPU                 : 2 - type 8664, 2 Physical Cores
    Process Affinity    : 0x0x0000000000000000
    Memory (Avail/Total): Ph:990M/3959M, Ph+PgF:3743M/7918M
    Instance name: ora
    Redo thread mounted by this instance: 1
    Oracle process number: 23
    Windows thread id: 8500, image: ORACLE.EXE (SHAD)
    *** 2013-03-06 08:04:13.842
    *** CLIENT ID:() 2013-03-06 08:04:13.842
    *** SERVICE NAME:() 2013-03-06 08:04:13.842
    *** MODULE NAME:() 2013-03-06 08:04:13.842
    *** ACTION NAME:() 2013-03-06 08:04:13.842
    Breaking the connection before proto/dty negotiation, error raised 3113I enabled listener log to find out the origin of this and it contains lines like the following:
    06-MRZ-2013 08:04:13 * (CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))(SERVICE_NAME=ora.vu)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.36.143)(PORT=49320)) * establish * ora.vu * 0
    06-MRZ-2013 08:04:13 * (CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))(SERVICE_NAME=ora.vu)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.36.143)(PORT=49322)) * establish * ora.vu * 0
    06-MRZ-2013 08:04:13 * (CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))(SERVICE_NAME=ora.vu)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.36.143)(PORT=49323)) * establish * ora.vu * 0
    06-MRZ-2013 08:04:13 * (CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))(SERVICE_NAME=ora.vu)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.36.143)(PORT=49325)) * establish * ora.vu * 0
    06-MRZ-2013 08:04:14 * (CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))(SERVICE_NAME=ora.vu)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.36.143)(PORT=49329)) * establish * ora.vu * 0
    06-MRZ-2013 08:04:14 * (CONNECT_DATA=(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))(SERVICE_NAME=ora.vu)(CID=(PROGRAM=null)(HOST=__jdbc__)(USER=null))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.36.143)(PORT=49331)) * establish * ora.vu * 0The IP address is mine and I have excatly 6 connections defined for that server. On other servers, similar trace files are generated, one for each connection in my SQL Developer.
    This also occurred with JDK 1.6 so I don't think it's a Java issue.
    Besides the generation of the trace files there seem to be no other problems.
    Any ideas?

    Hi,
    I think Srini is probably correct. The noted bug applies to 11.2.0.1 and up, is fixed in 12c, and included in an 11.2.0.3 patch. However the version of SQL Developer also affects the creation of trace files on product startup (prior to any user initiated db connect attempts).
    For example,
    A. SQL Developer 3.1.07.42 - no such trace files created.
    B. SQL Developer 3.2.20.09.87 - such trace files created for 11.2.0.1 connections, but not 10g XE or 12c connections.
    So I presume an OCIServerAttach call got added in 3.2.2, not sure in support of which feature, but the bug will only impact users of 11.2.0.1, 11.2.0.2, and unpatched 11.2.0.3 DB releases.
    Regards,
    Gary
    SQL Developer Team

  • Instance Crash after generating few trace files

    Hi,
    I am using oracle 10gR2 on Aix 5.3 Server.
    We have 32 processors machine with 128GB RAM.
    Few minutes back my instance was crashed after generating some trace files.
    Here is the output of alert log:
    ======================================
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p053_1184082.trc:
    ORA-00600: internal error code, arguments: [kghfrh:ds], [0x700000499EDB760], [], [], [], [], [], []
    ORA-10388: parallel query server interrupt (failure)
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p123_1032326.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p110_1040486.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p021_946388.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p043_1245478.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p096_860242.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p059_1143086.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p040_1253800.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p032_1094578.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:19 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p121_1130812.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:20 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p076_893180.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:20 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p038_1090482.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:07:20 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_p112_1175992.trc:
    ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Tue Jul 1 12:08:11 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_pmon_1188084.trc:
    ORA-00600: internal error code, arguments: [kghfrh:ds], [0x700000499EDB760], [], [], [], [], [], []
    Tue Jul 1 12:08:14 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_pmon_1188084.trc:
    ORA-00600: internal error code, arguments: [kghfrh:ds], [0x700000499EDB760], [], [], [], [], [], []
    Tue Jul 1 12:08:14 2008
    PMON: terminating instance due to error 472
    Tue Jul 1 12:08:17 2008
    Errors in file /u01/app/oracle/admin/pakedwp/bdump/pakedwp_rbal_1249422.trc:
    ORA-00472: PMON process terminated with error
    Tue Jul 1 12:08:45 2008
    Instance terminated by PMON, pid = 1188084
    ============================================
    There was some business users activity going on at that time.
    These trace files are not readable.
    I have restarted the instance and it has successfully opened.
    Can any one help me to find whats the root cause of this crash???

    Actually My metalink account has just expired and right now I only have read only access to metalink Thats why I have asked for help here. I am waiting for the access grants from my manager and defiantly i will open SR for this.
    Parameter setting for this parameter is 400
    SQL> show parameter parallel_max
    NAME TYPE VALUE
    parallel_max_servers integer 400
    I haven't brought any change for last 10 hours on database. No OS or DB patch has been applied. My database was working fine and queries were returning results.

  • 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 --

  • 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

Maybe you are looking for