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 BastellYou 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 (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
EricAnybody? 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 -
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.
WeiHere 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,
MirkoThe 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- -
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-BASISHi,
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