Deadlock ORA-00060 with Transformations
Hi everyone,
we are on SP 10 together wih Oracle 10.2.0.2.0. In our development system I made already some big test loads (~Mio entries) from Data Store to cube. As sometimes in 3.0B we get a self-deadlock because processes killed each other, but now it happens more often. The bad thing with such an error from a Data Store to cube, that there is no possibility to make a manual update so a restart is necessary.
Has anyone suffered the same? Any proposals others than too less data or use PSA and Update-rules?
My current solution is to set the data-package size so high that the load is done in one package, what is really not a good solution. Is there a possibility to reduce the paralellility to one at a cube load other than my method?
Best regards
Harald.
Hi Harald,
Kindly look into the following notes :
980555 ORA 600 [kdtdelrow-2] during insert with deadlock
1015152 ORA 600 [kdtdelrow-2] during insert in Oracle 10.2.0.2
1003217 ORA-600 [kdiblLockRange:not validated] during an insert
hope this helps,
Regards
KK
Similar Messages
-
How to avoid deadlock - ORA-00060 in trigger
Hi,
We are using 11.2.0.3 and have a trigger which acts upon a mutex table.
Trying to catch when value from other program has changed locked value from 0 to 1 to indicate they have finished.
Once they finished we need to lock the mutex table by updating locked value.
Code below gives error ORA-00060 - deadlock.
Any idea how to avoid but allow us to updat ethe mutex table in trigger at star t to say we are locking and at end to indicate we are finished.
Thanks
CREATE OR REPLACE TRIGGER example_trg AFTER UPDATE
ON por_zic_flags
FOR EACH ROW
when (NEW.locked = '0' and old.locked = '1')
declare
PRAGMA AUTONOMOUS_TRANSACTION;
I INTEGER;
v_locked por_zic_flags.locked%type;
begin
select locked
into v_locked
from por_zic_flags
--where tabname = ‘table name’
for update;
update por_zic_flags set locked = '2';--, guid = '100'; -- unique seq#
commit;
-- call procedure do processing on other tables
-- Now indicate finished processing
select locked
into v_locked
from por_zic_flags
for update;
update por_zic_flags set locked = '0';--, guid = '100'; -- unique seq#
commit;
end;>
Trying to catch when value from other program has changed locked value from 0 to 1 to indicate they have finished.
Once they finished we need to lock the mutex table by updating locked value.
Code below gives error ORA-00060 - deadlock.
Any idea how to avoid but allow us to updat ethe mutex table in trigger at star t to say we are locking and at end to indicate we are finished.
>
Triggers should not be used for non-transactional purposes like this.
A simple SELECT . . . WHERE (myLock = 'UNLOCKED') FOR UPDATE can be used to query the record and lock it if the lock is not already set. Then your code can update the lock value and that will prevent the same query by other users from being successful.
But you haven't really provided any information about what you are trying to do.
If you want to prevent two processes from executing at the same time you can use Oracle's LOCK functionality.
See this thread for how to use DBMS_LOCK to create your own locks that can serialize access to your procedures.
Re: possible to lock stored procedure so only one session may run it at a time? -
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 -
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 -
ORA-00060: Deadlock detected
I getting error as "ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/.................". Following are my observations on the occurence of this error.
The deadlock is encountered first time when trying to login to applications. I have R12 vision instance on linux.
Following the content of the alert_VIS.log file
Mon Jun 15 04:41:41 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_1 parameter default value as /d01/oracle/VIS/db/tech_st/10.2.0/dbs/arch
Autotune of undo retention is turned on.
IMODE=BR
ILAT =44
LICENSE_MAX_USERS = 0
SYS auditing is disabled
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.3.0.
System parameters with non-default values:
tracefiles_public = TRUE
processes = 200
sessions = 400
timed_statistics = TRUE
shared_pool_size = 419430400
shared_pool_reserved_size= 41943040
nls_language = american
nls_territory = america
nls_sort = binary
nls_date_format = DD-MON-RR
nls_numeric_characters = .,
nls_comp = binary
nls_length_semantics = BYTE
sga_target = 1073741824
control_files = /d01/oracle/VIS/db/apps_st/data/cntrl01.dbf, /d01/oracle/VIS/db/apps_st/data/cntrl02.dbf, /d01/oracle/VIS/db/apps_st/data/cntrl03.dbf
db_block_checksum = TRUE
db_block_size = 8192
compatible = 10.2.0
log_buffer = 14251008
log_checkpoint_interval = 100000
log_checkpoint_timeout = 1200
db_files = 512
log_checkpoints_to_alert = TRUE
dml_locks = 10000
undo_management = AUTO
undo_tablespace = APPS_UNDOTS1
db_block_checking = FALSE
O7_DICTIONARY_ACCESSIBILITY= FALSE
session_cached_cursors = 500
utl_file_dir = /usr/tmp, /usr/tmp, /d01/oracle/VIS/db/tech_st/10.2.0/appsutil/outbound/VIS_oracleebsr12, /usr/tmp
plsql_native_library_dir = /d01/oracle/VIS/db/tech_st/10.2.0/plsql/nativelib
plsql_native_library_subdir_count= 149
plsql_code_type = native
plsql_optimize_level = 2
job_queue_processes = 2
systemtrig_enabled = TRUE
cursor_sharing = EXACT
parallel_min_servers = 0
parallel_max_servers = 8
background_dump_dest = /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump
user_dump_dest = /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump
max_dump_file_size = 20480
core_dump_dest = /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/cdump
db_name = VIS
open_cursors = 600
ifile = /d01/oracle/VIS/db/tech_st/10.2.0/dbs/VIS_oracleebsr12_ifile.ora
sortelimination_cost_ratio= 5
btree_bitmap_plans = FALSE
fastfull_scan_enabled = FALSE
sqlexecprogression_cost= 2147483647
likewith_bind_as_equality= TRUE
pga_aggregate_target = 1073741824
workarea_size_policy = AUTO
optimizer_secure_view_merging= FALSE
aq_tm_processes = 1
olap_page_pool_size = 4194304
Mon Jun 15 04:42:05 2009
WARNING:Oracle instance running on a system with low open file descriptor
limit. Tune your system to increase this limit to avoid
severe performance degradation.
PSP0 started with pid=3, OS id=6824
PMON started with pid=2, OS id=6822
MMAN started with pid=4, OS id=6826
DBW0 started with pid=5, OS id=6828
CKPT started with pid=7, OS id=6832
SMON started with pid=8, OS id=6834
RECO started with pid=9, OS id=6836
CJQ0 started with pid=10, OS id=6838
LGWR started with pid=6, OS id=6830
MMON started with pid=11, OS id=6840
MMNL started with pid=12, OS id=6842
Mon Jun 15 04:42:19 2009
ALTER DATABASE MOUNT
Mon Jun 15 04:42:25 2009
Setting recovery target incarnation to 2
Mon Jun 15 04:42:27 2009
Successful mount of redo thread 1, with mount id 243370348
Mon Jun 15 04:42:27 2009
Database mounted in Exclusive Mode
Completed: ALTER DATABASE MOUNT
Mon Jun 15 04:42:28 2009
ALTER DATABASE OPEN
Mon Jun 15 04:42:48 2009
Thread 1 opened at log sequence 16
Current log# 3 seq# 16 mem# 0: /d01/oracle/VIS/db/apps_st/data/log3.dbf
Successful open of redo thread 1
Mon Jun 15 04:42:48 2009
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Mon Jun 15 04:42:48 2009
SMON: enabling cache recovery
Mon Jun 15 04:42:48 2009
Incremental checkpoint up to RBA [0x10.a779.0], current log tail at RBA [0x10.a779.0]
Mon Jun 15 04:43:01 2009
Successfully onlined Undo Tablespace 18.
Mon Jun 15 04:43:01 2009
SMON: enabling tx recovery
Mon Jun 15 04:43:04 2009
Database Characterset is UTF8
Mon Jun 15 04:43:18 2009
replication_dependency_tracking turned off (no async multimaster replication found)
Mon Jun 15 04:43:44 2009
Starting background process QMNC
QMNC started with pid=14, OS id=6884
Mon Jun 15 04:46:48 2009
Completed: ALTER DATABASE OPEN
Mon Jun 15 05:03:23 2009
Incremental checkpoint up to RBA [0x10.b1bd.0], current log tail at RBA [0x10.b1f3.0]
Mon Jun 15 05:23:33 2009
Incremental checkpoint up to RBA [0x10.b5b3.0], current log tail at RBA [0x10.b5c2.0]
Mon Jun 15 05:45:12 2009
Incremental checkpoint up to RBA [0x10.b7b0.0], current log tail at RBA [0x10.fbce.0]
This is upto the point where all DB and application services has been started.
Once trying to login to applications following content got appended to the log file
Mon Jun 15 05:53:39 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:53:51 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:54:02 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:54:12 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:54:22 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:54:28 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:54:35 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:54:42 2009
ORA-00060: Deadlock detected. More info in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/udump/vis_ora_8149.trc.
Mon Jun 15 05:59:06 2009
Process J000 died, see its trace file
Mon Jun 15 05:59:11 2009
kkjcre1p: unable to spawn jobq slave process
Mon Jun 15 05:59:11 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6838.trc:
Mon Jun 15 05:59:23 2009
Process J000 died, see its trace file
Mon Jun 15 05:59:24 2009
kkjcre1p: unable to spawn jobq slave process
Mon Jun 15 05:59:24 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6838.trc:
Mon Jun 15 05:59:50 2009
Process J000 died, see its trace file
Mon Jun 15 05:59:50 2009
kkjcre1p: unable to spawn jobq slave process
Mon Jun 15 05:59:50 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6838.trc:
I did the TKPROF on .trc files but the tkprof file does not show any details as such except similar to :- (don't know if I am missing anything while issuing TKPROF as $ tkprof filename.trc
filename.txt explain=apps/apps)
TKPROF: Release 10.2.0.3.0 - Production on Mon Jun 15 06:07:14 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Trace file: /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6838.trc
Sort options: default
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
0 statements EXPLAINed in this session.
Trace file: /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6838.trc
Trace file compatibility: 10.01.00
Sort options: default
1 session in tracefile.
0 user SQL statements in trace file.
0 internal SQL statements in trace file.
0 SQL statements in trace file.
0 unique SQL statements in trace file.
22 lines in trace file.
0 elapsed seconds in trace file.
Yesterday, I did login to applications after multiple attempts and tried submitting a concurrent request of a standard report (after resolving the data block corrupt issue) and got the same ORA-00060 Error.
I have a fresh VISION R12 (12.0.4) installed without any customizations. My installation looks to be quite unstable, takes 2-3 attempts for successful login to apps.
Can you please give any clues on this and how to overcome the problem?
Thanks,
AmitI have run cmclean.sql as per :- Re: R12 Vision install - Unable to submit concurrent request
This is the only change made. No new patches etc. Before running cmclean.sql I believe the instance was working fine.
Now everytime I start the application services, its causing ORA=00060: Deadlock error. There are no issues with just DB services up and running.
And after apps services up, when trying to Login to apps it just hangs, get error as follows:
Tue Jun 23 02:04:55 2009
Process J001 died, see its trace file
Tue Jun 23 02:04:55 2009
kkjcre1p: unable to spawn jobq slave process
Tue Jun 23 02:04:55 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6747.trc:
Tue Jun 23 02:05:04 2009
Process q002 died, see its trace file
Tue Jun 23 02:05:04 2009
ksvcreate: Process(q002) creation failed
Tue Jun 23 02:05:55 2009
Process J000 died, see its trace file
Tue Jun 23 02:05:55 2009
kkjcre1p: unable to spawn jobq slave process
Tue Jun 23 02:05:55 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6747.trc:
Tue Jun 23 02:06:11 2009
Process J000 died, see its trace file
Tue Jun 23 02:06:11 2009
kkjcre1p: unable to spawn jobq slave process
Tue Jun 23 02:06:11 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6747.trc:
Tue Jun 23 02:08:51 2009
Process J000 died, see its trace file
Tue Jun 23 02:08:52 2009
kkjcre1p: unable to spawn jobq slave process
Tue Jun 23 02:08:52 2009
Errors in file /d01/oracle/VIS/db/tech_st/10.2.0/admin/VIS_oracleebsr12/bdump/vis_cjq0_6747.trc:
The OS also hangs (Linux) and I have to exit abnormally everytime which is frustrating.
I am not sure the reason for the same. I have gone through the metalink notes pointed which says to install the health check engine.
Do you have any clues based on above information as to what might be causing this problem.
I have 4 GB RAM installed on my Windows and 2 GB has been allocated to Linux on VMware.
Please let me know if I need to upgrade the memory.
Any pointers would be really helpful.
Thanks,
Amit -
Database error"ORA-00060: deadlock detected while waiting for resource"
Hi All,
I got dump as
Database error text........: "ORA-00060: deadlock detected while waiting for
resource"
Internal call code.........: "[RSQL/RDUP/NRIV ]"
Please check the entries in the system log (Transaction SM21).
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught
in
procedure "READ_NRIV" "(FORM)", nor was it propagated by a RAISING clause.
Can u ppl tell me how to get correct this?
Edited by: Bala Chandar on Jul 20, 2009 11:01 AMHi Bala,
Same type of dump we got when we trigger the DTP which in process chain to load data from DSO to Info cube. And the load had processed with 225 data package and at 164th data package we got this error and except 164th data package all data package processed successfully
And the request was red. So we had done processed manually by clicking the icon. So all its been green and successfully loaded.
So when you do process manual the particular data package which got failed will be process successfully -
ORA-00060 "deadlock detected while waiting for resource"
Hello.
I am having an oracle deadlock when calling a stored procedure (wich updates several records in several tables) from several threads: ORA-00060 error. The error does not happen very often but from time to time, normally the calls to this proceudre end ok.
Each call starts and ends a transaction. (When the oracle error raises the transaction where it raises is rolled back) and the other transactions can go on.
I don't how to avoid it. Should it be solved at the stored procedure level or could it be solved at java level by doing the call to the stored procedure to be synchronized?
Thanks in advance.Fernando_Sanchez wrote:
Hello.
I am having an oracle deadlock when calling a stored procedure (wich updates several records in several tables) from several threads: ORA-00060 error. The error does not happen very often but from time to time, normally the calls to this proceudre end ok.Which doesn't really sound good.
If you have a java thread then to do JDBC, regardless of what type, you get a new connection and new statements in each one.
If you are not doing that then that is a problem.
If you are doing that then the thread information is irrelevant at the java level.
You can of course do all sorts of interesting things with locks and transactions in Oracle and via stored procs but other ways as well. And if you are not careful it will cause problems. -
ORA-00060: deadlock detected while waiting for resource CLOSE cursor
Hi,
I am a new member of this forum. I am working with a problem we got a few weeks ago. It is from a Pro C batch executable running on 10 threads dealing with >800 data accessed from multiple tables. The error as reported came from a package.function call.
This is the error I encountered:
process_item~G****, D***~-60~ORA-00060: deadlock detected while waiting for resource~PACKAGE ERROR = CLOSE cursor C_***** in package R***.I*** 7641
The cursor is a simple SELECT cursor without Table or Record locking.
My questions are:
*Upon the occurrence of this error, is the execution already at the CLOSE cursor line or did the error occurred between the OPEN cursor and the CLOSE cursor? There are several lines of code in between OPEN and CLOSE:
- one that calls for a package.function that simply stores parameter values to a variable
- another one which fetches the cursor. The group that holds the cursor values is only used by a single function in the package
*Is it possible for this CLOSE cursor to cause a deadlock? What could have caused this?
*From what I know, Oracle deals with deadlocks by aborting the deadlocking process while others continue, but this deadlock caused our program to hang. How is this possible? Could the root cause of the deadlock be from our threading program? This is a rare occurrence and happened only twice this year.
Thanks,
RafRaf Serrano wrote:
Hi,
I am a new member of this forum. I am working with a problem we got a few weeks ago. It is from a Pro C batch executable running on 10 threads dealing with >800 data accessed from multiple tables. The error as reported came from a package.function call.
This is the error I encountered:
process_item~G****, D***~-60~ORA-00060: deadlock detected while waiting for resource~PACKAGE ERROR = CLOSE cursor C_***** in package R***.I*** 7641
The cursor is a simple SELECT cursor without Table or Record locking.
My questions are:
*Upon the occurrence of this error, is the execution already at the CLOSE cursor line or did the error occurred between the OPEN cursor and the CLOSE cursor? There are several lines of code in between OPEN and CLOSE:
- one that calls for a package.function that simply stores parameter values to a variable
- another one which fetches the cursor. The group that holds the cursor values is only used by a single function in the package
*Is it possible for this CLOSE cursor to cause a deadlock? What could have caused this?
*From what I know, Oracle deals with deadlocks by aborting the deadlocking process while others continue, but this deadlock caused our program to hang. How is this possible? Could the root cause of the deadlock be from our threading program? This is a rare occurrence and happened only twice this year.
Thanks,
RafSELECT (without FOR UPDATE) statements are never involved in ORA-00060.
only DML statements throw ORA-00060 error -
Deadlock detected as ORA-00060
hi,
deadlock detected in DEV box with below warnings :
BR0976W Database message alert - level: WARNING, line: 38869, time: 2008-05-12 00.31.38, message:
ORA-00060: Deadlock detected. More info in file /oracle/DV1/saptrace/usertrace/dv1_ora_1187980.trc .
BR0280I BRCONNECT time stamp: 2008-05-12 06.20.37
I checked at OS level also. I found following message :
DEADLOCK DETECTED ( ORA-00060 )
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-0012000c-00003699
21
37
X
19
25
X
TX-0007001c-000035f9
19
25
X
21
37
X
session 37: DID 0001-0015-0000000A
session 25: DID 0001-0013-00000016
session 25: DID 0001-0013-00000016
session 37: DID 0001-0015-0000000A
Rows waited on:
Session 25: obj - rowid = 0000489B - AAAEibAAfAAAAUTAAE
(dictionary objn - 18587, file - 31, block - 1299, slot - 4)
Session 37: obj - rowid = 0000489B - AAAEibAAfAAAAUPAAa
(dictionary objn - 18587, file - 31, block - 1295, slot - 26)
Information on the OTHER waiting sessions:
can anybody help me out for exact solution..
regards
AnjuHi,
When you are facing this problem you have to identify the process which is causing the deadlock. You can run DB01 transaction to see the lock waits and deadlocks occured in Database level. So find the PID which is causing the deadlocks, analyze the process what it is doing and its importance by contacting the user who is running the process and then terminate it to resolve the deadlock.
Regards,
N.Amarnath -
How to resolve ORA-00060: deadlock detected in Workflow
Hi there,
I have defined a custom workflow which initiated from Trigger
AFTER UPDATE of status_code ON pa.pa_proj_elements
The WF activities includes:
-Set item attributes
-Find users and add users to adhoc role
-Send Action & FYI notification
-Update status_code using standard API PA_PROGRESS_PUB.UPDATE_PROGRESS, this API will add a new role in pa_percent_completes table.
But the API failed to update the status_code with the following error:
ORA-00060: deadlock detected while waiting for resource in Package PA_PROGRESS_PUB Procedure UPDATE_PROGRESS...
Please help.sorry, typo mistake on the standard API will in fact create a row in pa_percent_completes table.
-
Fix for ORA-00060: Deadlock detected errors
Hello APEX community,
in the last days we are hitting more and more frequent the ORA-00060: Deadlock detected error in one of our applications. Logged an SR with Oracle Support but so far not too much help, except pointing to some older bugs:
Bug 6618662: APEX APPEARS TO BE CAUSING DEADLOCK - CASE COLLECTION or Bug 7587013: INSERTING AND DELETING WWV_FLOW_DATA CAUSES DEADLOCK, which do not look at all appealing as the first bug was logged in Nov 2007 and the resolution was delayed from version 3.1, to 4.0 and even to 4.1, while de second was logged in Nov 2008 and not much happened with it.
I am curious how many other users are hitting the same issue and which workarounds found for the problem. For example yesterday I could see 12 such errors in my log, today already 3.
FlorinHi John,
here it is: http://www.moyersoen.be/auction/1442/ or http://www.moyersoen.be/pls/apex/f?p=2008:11:0::::P11_AUCTION_ID:1442. Normally the page response time is < 0.20, but from time to time it goes up to more than 20 seconds and at those times I can see also the ORA-00060: Deadlock detected errors.
Looks like the users are clicking twice refresh for that page. I am trying now to build a testcase that reproduce the issue easily.
Florin -
Sqlldr- ORA-00060: deadlock detected while waiting for resource
Hi Team,
My database version is 11.1.0.7.0. I am loading the data using sqlldr. I am getting the error ORA-00060: deadlock detected while waiting for resource. once dead lock detected ,whether data will be rejected after commit point reached(Rows=100000). FYI information only sqllder is running on the database,it is getting completed withing 5-10min. please help me whether any other lock happening on this due to sqllder.
sqlldr userid=orcl/orcle control=".$controlfile." log=".$logfile.".log data=".$datafile." bad=".$badfile." discard=".$discardfile." Bindsize=19000000 Rows=100000 Readsize=20000000 Errors=1000000";
Thanks in advanceuser9256814 wrote:
Hi Team,
My database version is 11.1.0.7.0. I am loading the data using sqlldr. I am getting the error ORA-00060: deadlock detected while waiting for resource. once dead lock detected ,whether data will be rejected after commit point reached(Rows=100000). FYI information only sqllder is running on the database,it is getting completed withing 5-10min. please help me whether any other lock happening on this due to sqllder.
sqlldr userid=orcl/orcle control=".$controlfile." log=".$logfile.".log data=".$datafile." bad=".$badfile." discard=".$discardfile." Bindsize=19000000 Rows=100000 Readsize=20000000 Errors=1000000";
Thanks in advanceadditional clues will exist within alert_SID.ora file & subsequent trace file. -
ORA-00060: deadlock detected while adding a datafile
Hello all,
I found a strange error today.
We were trying add datafile to our existing tablespace as usually but suddenly caught in a problem.
SQL> alter tablespace erp_dat2 add datafile '/hotdata2/irsdata/erp_dat2irs_145.dbf' size 2000M;
alter tablespace erp_dat2 add datafile '/hotdata2/irsdata/erp_dat2irs_145.dbf' size 2000M
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resourcelooks very strange.Searched on google but not found something useful.Still searching.No trace file is generated as such.
Any ideas will be appreciated. Is it related to any batch job running?
OS : SunOS 5.10 Generic_142900-13 sun4u sparc SUNW,Sun-Fire (64-bit)
RDBMS : 11.1.0.7
Regards!
Edited by: Nitin Joshi on Sep 30, 2010 3:41 PM
Changed subject lineseems like you're hitting a bug in 11.1.0.7
Bug 8332021 - Cannot add a datafiles when sessions reporting ORA-1653 [ID 8332021.8]
ORA-60 can occur during datafile addition when concurrent sessions
are reporting ORA-1653 .>>Workaround:
>> Stop the sessions getting the errors then add the datafile. -
When does Oracle throw the ORA-00060 , Deadlock error
Hi,
To test the "ORA-00060: Deadlock detected" we tried the below steps on scott schema.
First session -
update emp set sal=9999 where name='JACK';
Second session -
update emp set sal=5555 where name='JACK';
We used the below query to find out which SID is locking the other;
select l1.sid, ' IS BLOCKING ', l2.sid from v$lock l1, v$lock l2 where l1.block =1 and l2.request > 0 and l1.id1=l2.id1 and l1.id2=l2.id2;
-- We got the SID's
But in the alert log we are still not able to see the ORA-00060 error.
Why is this ? In which scenario do we see the ORA-00060 error in alert log ?
Please guide.
Thanks.What you describe is just a blocking lock, not a deadlock.
The first session can simply do commit and the second session can then continue.
In a deadlock situation, nobody can commit if the system does not resolve the problem by rolling back one of the transactions:
session1: lock row 1
session 2: lock row 2
session 1: try lock row 2 <- wait on session 2
session 2: try lock row 1 <- wait on session 1
both wait, enter ORA-600
Kind regards
Uwe Hesse
http://uhesse.wordpress.com -
Hi,
I'm getting following exception:
Caused by: net.sf.hibernate.exception.GenericJDBCException: could not update: [com.sample.database.hibernate.mappings.reference.impl.TaskImpl#156979998]
at net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90)
at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79)
at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:30)
at net.sf.hibernate.persister.AbstractEntityPersister.convert(AbstractEntityPersister.java:1332)
at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:683)
at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:623)
at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2438)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2392)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2260)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at com.sample.database.hibernate.util.HibernateUtil.doSessionWork(HibernateUtil.java:83)
... 8 more
Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:158)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:623)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:685)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1138)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3018)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3090)
at com.mchange.v2.sql.filter.FilterPreparedStatement.executeUpdate(FilterPreparedStatement.java:71)
at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:666)
... 15 more
what could be the reason??
thanks.The error is coming from an application. Please check the alert log file of the database and further there will be a trace file mentioned in the alert log file in which you will have information of the object which is causing deadlock.
Regards
Maybe you are looking for
-
Slow performance on Intel Mac a damaged disk?
Hi, I'm experiencing very slow performance on my Intel Mac 216 Ghz core duo, with 2GB 667 MHz DDR2 SDRAM. Running OS 10.6.8. Have been experiencing reduced performance, can't use Entourage email or Chrome, Firefox browsers at the same time. Ran Utili
-
Hello Everyone, I am starting to learn Flash and created a form mailer for a website I am working on. The following code is what I have in AS3.0 and it all loads fine in the web browser, but I do not receive the email with the info. var address:Stri
-
The error of RCIRAS0546 occurs while try to save a DeskI document
while try to save a DeskI File in Infoview, the error ""Your request could not be completed because a failure occured while the report was being processed. Please contact your system administrator.[RCIRAS0546]" occurs . It appears with almost all use
-
Revision: 14337 Revision: 14337 Author: [email protected] Date: 2010-02-22 12:31:24 -0800 (Mon, 22 Feb 2010) Log Message: Revert this file from mirroring PARB change 14431 until I can figure out why it is causing a graphic test failure. QE note
-
Would I be able to boot from USB on my Macbook Pro if my logic board was damaged?
My macbook pro recently started to slow down, programs freeze, etc. Odd behavior. So I decided to install a clean version of os. My hard drive came up as corrupt, I need to repair. So I did that. And was unable to install to os. It starts up and then