Transaction deadlocks on oc4j

I've got a BMP transaction defined through UserTransaction. Within the limits of the transaction, there are CMP Entity calls (CMT) and simple JDBC actions.
When I deploy my app to OC4J, the transaction gets deadlocked. The exact point it happens is when a JDBC action tries to insert a value referencing to another value already inserted (but not committed) by an Entity call within the same transaction.
Surprisingly, when I restart OC4J and my app autodeploys, there is no deadlock performing exactly the same transaction!!
Anybody has an idea about that? Is it an OC4J bug?

Maybe this is best understood:
I've got a Bean managed transaction defined in a Session Bean through javax.transaction.UserTransaction. Within the limits of the transaction, there are create CMP Entity calls (CMT) and simple insert JDBC actions.
When I deploy my app to OC4J and run the mentioned transaction, the transaction gets deadlocked. The exact point it happens is when a JDBC action tries to insert a value referencing to another value already inserted (but not committed) by an Entity call within the same transaction.
Which is surprising is that when I restart OC4J and my app autodeploys, there is no deadlock performing exactly the same transaction!!
Can anybody help on this?
PS: Sorry about posting this four times. The forum seemed not to be working properly when this happenned.

Similar Messages

  • Transaction propagation between OC4J to non-OC4J J2EE container

    I have a OC4J instance 10.1.3.1 containing a stateless session EJB 2.1. This bean call another session EJB in Websphere EJB container. The call goes through but the transaction is not distributed, meaning I cannot roll the transaction back from the OC4J container.
    I have tried all kinds of context factories but it doesen't work. I use a XA datasource to an Oracle DB from the Websphere container.
    Does anyone know how to propagate transactions from an OC4J container to another J2EE container:
    Thanks
    regards
    A Bastell

    You can specify the JNDI properties in your JSP/Java Client to lookup the EJB if it's in a different EJB container than the one provided by the JSP container.
    Rob

  • Transaction Deadlock

    TRANSACTION (PROCESS ID) WAS DEADLOCKED ON RESOURCES WITH ANOTHER PROCESS AND HAS BEEN CHOSEN  AS THE DEADLOCKED VICTIM.RERUN THE TRANSACTION

    Hi Vengat,
    It's hard for others to analysis this issue only with the limited information, here are some links about troubleshooting the deadlock in SQL Server, please see:
    https://www.simple-talk.com/sql/database-administration/handling-deadlocks-in-sql-server/
    http://technet.microsoft.com/en-us/library/ms178104(v=sql.105).aspx
    https://www.simple-talk.com/sql/learn-sql-server/how-to-track-down-deadlocks-using-sql-server-2005-profiler/
    If the issue persists, please post the detail error message when running the script, so that we can make further investigation.
    Regards,
    Charlie Liao
    TechNet Community Support

  • Override EJB 3 transaction interceptor in OC4J 10.1.3 possible?

    Hi
    I'm using OC4J 10.1.3 with EJB 3 container managed transactions. I need to override the default transaction interceptor to add some additionnal logic that needs to be aware that a transaction will be commited, and I don't see any other way to do this since normal interceptors are not aware that a transaction is about to be commited when the method exits. Is there a way to do that?
    TIA
    Eric

    Anybody? Since I'm using Bean Managed Transactions, should the transaction context be propagated through each call? When I do the same kind of test with Container Managed Transactions I can see that the transaction propagation is working... I thought it is supposed to work in both cases, the only difference being that with BMT the bean itself is managing the transaction...
    Please, any help would be greatly appreciated...
    Eric

  • XA Transaction Support In OC4J 10.1.2

    Does OC4J support XA transactions using non emulated data sources? Or does 10.1.2 support XA transactions at all (across datasources-db or jms)?

    The reason is that the commit coordinator lives in Oracle database for 10.1.2.x case. (you have to confiture the db link to do so)
    In OC4J 10.1.3, the transaction manager has been re-implemented and the transaction coordination functionality is now located in OC4J, replacing in-database coordination, which is now deprecated. Also, the middle-tier coordinator is now "heterogeneous", meaning that it supports all XA-compatible resources, not just those from Oracle.
    The middle tier coordinator provides the following features:
    - Supports any XA compliant resource
    - Supports interpositioning and transaction inflow
    - Last Resource Commit Optimization
    - Recovery Logging
    -Frances

  • Transaction DeadLock Error

    Hi,
       I am trying to execute a transaction in WorkBench and it gives me an Error
    "com.sap.xmii.illuminator.logging.LHException:com.microsoft.sqlserver.jdbc.SQLServerException:Transaction (Process ID 62) was deadlocked on lock resources with another process and has been choosen as the deadlock victim. Rerun the transaction"
    This error is coming while executing a SQL action inside the transaction. This Sql action will call a stored procedure on External System to write some data.
    These are the server Parameter of this data server.
    PoolMax: 100
    PollSize: 1
    There are already 2 open connections to the same database which are also writing some data using the same Stored Procedure.
    Thanks,
    Gowtham K.

    That error is from your database.  There may be ways to mitigate this, just search for the error on google.  If using mssql check
    [http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/194f18b0-03b2-4e8f-8c67-5c92373c3efd]
    Regards,
    Jamie

  • Does OC4J's built-in JMS support transactions?

    I am using Oracle App Server 10.1.3.4 and OC4J 10.1.3.4, with the built-in OC4J JMS implementation. I have created a simple MDB that receives messages in the onMessage() method, and rolls back the transaction by throwing a runtime exception. (I have also tried rolling back the transaction by calling messageDrivenContext.setRollbackOnly().) In either case, the result is the same. The message is basically lost and never redelivered. If the transaction is rolled back, shouldn't the message be added back to the queue for redelivery? I have waited several minutes, and no redelivery ever occurs.
    My code looks something like this:
    @MessageDriven(activationConfig = {
              @ActivationConfigProperty(propertyName = "ConnectionFactoryJndiName",
                        propertyValue = "jms/QueueConnectionFactory"),
              @ActivationConfigProperty(propertyName = "DestinationName", propertyValue = "jms/MyQueue"),
              @ActivationConfigProperty(propertyName = "DestinationType", propertyValue = "javax.jms.Queue"),
              @ActivationConfigProperty(propertyName = "ReceiverThreads", propertyValue = "5")
    @TransactionManagement(TransactionManagementType.CONTAINER)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public class BidOptimizeMDB implements MessageListener {
         public final void onMessage(final Message msg) {
              throw new EJBException();
    In jms.xml:
    <queue-connection-factory name="jms/QueueConnectionFactory" location="jms/QueueConnectionFactory" />
    <queue name="MyQueue" location="jms/SEMBidQueue" persistence-file="MyQueue">

    You "care if it is a global transaction" because you use the corresponding annotation .
    @TransactionManagement(TransactionManagementType.CONTAINER)
    @TransactionAttribute(TransactionAttributeType.REQUIRED)This makes OC4J start a global transaction. Your config uses a non-xa connection factory that does not obey the Transaction Manager and setRollbackOnly does not work for this reason.
    There is another problem with your setup.
    "For message-driven beans using the OEMS JMS (in-memory or file-based) message service provider, <Required> is supported only if you access this message service provider using the Oracle JMS Connector. For more information, see [Restrictions When Accessing a Message Service Provider Without a J2CA Resource Adapter|http://download.oracle.com/docs/cd/B32110_01/web.1013/b28221/undejdev010.htm#CCHFAAAH]" .
    You need to use an instance of JMS Connector (predefined or your own) for proper transaction enlistment of OC4J JMS.
    The built-in JMS connector mentioned by you publishes connection factories at the following locations:
    OracleASjms/MyXAQCF     
    OracleASjms/MyQCF
    OracleASjms/MyXATCF     
    OracleASjms/MyTCF
    OracleASjms/MyXACF     
    OracleASjms/MyCF
    For your case you need OracleASjms/MyXACF or OracleASjms/MyXACF . Do not bypass the JMS Connector by using the OC4J JMS connection factories such as jms/XAConnectionFactory directly when you intend to use transactions.
    Hope this helps.
    Gera

  • How to use DataSource and External transaction in 9ias?

    I'm working on a project that the application server needs to connect to over 100 databases.
    I'd like to use connection pooling and external transaction service defined in OC4J's Datasources.
    I wonder if anyone has an example of using datasource and external transaction service for OC4J.
    Right now, I export toplink project to a java source and do the initialization there manually but I don't know how to use Datasource to get connections and how to use the external transaction service in the java code for OC4J.
    I really appreciate you help.
    Wei

    Here is a fill in the blank example on how you could set this up through code:
    Project project = new MyProject();
    // alternatively, use the XMLProjectReader
    server = project.createServerSession();
    server.getLogin().useExternalConnectionPooling();
    server.getLogin().setConnector(new JNDIConnector(new javax.naming.InitialContext(), "jdbc/DataSourceName"));
    // the next line depends on the type of driver you want to use.
    server.getLogin().useOracleThinJDBCDriver();
    server.getLogin().useOracle();
    server.getLogin().setUserName("username");
    server.getLogin().setPassword("password");
    server.getLogin().useExternalTransactionController();
    server.setExternalTransactionController(new Oracle9iJTSExternalTransactionController());
    server.logMessages();
    server.login();

  • Shut Down Of OC4J Container ist blocked

    Hi,
    i'vi got a problem with the new 10g iAS and if anybody's encountered the same or does know a solution, please let me know.
    The problem is:
    I'm not able to stop the OC4J container in the iAS cleanly.
    The reason is:
    There are two timers (java.util.Timer) running. These timers are cleanup timers, which run always throughout the application at intervalls (scheduleAtFixedRate). If i dont start the timers, the container will stop right away, without any error. If the timers are running the container is waiting for them to cancel and shutting down hardly after a timeout.
    I didn't have this problem with 9i and i dont have it in the embedded OC4J of the JDeveloper.
    Is there any workaround? How could i latch into the shutdown process, to cancel the timers myself?
    Best regards,
    Mirko

    The OC4J script is not the cause of this -- if the message is shown "shutting down OC4J' then the call has been made to OC4J and its in the process of shutting down.
    If you execute "set verbose=on" before executing oc4j.cmd, then you'll see the command that oc4j uses when -shutdown is performed is exactly that command you suggest:
    oc4j -shutdown -port 23791 -password welcome1Executing: D:\java\jdk150_11\bin\java -jar "d:\java\oc4j-10133-prod\j2ee\home\admin.jar" ormi://localhost:23791 oc4jadmin welcome1 -shutdown
    But as you are suggesting there are manual ways to shutdown OC4J that are equally valid to use; it's a matter of choice.
    What you could try is using the -force extra switch with the -shutdown command to force it to shutdown:
    java -jar admin.jar ormi://localhost:23791 oc4jadmin welcome1 -shutdown force
    If that fails, ctrl+c the process. It doesn't do any damage to it.
    A thread-dump (ctrl+break) on the hung process can help to identify any deadlock issues.
    oc4j.cmd is limited certainly, but it provides a simpler entry point IMHO for new users. And we still fully support/endorse the direct startup path using the runnable JAR file.
    -steve-

  • Getting deadlock detected while waiting for resource error for select Query.....

    Hi all,
    i am getting a below error whenever executing the below select query....
    some times it will show dead lock detected while waiting for resource and terminated...
    some times it executes and gives result..
    but all the time it writes an alert to alert log
    Plesae suggest how to resolve the issue..........
    Thanks in advance
    Env: Linux / Oracle 11.2.0.3.3
    Error from alert log:
    Errors in file /u01/oracle/oracle/diag/rdbms/bdrdb/bdrdb/trace/bdrdb_p017_6076.trc:
    ORA-00060: deadlock detected while waiting for resource
    ORA-10387: parallel query server interrupt (normal)
    Trace file info... bdrdb_p017_6076.trc:
    Trace file /u01/oracle/oracle/diag/rdbms/bdrdb/bdrdb/trace/bdrdb_p017_6076.trc
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORACLE_HOME = /u01/oracle/oracle/product/11.2.0/dbhome_1
    System name:    Linux
    Node name:      bdrdb.cteplindia.com
    Release:        2.6.18-308.el5PAE
    Version:        #1 SMP Fri Jan 27 17:40:09 EST 2012
    Machine:        i686
    Instance name: bdrdb
    Redo thread mounted by this instance: 1
    Oracle process number: 92
    Unix process pid: 6076, image: [email protected] (P017)
    *** 2013-11-04 23:18:57.915
    *** SESSION ID:(423.59970) 2013-11-04 23:18:57.915
    *** CLIENT ID:() 2013-11-04 23:18:57.915
    *** SERVICE NAME:(bdrdb) 2013-11-04 23:18:57.915
    *** MODULE NAME:() 2013-11-04 23:18:57.915
    *** ACTION NAME:() 2013-11-04 23:18:57.915
    *** 2013-11-04 23:18:57.915
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    PS-00000001-00000011        92     423     S             33     128     S     X
    BF-2ed08c01-00000000        33     128     S             92     423     S     X
    session 423: DID 0001-005C-00081126     session 128: DID 0001-0021-00067D23
    session 128: DID 0001-0021-00067D23     session 423: DID 0001-005C-00081126
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    PS-00000001-00000011        92     423     S             33     128     S     X
    BF-2ed08c01-00000000        33     128     S             92     423     S     X
    session 423: DID 0001-005C-00081126     session 128: DID 0001-0021-00067D23
    session 128: DID 0001-0021-00067D23     session 423: DID 0001-005C-00081126
    Rows waited on:
      Session 423: no row
      Session 128: obj - rowid = 00021DC1 - AAAh3BAAVAAAQL/AAA
      (dictionary objn - 138689, file - 21, block - 66303, slot - 0)
    ----- Information for the OTHER waiting sessions -----
    Session 128:
      sid: 128 ser: 46176 audsid: 1836857 user: 102/DBLOCAL
        flags: (0x8000041) USR/- flags_idl: (0x1) BSY/-/-/-/-/-
        flags2: (0x40009) -/-/INC
      pid: 33 O/S info: user: oracle, term: UNKNOWN, ospid: 31611
        image: [email protected]
      client details:
        O/S info: user: masked, term: masked, ospid: 5924:568
        machine: masked program: Toad.exe
        application name: TOAD background query session, hash value=526966934
      current SQL:
        application name: TOAD background query session, hash value=526966934
      current SQL:
      SELECT  DISTINCT B_FP_TEST.TEST_ID
      FROM B_FP_TEST,
           B_USER_INFO,
           J_FP_INVESTIGATOR,
           L_TEST_STATUS,
           L_ATMS_TEST_TYPE,
           j_op_test_anml
    WHERE     B_FP_TEST.TEST_ID = J_FP_INVESTIGATOR.TEST_ID
           AND B_FP_TEST.TEST_TYPE_ID = L_ATMS_TEST_TYPE.ATMS_TEST_TYPE_ID
           AND B_USER_INFO.B_USER_INFO_ID = J_FP_INVESTIGATOR.INVESTIGATOR_ID
           AND B_FP_TEST.STATUS_ID = L_TEST_STATUS.STATUS_ID
           AND B_FP_TEST.IS_DELETED = :"SYS_B_00"
           AND B_FP_TEST.TEST_NUM NOT IN (:"SYS_B_01", :"SYS_B_02", :"SYS_B_03")
           AND L_ATMS_TEST_TYPE.IS_DELETED = :"SYS_B_04"
           AND J_FP_INVESTIGATOR.is_pi = :"SYS_B_05"
           AND L_TEST_STATUS.STATUS IN (:"SYS_B_06", :"SYS_B_07", :"SYS_B_08")
           AND j_op_test_anml.test_id = B_FP_TEST.TEST_ID
    ----- End of information for the OTHER waiting sessions -----
    *** 2013-11-04 23:18:57.916
    dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
    ----- Error Stack Dump -----
    ORA-00060: deadlock detected while waiting for resource
    ORA-10387: parallel query server interrupt (normal)
    ----- SQL Statement (None) -----
    Current SQL information unavailable - no cursor.
    ----- Call Stack Trace -----
    calling              call     entry                argument values in hex
    location             type     point                (? means dubious value)
    More......
    Query:
    SELECT DISTINCT B_FP_TEST.TEST_ID
      FROM B_FP_TEST,
           B_USER_INFO,
           J_FP_INVESTIGATOR,
           L_TEST_STATUS,
           L_ATMS_TEST_TYPE,
           j_op_test_anml
    WHERE     B_FP_TEST.TEST_ID = J_FP_INVESTIGATOR.TEST_ID
           AND B_FP_TEST.TEST_TYPE_ID = L_ATMS_TEST_TYPE.ATMS_TEST_TYPE_ID
           AND B_USER_INFO.B_USER_INFO_ID = J_FP_INVESTIGATOR.INVESTIGATOR_ID
           AND B_FP_TEST.STATUS_ID = L_TEST_STATUS.STATUS_ID
           AND B_FP_TEST.IS_DELETED = 0
           AND B_FP_TEST.TEST_NUM NOT IN (1, 2, 99)
           AND L_ATMS_TEST_TYPE.IS_DELETED = 0
           AND J_FP_INVESTIGATOR.is_pi = 1
           AND L_TEST_STATUS.STATUS IN ('Scheduled', 'In-Progress', 'Completed')
           AND j_op_test_anml.test_id = B_FP_TEST.TEST_ID
           AND (   (j_op_test_anml.end_date BETWEEN TO_DATE ('28-Oct-2013') - 1
                                                AND TO_DATE ('04-Nov-2013') + 1)
                OR (j_op_test_anml.start_date BETWEEN TO_DATE ('28-Oct-2013') - 1
                                                  AND TO_DATE ('04-Nov-2013') + 1)
                OR (TO_DATE ('28-Oct-2013') BETWEEN j_op_test_anml.start_date
                                                AND j_op_test_anml.end_date)
                OR (TO_DATE ('04-Nov-2013') BETWEEN j_op_test_anml.start_date
                                                AND j_op_test_anml.end_date))
           AND L_ATMS_TEST_TYPE.IS_DELETED = 0
           AND B_FP_TEST.DATASOURCE_ID = 9
    Query Exp plan:
    Plan hash value: 3398228788
    | Id  | Operation                                          | Name                | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |    TQ  |IN-OUT| PQ Distrib |
    |   0 | SELECT STATEMENT                                   |                     |  1501 |   102K|  1929   (1)| 00:00:24 |       |       |        |      |            |
    |   1 |  HASH UNIQUE                                       |                     |  1501 |   102K|  1929   (1)| 00:00:24 |       |       |        |      |            |
    |   2 |   CONCATENATION                                    |                     |       |       |            |          |       |       |        |      |            |
    |   3 |    PX COORDINATOR                                  |                     |       |       |            |          |       |       |        |      |            |
    |   4 |     PX SEND QC (RANDOM)                            | :TQ30005            |   241 | 16870 |   800   (1)| 00:00:10 |       |       |  Q3,05 | P->S | QC (RAND)  |
    |*  5 |      HASH JOIN                                     |                     |   241 | 16870 |   800   (1)| 00:00:10 |       |       |  Q3,05 | PCWP |            |
    |   6 |       PX RECEIVE                                   |                     |   246 | 15990 |   797   (1)| 00:00:10 |       |       |  Q3,05 | PCWP |            |
    |   7 |        PX SEND HASH                                | :TQ30004            |   246 | 15990 |   797   (1)| 00:00:10 |       |       |  Q3,04 | P->P | HASH       |
    |*  8 |         HASH JOIN                                  |                     |   246 | 15990 |   797   (1)| 00:00:10 |       |       |  Q3,04 | PCWP |            |
    |   9 |          PX RECEIVE                                |                     |   573 | 29223 |   793   (1)| 00:00:10 |       |       |  Q3,04 | PCWP |            |
    |  10 |           PX SEND HASH                             | :TQ30003            |   573 | 29223 |   793   (1)| 00:00:10 |       |       |  Q3,03 | P->P | HASH       |
    |* 11 |            HASH JOIN                               |                     |   573 | 29223 |   793   (1)| 00:00:10 |       |       |  Q3,03 | PCWP |            |
    |  12 |             BUFFER SORT                            |                     |       |       |            |          |       |       |  Q3,03 | PCWC |            |
    |  13 |              PX RECEIVE                            |                     |       |       |            |          |       |       |  Q3,03 | PCWP |            |
    |  14 |               PX SEND BROADCAST                    | :TQ30000            |       |       |            |          |       |       |        | S->P | BROADCAST  |
    |  15 |                NESTED LOOPS                        |                     |       |       |            |          |       |       |        |      |            |
    |  16 |                 NESTED LOOPS                       |                     |   485 | 20855 |   781   (0)| 00:00:10 |       |       |        |      |            |
    |  17 |                  TABLE ACCESS BY GLOBAL INDEX ROWID| J_OP_TEST_ANML      |   485 | 10185 |   296   (0)| 00:00:04 | ROWID | ROWID |        |      |            |
    |* 18 |                   INDEX RANGE SCAN                 | IDX$$_2D190001      |   485 |       |     4   (0)| 00:00:01 |       |       |        |      |            |
    |* 19 |                  INDEX UNIQUE SCAN                 | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 20 |                 TABLE ACCESS BY GLOBAL INDEX ROWID | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |  21 |             PX BLOCK ITERATOR                      |                     | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q3,03 | PCWC |            |
    |* 22 |              TABLE ACCESS FULL                     | J_FP_INVESTIGATOR   | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q3,03 | PCWP |            |
    |  23 |          BUFFER SORT                               |                     |       |       |            |          |       |       |  Q3,04 | PCWC |            |
    |  24 |           PX RECEIVE                               |                     |     3 |    42 |     3   (0)| 00:00:01 |       |       |  Q3,04 | PCWP |            |
    |  25 |            PX SEND HASH                            | :TQ30001            |     3 |    42 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 26 |             TABLE ACCESS FULL                      | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |  27 |       BUFFER SORT                                  |                     |       |       |            |          |       |       |  Q3,05 | PCWC |            |
    |  28 |        PX RECEIVE                                  |                     |    30 |   150 |     3   (0)| 00:00:01 |       |       |  Q3,05 | PCWP |            |
    |  29 |         PX SEND HASH                               | :TQ30002            |    30 |   150 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 30 |          TABLE ACCESS FULL                         | L_ATMS_TEST_TYPE    |    30 |   150 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |  31 |    NESTED LOOPS                                    |                     |       |       |            |          |       |       |        |      |            |
    |  32 |     NESTED LOOPS                                   |                     |     3 |   210 |   329   (1)| 00:00:04 |       |       |        |      |            |
    |  33 |      NESTED LOOPS                                  |                     |     3 |   195 |   329   (1)| 00:00:04 |       |       |        |      |            |
    |* 34 |       HASH JOIN                                    |                     |     2 |   114 |   325   (1)| 00:00:04 |       |       |        |      |            |
    |  35 |        NESTED LOOPS                                |                     |       |       |            |          |       |       |        |      |            |
    |  36 |         NESTED LOOPS                               |                     |     6 |   258 |   322   (1)| 00:00:04 |       |       |        |      |            |
    |  37 |          PARTITION RANGE SINGLE                    |                     |     6 |   126 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 38 |           TABLE ACCESS FULL                        | J_OP_TEST_ANML      |     6 |   126 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 39 |          INDEX UNIQUE SCAN                         | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 40 |         TABLE ACCESS BY GLOBAL INDEX ROWID         | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |* 41 |        TABLE ACCESS FULL                           | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |* 42 |       TABLE ACCESS BY INDEX ROWID                  | J_FP_INVESTIGATOR   |     1 |     8 |     2   (0)| 00:00:01 |       |       |        |      |            |
    |* 43 |        INDEX RANGE SCAN                            | FI_TEST_ID_PK       |     1 |       |     1   (0)| 00:00:01 |       |       |        |      |            |
    |* 44 |      INDEX UNIQUE SCAN                             | L_ATMS_TEST_TYPE_PK |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 45 |     TABLE ACCESS BY INDEX ROWID                    | L_ATMS_TEST_TYPE    |     1 |     5 |     1   (0)| 00:00:01 |       |       |        |      |            |
    |  46 |    PX COORDINATOR                                  |                     |       |       |            |          |       |       |        |      |            |
    |  47 |     PX SEND QC (RANDOM)                            | :TQ20003            |       |       |            |          |       |       |  Q2,03 | P->S | QC (RAND)  |
    |  48 |      NESTED LOOPS                                  |                     |       |       |            |          |       |       |  Q2,03 | PCWP |            |
    |  49 |       NESTED LOOPS                                 |                     |    33 |  2310 |   399   (2)| 00:00:05 |       |       |  Q2,03 | PCWP |            |
    |* 50 |        HASH JOIN                                   |                     |    33 |  2145 |   397   (2)| 00:00:05 |       |       |  Q2,03 | PCWP |            |
    |  51 |         PX RECEIVE                                 |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q2,03 | PCWP |            |
    |  52 |          PX SEND HASH                              | :TQ20002            |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q2,02 | P->P | HASH       |
    |* 53 |           HASH JOIN                                |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q2,02 | PCWP |            |
    |  54 |            BUFFER SORT                             |                     |       |       |            |          |       |       |  Q2,02 | PCWC |            |
    |  55 |             PX RECEIVE                             |                     |       |       |            |          |       |       |  Q2,02 | PCWP |            |
    |  56 |              PX SEND BROADCAST                     | :TQ20000            |       |       |            |          |       |       |        | S->P | BROADCAST  |
    |  57 |               NESTED LOOPS                         |                     |       |       |            |          |       |       |        |      |            |
    |  58 |                NESTED LOOPS                        |                     |    66 |  2838 |   382   (1)| 00:00:05 |       |       |        |      |            |
    |  59 |                 PARTITION RANGE SINGLE             |                     |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 60 |                  TABLE ACCESS FULL                 | J_OP_TEST_ANML      |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 61 |                 INDEX UNIQUE SCAN                  | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 62 |                TABLE ACCESS BY GLOBAL INDEX ROWID  | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |  63 |            PX BLOCK ITERATOR                       |                     | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q2,02 | PCWC |            |
    |* 64 |             TABLE ACCESS FULL                      | J_FP_INVESTIGATOR   | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q2,02 | PCWP |            |
    |  65 |         BUFFER SORT                                |                     |       |       |            |          |       |       |  Q2,03 | PCWC |            |
    |  66 |          PX RECEIVE                                |                     |     3 |    42 |     3   (0)| 00:00:01 |       |       |  Q2,03 | PCWP |            |
    |  67 |           PX SEND HASH                             | :TQ20001            |     3 |    42 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 68 |            TABLE ACCESS FULL                       | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |* 69 |        INDEX UNIQUE SCAN                           | L_ATMS_TEST_TYPE_PK |     1 |       |     0   (0)| 00:00:01 |       |       |  Q2,03 | PCWP |            |
    |* 70 |       TABLE ACCESS BY INDEX ROWID                  | L_ATMS_TEST_TYPE    |     1 |     5 |     1   (0)| 00:00:01 |       |       |  Q2,03 | PCWP |            |
    |  71 |    PX COORDINATOR                                  |                     |       |       |            |          |       |       |        |      |            |
    |  72 |     PX SEND QC (RANDOM)                            | :TQ10003            |       |       |            |          |       |       |  Q1,03 | P->S | QC (RAND)  |
    |  73 |      NESTED LOOPS                                  |                     |       |       |            |          |       |       |  Q1,03 | PCWP |            |
    |  74 |       NESTED LOOPS                                 |                     |    33 |  2310 |   399   (2)| 00:00:05 |       |       |  Q1,03 | PCWP |            |
    |* 75 |        HASH JOIN                                   |                     |    34 |  2210 |   397   (2)| 00:00:05 |       |       |  Q1,03 | PCWP |            |
    |  76 |         PX RECEIVE                                 |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q1,03 | PCWP |            |
    |  77 |          PX SEND HASH                              | :TQ10002            |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q1,02 | P->P | HASH       |
    |* 78 |           HASH JOIN                                |                     |    78 |  3978 |   393   (1)| 00:00:05 |       |       |  Q1,02 | PCWP |            |
    |  79 |            BUFFER SORT                             |                     |       |       |            |          |       |       |  Q1,02 | PCWC |            |
    |  80 |             PX RECEIVE                             |                     |       |       |            |          |       |       |  Q1,02 | PCWP |            |
    |  81 |              PX SEND BROADCAST                     | :TQ10000            |       |       |            |          |       |       |        | S->P | BROADCAST  |
    |  82 |               NESTED LOOPS                         |                     |       |       |            |          |       |       |        |      |            |
    |  83 |                NESTED LOOPS                        |                     |    66 |  2838 |   382   (1)| 00:00:05 |       |       |        |      |            |
    |  84 |                 PARTITION RANGE SINGLE             |                     |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 85 |                  TABLE ACCESS FULL                 | J_OP_TEST_ANML      |    66 |  1386 |   316   (1)| 00:00:04 |     7 |     7 |        |      |            |
    |* 86 |                 INDEX UNIQUE SCAN                  | FT_TEST_ID_PK       |     1 |       |     0   (0)| 00:00:01 |       |       |        |      |            |
    |* 87 |                TABLE ACCESS BY GLOBAL INDEX ROWID  | B_FP_TEST           |     1 |    22 |     1   (0)| 00:00:01 | ROWID | ROWID |        |      |            |
    |  88 |            PX BLOCK ITERATOR                       |                     | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q1,02 | PCWC |            |
    |* 89 |             TABLE ACCESS FULL                      | J_FP_INVESTIGATOR   | 70382 |   549K|    11   (0)| 00:00:01 |       |       |  Q1,02 | PCWP |            |
    |  90 |         BUFFER SORT                                |                     |       |       |            |          |       |       |  Q1,03 | PCWC |            |
    |  91 |          PX RECEIVE                                |                     |     3 |    42 |     3   (0)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    |  92 |           PX SEND HASH                             | :TQ10001            |     3 |    42 |     3   (0)| 00:00:01 |       |       |        | S->P | HASH       |
    |* 93 |            TABLE ACCESS FULL                       | L_TEST_STATUS       |     3 |    42 |     3   (0)| 00:00:01 |       |       |        |      |            |
    |* 94 |        INDEX UNIQUE SCAN                           | L_ATMS_TEST_TYPE_PK |     1 |       |     0   (0)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    |* 95 |       TABLE ACCESS BY INDEX ROWID                  | L_ATMS_TEST_TYPE    |     1 |     5 |     1   (0)| 00:00:01 |       |       |  Q1,03 | PCWP |            |
    Predicate Information (identified by operation id):
       5 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
       8 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      11 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      18 - access("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
      19 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      20 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      22 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      26 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      30 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)
      34 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      38 - filter("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."END_DATE"<=TO_DATE(' 2013-11-05
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND (LNNVL("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR
                  LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))))
      39 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      40 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      41 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      42 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      43 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      44 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
      45 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)
      50 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      53 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      60 - filter("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-11-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-04
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND (LNNVL("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR
                  LNNVL("J_OP_TEST_ANML"."END_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))) AND (LNNVL("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))))
      61 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      62 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      64 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      68 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      69 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
      70 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)
      75 - access("B_FP_TEST"."STATUS_ID"="L_TEST_STATUS"."STATUS_ID")
      78 - access("B_FP_TEST"."TEST_ID"="J_FP_INVESTIGATOR"."TEST_ID")
      85 - filter("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-28 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-10-28
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND (LNNVL("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-11-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR
                  LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-04 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))) AND (LNNVL("J_OP_TEST_ANML"."END_DATE">=TO_DATE(' 2013-10-27
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR LNNVL("J_OP_TEST_ANML"."END_DATE"<=TO_DATE(' 2013-11-05 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))) AND
                  (LNNVL("J_OP_TEST_ANML"."START_DATE">=TO_DATE(' 2013-10-27 00:00:00', 'syyyy-mm-dd hh24:mi:ss')) OR LNNVL("J_OP_TEST_ANML"."START_DATE"<=TO_DATE(' 2013-11-05
                  00:00:00', 'syyyy-mm-dd hh24:mi:ss'))))
      86 - access("J_OP_TEST_ANML"."TEST_ID"="B_FP_TEST"."TEST_ID")
      87 - filter("B_FP_TEST"."DATASOURCE_ID"=9 AND "B_FP_TEST"."IS_DELETED"=0 AND "B_FP_TEST"."TEST_NUM"<>1 AND "B_FP_TEST"."TEST_NUM"<>2 AND
                  "B_FP_TEST"."TEST_NUM"<>99)
      89 - filter("J_FP_INVESTIGATOR"."IS_PI"=1)
      93 - filter("L_TEST_STATUS"."STATUS"='Completed' OR "L_TEST_STATUS"."STATUS"='In-Progress' OR "L_TEST_STATUS"."STATUS"='Scheduled')
      94 - access("B_FP_TEST"."TEST_TYPE_ID"="L_ATMS_TEST_TYPE"."ATMS_TEST_TYPE_ID")
      95 - filter("L_ATMS_TEST_TYPE"."IS_DELETED"=0)

    Excellent piece of follow-up on my first suggestion.
    I nearly made a comment about how the plan doesn't show Bloom filter pruning either - and then I realised why not. The plan you've shown us comes from Explain Plan with literal values present; the trace file shows bind variables with names that are generated when cursor_sharing is set to force or similar - so the run-time plan and the plan from explain plan are almost guaranteed to be different.
    Oracle support will need you to supply the plan you get from trying to run the query and then making a call to dbms_xplan.display_cursor() - dbms_xplan in 10g | Oracle Scratchpad If you do this I think you'll find that the pstart/pstop columns contain entries like :BF0000, and you may even find operations link PX JOIN FILTER CREATE / PX JOIN FILTER USE
    A couple of generic notes:
    if a query does sufficient work to merit parallel execution, then it's usually better to supply the best possible information to the optimizer, which means using literals rather than bind variables - you could try executing the query with the hint /*+ cursor_sharing_exact */ to stop Oracle from turning your literals into binds; it might be the presence of bind variables that's making the optimizer choose a path that has to include bloom filter pruning in your case.
    Where you have the to_date() call you've used a four-digit year - which is a very good thing and helps the optimizer - but it's also a good idea to include an explicit format string as well: with a four-digit year this probably won't make any difference, but it avoids any risk of ambiguity for the optimizer.
    I made a comment about the P->S stage and bottlenecks - I spent a couple more minutes looking at the plan, and I see the optimizer has used concatentation: in effect it has run three query blocks one after the other and fed the results to the query co-ordinator - in this case the P->S would make no difference to the end-user response time there's always a final P->S to the coordinator, you just happen to have three of them.
    Regards
    Jonathan Lewis

  • DEADLOCK DETECTED ( ORA-00060 )

    Hi,
    We are getting deadlocks when the System (Exteranl-Portal-
    Production) Cache Upload process runs. It's Looks like
    application problem.
    We have been getting this deadlock problem whenever the CACHE job gets
    executed.
    Basically its a portal SRM Business package system.
    We have scheduled the CACHE job on portal at 1 AM MSTAZ time , so it
    will use Jco to connect R3 and SRM system to bring the data.
    We have been observing this deadlock problem only at the time of cache
    job.
    But cache job is executing succesfully , but we could see the deadlock
    in the logs.
    In the beginning of trace file (Location:-
    /oracle/RPE/saptrace/usertrace/) we found the information as follows
    more rpe_ora_1835342.trc
    Dump file /oracle/RPE/saptrace/usertrace/rpe_ora_1835342.trc
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    ORACLE_HOME = /oracle/RPE/102_64
    System name:    AIX
    Node name:      fsp55a08
    Release:        3
    Version:        5
    Machine:        000788ABD600
    Instance name: RPE
    Redo thread mounted by this instance: 1
    Oracle process number: 17
    Unix process pid: 1835342, image: oracle@fsp55a08
    2009-05-31 01:00:49.485
    ACTION NAME:() 2009-05-31 01:00:49.485
    MODULE NAME:(JDBC Thin Client) 2009-05-31 01:00:49.485
    SERVICE NAME:(SYS$USERS) 2009-05-31 01:00:49.485
    SESSION ID:(275.1229) 2009-05-31 01:00:49.485
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    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-00050010-00003981        17     275     X             18     284           X
    TX-00010000-000038a3        18     284     X             17     275           X
    session 275: DID 0001-0011-00000139     session 284: DID 0001-0012-0000004F
    session 284: DID 0001-0012-0000004F     session 275: DID 0001-0011-00000139
    Rows waited on:
    Session 284: obj - rowid = 0000561D - AAAFYdAAJAAAHUlAAU
      (dictionary objn - 22045, file - 9, block - 29989, slot - 20)
    Session 275: obj - rowid = 00005617 - AAAFYXAAJAAAG1aAAc
      (dictionary objn - 22039, file - 9, block - 27994, slot - 28)
    Information on the OTHER waiting sessions:
    Session 284:
      pid=18 serial=1236 audsid=672749 user: 21/SAPRPEDB
      O/S info: user: rpeadm, term: unknown, ospid: 1234, machine: fsp65003
                program: JDBC Thin Client
    Please help me on this issue.
    Please let me know if you need any more information on the same.
    Thank you in advance.
    Regards,
    A.Naresh
    SAP-BASIS

    Hi,
    Check SAP Note 84348 - Oracle deadlocks, ORA-00060
    Thanks
    Sunny

  • Deadlock detected ora-00060 WWV_FLOW_PREFERENCES$

    Hi,
    Since the last 3 days, my production database running only APEX applications has been having some lagging issues.
    I checked the CPU, Memory etc and everything seems fine except that I get some contention on FLOWS objects.
    I checked the alert.log and I can see deadlocks on WWV_FLOW_PREFERENCES$.
    I was wondering what could cause this ? :
    *** CLIENT ID:(nobody:1682016905757562) 2009-01-16 14:34:46.343
    *** SESSION ID:(255.13691) 2009-01-16 14:34:46.342
    DEADLOCK DETECTED
    [Transaction Deadlock]
    Current SQL statement for this session:
    DELETE FROM WWV_FLOW_PREFERENCES$ WHERE SECURITY_GROUP_ID = :B2 AND PREFERENCE_NAME LIKE 'FSP%' AND USER_ID = :B1
    at the same time I had Row Lock Contention on : UPDATE WWV_FLOW_PREFERENCES$ SET ATTRIBUTE_VALUE = :B5 WHERE USER_ID = NVL(:B4 ,NVL(:B3 ,USER)) AND PREFERENCE_NAME = :B2 AND SECURITY_GROUP_ID = :B1
    Any ideas ?
    Thanks
    Francis.

    Hi ,
    I think I found what was causing locks and deadlocks.
    we added rewrites to Apache to access some pages directly. Multiple rewrites were pointing to the exact same page.
    For example :
    RewriteRule ^/car$ /pls/htmldb/f?p=199:90::RESET:::P90_ID_CAR:99 [R,L]
    RewriteRule ^/cars$ /pls/htmldb/f?p=199:90::RESET:::P90_ID_CAR:99 [R,L]
    RewriteRule ^/car/$ /pls/htmldb/f?p=199:90::RESET:::P90_ID_CAR:99:2 [R,L]
    RewriteRule ^/cars/$ /pls/htmldb/f?p=199:90::RESET:::P90_ID_CAR:99:2 [R,L]
    So what happened , is that when a BOT from MSN or Yahoo was scanning our site, it accessed this page with nobody and the same session # at the same time.
    I suppose that using same session # and same app_user causes lock problems in wwv_flow since it is the updating and selecting the same records.
    So I changed the rewrite rules to use session 0 and removed the RESET in the url (used to reset collections).
    I'll see if this will stop the deadlocks.
    You can reproduce the locks on wwv_flow if you hit the refresh button on your browser multiple times. You will see in the session monitor that the same session # is used by multiple oracle processes.
    maybe there should be a fix to avoid having the same session and same user (nobody) running on separate session simultaneously ?
    Francis.

  • ORA-00060 DEADLOCK DETECTED - Need Help

    Hi Gurus,
    I have a question on how to determine the trace log. Where the deadlock happen.
    Please help. I have no other hint on how to resolve the error.
    *** ACTION NAME:() 2008-08-06 03:34:21.740
    *** MODULE NAME:(OEM.SystemPool) 2008-08-06 03:34:21.740
    *** SERVICE NAME:(celcomdb) 2008-08-06 03:34:21.740
    *** CLIENT ID:() 2008-08-06 03:34:21.740
    *** SESSION ID:(113.3188) 2008-08-06 03:34:21.740
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    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
    TM-0000c45a-00000000 119 113 X 27 60 SX
    TX-0004002c-000269bc 27 60 X 119 113 X
    session 113: DID 0001-0077-00000028     session 60: DID 0001-001B-00000278
    session 60: DID 0001-001B-00000278     session 113: DID 0001-0077-00000028
    Rows waited on:
    Session 60: no row
    Session 113: obj - rowid = 0000C384 - AAAMOEAADAAAF99AAA
    (dictionary objn - 50052, file - 3, block - 24445, slot - 0)
    Information on the OTHER waiting sessions:
    Session 60:
    pid=27 serial=1313 audsid=0 user: 51/SYSMAN
    O/S info: user: oracle10, term: UNKNOWN, ospid: 14610456, machine: S63KLJ01
    program: oracle@S63KLJ01 (J000)
    application name: EM_PING, hash value=2147830874
    action name: AGENT_STATUS_MARKER, hash value=2850782869
    Current SQL information unavailable
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    UPDATE MGMT_OMS_PARAMETERS SET VALUE=TO_CHAR(SYSDATE, 'DD-Mon-YYYY HH24:MI:SS') WHERE HOST_URL=:B1 AND NAME='TIMESTAMP'
    ----- PL/SQL Call Stack -----
    object line object
    handle number name
    70000006e5ab778 39 package body SYSMAN.MGMT_FAILOVER
    70000002e8aaf98 1 anonymous block
    ===================================================
    PROCESS STATE
    Process global information:
    process: 70000006f4b1598, call: 70000006a9c9320, xact: 70000006dedcf98, curses: 70000006f5a5a50, usrses: 70000006f5a5a50
    SO: 70000006f4b1598, type: 2, owner: 0, flag: INIT/-/-/0x00
    (process) Oracle pid=119, calls cur/top: 70000006a9c9320/70000006abfcaf8, flag: (0) -
    int error: 0, call error: 0, sess error: 0, txn error 0
    (post info) last post received: 0 0 9
    last post received-location: ksqrcl
    last process to post me: 70000006f484118 141 0
    last post sent: 0 0 0
    last post sent-location: No post
    last process posted by me: none
    (latch info) wait_event=0 bits=0
    Process Group: DEFAULT, pseudo proc: 70000006f50bcd0
    O/S info: user: oracle10, term: UNKNOWN, ospid: 11538508
    OSD pid info: Unix process pid: 11538508, image: oraclecelcomdb@S63KLJ01
    Dump of memory from 0x070000006F45FCD0 to 0x070000006F45FED8
    70000006F45FCD0 00000004 00000000 07000000 6A9ABD00 [............j...]
    70000006F45FCE0 00000010 0003139D 07000000 6ABFCAF8 [............j...]
    70000006F45FCF0 00000003 0003139D 07000000 6F8FD600 [............o...]
    70000006F45FD00 0000000B 0003139D 07000000 6F5A5A50 [............oZZP]
    70000006F45FD10 00000004 00031291 00000000 00000000 [................]
    70000006F45FD20 00000000 00000000 00000000 00000000 [................]
    Repeat 26 times
    70000006F45FED0 00000000 00000000 [........]
    SO: 70000006f5a5a50, type: 4, owner: 70000006f4b1598, flag: INIT/-/-/0x00
    (session) sid: 113 trans: 70000006dedcf98, creator: 70000006f4b1598, flag: (41) USR/- BSY/-/-/-/-/-
    DID: 0001-0077-00000028, short-term DID: 0000-0000-00000000
    txn branch: 0
    oct: 6, prv: 0, sql: 70000006e5a9140, psql: 70000006e5a9410, user: 51/SYSMAN
    O/S info: user: oracle10, term: unknown, ospid: 1234, machine: S63KLJ01
    program: OMS
    client info: S63KLJ01_Management_Service
    application name: OEM.SystemPool, hash value=2960518376
    last wait for 'enq: TX - row lock contention' blocking sess=0x70000006f5611e0 seq=322 wait_time=2929700 seconds since wait started=4
    name|mode=54580006, usn<<16 | slot=4002c, sequence=269bc
    Dumping Session Wait History
    for 'enq: TX - row lock contention' count=1 wait_time=2929700
    name|mode=54580006, usn<<16 | slot=4002c, sequence=269bc
    for 'enq: TM - contention' count=1 wait_time=224489
    name|mode=544d0006, object #=c45a, table/partition=0
    for 'enq: TM - contention' count=1 wait_time=2929708
    name|mode=544d0006, object #=c45a, table/partition=0
    for 'SQL*Net message from client' count=1 wait_time=35033
    driver id=28444553, #bytes=1, =0
    for 'SQL*Net message to client' count=1 wait_time=1
    driver id=28444553, #bytes=1, =0
    for 'SQL*Net message from client' count=1 wait_time=227
    driver id=28444553, #bytes=1, =0
    for 'SQL*Net message to client' count=1 wait_time=1
    driver id=28444553, #bytes=1, =0
    for 'latch: library cache' count=1 wait_time=96826
    address=70000006cf2f298, number=d6, tries=0
    for 'latch: library cache' count=1 wait_time=36929
    address=70000006cf2f0b8, number=d6, tries=0
    for 'SQL*Net message from client' count=1 wait_time=131974
    driver id=28444553, #bytes=1, =0
    temporary object counter: 0
    Virtual Thread:
    kgskvt: 70000006e82cd98, sess: 70000006f5a5a50, vc: 0, proc: 70000006f4b1598
    consumer group cur: OTHER_GROUPS (upd? 0), mapped: DEFAULT_CONSUMER_GROUP, orig:
    vt_state: 0x200, vt_flags: 0x30, blkrun: 0
    is_assigned: 1, in_sched: 0 (0)
    vt_active: 0 (pending: 1)
    used quanta: 0 (cg: 0)
    cpu start time: 0, quantum status: 0x0
    quantum checks to skip: 0, check thresh: 0
    idle time: 0, active time: 0 (cg: 0)
    cpu yields: 0 (cg: 0), waits: 0 (cg: 0), wait time: 0 (cg: 0)
    queued time outs: 0, time: 0 (cur 0, cg 0)
    calls aborted: 0, num est exec limit hit: 0
    undo current: 0k max: 0k
    UOL used : 0 locks(used=2, free=0)
    KGX Atomic Operation Log 70000002eb54978
    Mutex 0(0, 0) idn 0 oper NONE
    Cursor Parent uid 113 efd 15 whr 22 slp 0
    oper=NONE pt1=0 pt2=0 pt3=0
    pt4=0 u41=0 stt=0
    KGX Atomic Operation Log 70000002eb549c0
    Mutex 0(0, 0) idn 0 oper NONE
    Library Cache uid 113 efd 0 whr 0 slp 0
    KGX Atomic Operation Log 70000002eb54a08
    Mutex 0(0, 0) idn 0 oper NONE
    Library Cache uid 113 efd 0 whr 0 slp 0
    SO: 70000006ae53108, type: 53, owner: 70000006f5a5a50, flag: INIT/-/-/0x00
    LIBRARY OBJECT LOCK: lock=70000006ae53108 handle=70000002e8e8150 mode=N
    call pin=0 session pin=0 hpc=0000 hlc=0000
    htl=70000006ae53188[70000006a753478,70000006abaf090] htb=70000006abaf090 ssga=70000006abae018
    user=70000006f5a5a50 session=70000006f5a5a50 count=1 flags=CBK[0020] savepoint=0x0
    LIBRARY OBJECT HANDLE: handle=70000002e8e8150 mtx=70000002e8e8280(0) cdp=0
    namespace=CRSR flags=RON/KGHP/PN0/EXP/[10010100]
    kkkk-dddd-llll=0000-0001-0001 lock=N pin=S latch#=4 hpc=0000 hlc=0000
    lwt=70000002e8e81f8[70000002e8e81f8,70000002e8e81f8] ltm=70000002e8e8208[70000002e8e8208,70000002e8e8208]
    pwt=70000002e8e81c0[70000002e8e81c0,70000002e8e81c0] ptm=70000002e8e81d0[70000002e8e81d0,70000002e8e81d0]
    ref=70000002e8e8228[70000004ad30028,70000004ad30028] lnd=70000002e8e8240[70000002e8e8240,70000002e8e8240]
    LIBRARY OBJECT: object=70000004ad2f990
    type=CRSR flags=EXS[0001] pflags=[0000] status=VALD load=0
    DEPENDENCIES: count=1 size=16
    AUTHORIZATIONS: count=1 size=16 minimum entrysize=16
    ACCESSES: count=1 size=16
    TRANSLATIONS: count=1 size=16
    DATA BLOCKS:
    data# heap pointer status pins change whr
    0 70000006eada130 70000004ad2faa8 I/P/A/-/- 0 NONE 00
    6 70000004ad2fec8 700000040f57a78 I/P/A/-/E 0 NONE 00
    ----------------------------------------

    Oracle handles dead lock by its own. but to resolve the issue u can try following things.
    1. take explain for UPDATE MGMT_OMS_PARAMETERS SET VALUE=TO_CHAR(SYSDATE, 'DD-Mon-YYYY HH24:MI:SS') WHERE HOST_URL=:B1 AND NAME='TIMESTAMP';
    2. analyze above explain plan and try to tune it.
    i think, its because of missing indexes.

  • ORA-00060: deadlock detected while waiting for resource with Tbs Read-only

    Hi all,
    We're using Oracle 10.2.0.1 and 9.2.0.4.
    I'm testing the performing of a procedure that inserts, like this:
    CREATE OR REPLACE PROCEDURE P$TAD_TEST
    IS
    TYPE T_T1_C1          IS TABLE OF T1.C1%TYPE INDEX BY PLS_INTEGER;
    TYPE T_T1_DT           IS TABLE OF T1.DT%TYPE INDEX BY PLS_INTEGER;
    P_C1 T_T1_C1;
    P_DT T_T1_DT;
    P_RESULT NUMBER;
    BEGIN
    FOR j IN 1..4032 LOOP
    P_C1(j) := j;
    P_DT(j) := SYSDATE + (j/24/60);
    END LOOP;
    FORALL i IN P_C1.FIRST..P_C1.LAST SAVE EXCEPTIONS
    INSERT INTO T1 VALUES (P_C1(i), P_DT(i));
    EXCEPTION
    WHEN OTHERS THEN
    P_RESULT := SQLCODE;
    END;
    The table T1 is partitioned across 10 tablespaces. The test consist to take
    these tablespace read-only and perform the procedure, and analyze the results,
    like erros.
    but when I perform the procedure, The alert.log indicates the error
    ORA-00060: deadlock detected while waiting for resource.
    Why this occurs only the tablespaces are read-only?
    thank you!!!!

    Hi,
    yesterday we got this error again(in fact twice) and we were able to get the trace file. It says this is NOT oracle error. i was wrong in suspecting Oracle. This is the trace file details. i dont know how to debug this. Any help appreciated.
    *** 2010-06-15 16:24:29.243
    *** ACTION NAME:() 2010-06-15 16:24:29.231
    *** MODULE NAME:(JDBC Thin Client) 2010-06-15 16:24:29.231
    *** SERVICE NAME: 2010-06-15 16:24:29.231
    *** SESSION ID:(482.4266) 2010-06-15 16:24:29.231
    DEADLOCK DETECTED ( ORA-00060 )
    [Transaction Deadlock]
    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-00300021-0000b52d 209 482 X 247 474 S
    TX-002a0009-00011b24 247 474 X 209 482 S
    session 482: DID 0001-00D1-0000000A session 474: DID 0001-00F7-00000008
    session 474: DID 0001-00F7-00000008 session 482: DID 0001-00D1-0000000A
    Rows waited on:
    Session 474: obj - rowid = 0000CED4 - AAAM7UAAxAAAVgSAAA
    (dictionary objn - 52948, file - 49, block - 88082, slot - 0)
    Session 482: obj - rowid = 0000D8BF - AAANi/AAuAAB+z/AAA
    (dictionary objn - 55487, file - 46, block - 519423, slot - 0)
    Information on the OTHER waiting sessions:
    Session 474:
    pid=247 serial=31796 audsid=25502259 user: 62/USER
    O/S info: ....
    program: JDBC Thin Client
    application name: JDBC Thin Client, hash value=2546894660
    Current SQL Statement:
    INSERT QUERY1
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    INSERT QUERY2
    Thanks,
    AK

  • How to configure global transaction wthin Oracle AS JMS and Oracle JMS

    How to configure global transaction if I take a message from Oracle JMS(AQ) and send it to the Oracle JMS?

    Which version of OC4J are you working on?
    In OC4J 10.1.3.x, presume your OC4J JMS listens messages via MDB which uses a resource adapter as a message listener. The resouce adaper could be the generic JMS adapter deployed in OC4J as the default.
    Resource adapter configuration to support MDBs is included in the standard ra.xml file, which lists the message listener types that the resource adapter supports.
    The MDB developer or deployer configures the MDB in the ejb-jar.xml file, through a <message-driven> element.
    In addition to above, configuration in the ejb-jar.xml file specifies whether an MDB uses transactions.
    1) The <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Container, and the <trans-attribute> subelement of <container-transaction> (under the <assembly-descriptor> element) has a value of Required. In this circumstance, if there is an imported transaction, then message delivery and related work are performed within that transaction. If there is no imported transaction, OC4J creates a transaction, and message delivery and related work are performed within that transaction.
    2) The <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Bean. In this circumstance, the MDB manages the transaction. If a transaction is imported, OC4J will suspend it before the message delivery method call to the MDB, in order to avoid conflict.
    Message delivery is not transacted if the <transaction-type> subelement of <message-driven> in ejb-jar.xml has a value of Container, but the <trans-attribute> element has a value of NotSupported. If there is an imported transaction in this circumstance, OC4J will suspend the transaction before the message delivery method call to the MDB.
    Details could be found from OC4J Resource Adapter Guide.

Maybe you are looking for

  • Possible to supply a hex value to solid's color property?

    I know the AE Scripting Guide specifies that we have to supply an array of RGB values if we wish to change a solid's color property.  I'm just curious if it is possible to supply a hex value in lieu of an RGB array.  Does anybody have any experience

  • Query user device affinity by user.

    I am trying to set up a custom task in Service Manager to start a Remote Control session to a users primary computer. However, SCSM doesn't appear to import any of that data with it's CM connector. So I was looking into creating a query to the CM dat

  • Delivery against PO to a different plant.

    Hi, Plant A creates a PO and asks Vendor to deliver to plant B. Once delivered the stocks are adjusted with an STO from Plant A to Plant B as if stock was received in plant A and transferred to plant B. Is there any other way. Regards, Pratap

  • Transmission Medium NACHA = '8' Special function-executing  output type

    hi All, i have requirement that through the Transmission medium '8' i need to assign the custom program to store  the Smartform as PDF in the desktop location or the location where the user selects. if i assigned the  transmision medium as  8 for par

  • Help with identifying the Model of a Toshiba satellite

    I have a Toshiba Satellite I believe this is a A105, but don't know the full model number. I ran Belarc Advisor. It did not give the full model. Thanks, Bob