Ora-error Stack 00060 Logged In
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About ora-00060 deadlock detected while waiting for resource oracle 11g Us Learn more about Stack Overflow the company Business Learn more about hiring
Ora 00060 Solution
developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the ora 00060 deadlock detected more info in file Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up ORA-00060: deadlock detected while waiting for oracle deadlock resolution resource up vote 14 down vote favorite 5 I have a series of scripts running in parallel as a nohup on an AIX server hosting oracle 10g. These scripts are written by somebody else and are meant to be executed concurrently. All the scripts are performing updates on a table. I am getting the error, ORA-00060: deadlock detected while waiting for resource As I googled for
How To Check Deadlock In Oracle
this, I found, http://www.dba-oracle.com/t_deadly_perpetual_embrace_locks.htm Even though the scripts are performing updation on the same table concurrently, they are performing updates on different records of the table determined by the WHERE clause with no overlaps of records between them. So would this have caused the error?. Will this error happen regardless of where the updates are performed on a table?. Should I avoid concurrent updates on a table at all times?. Strangely I also found on the nohup.out log, PL/SQL successfully completed after the above quoted error. Does this mean that oracle has recovered from the deadlock and completed the updates successfully or Should I rerun those scripts serially? Any help would be welcome. Thanks in advance. database oracle unix plsql aix share|improve this question edited Dec 15 '14 at 21:20 Lajos Veres 10.8k72446 asked Jun 19 '10 at 8:00 wowrt 242238 add a comment| 3 Answers 3 active oldest votes up vote 7 down vote accepted You can get deadlocks on more than just row locks, e.g. see this. The scripts may be competing for other resources, such as index blocks. I've gotten around this in the past by engineering the parallelism in such a way th
MySQL MariaDB PostgreSQL SQLite MS Office Excel Access Word Web Development HTML CSS Color Picker Languages C Language ora-00060 deadlock detected while waiting for resource in informatica More ASCII Table Linux UNIX Java Clipart Techie Humor Advertisement how to fix ora 00060 deadlock detected Oracle Basics ALIASES AND AND & OR BETWEEN COMPARISON OPERATORS DELETE DISTINCT EXISTS FROM GROUP
Attempting To Break Deadlock By Signaling Ora-00060
BY HAVING IN INSERT INSERT ALL INTERSECT IS NOT NULL IS NULL JOIN LIKE MINUS NOT OR ORDER BY PIVOT REGEXP_LIKE SELECT SUBQUERY TRUNCATE UNION UNION http://stackoverflow.com/questions/3074827/ora-00060-deadlock-detected-while-waiting-for-resource ALL UPDATE WHERE Oracle Advanced Oracle Cursors Oracle Exception Handling Oracle Foreign Keys Oracle Loops/Conditionals Oracle Transactions Oracle Triggers String/Char Functions Numeric/Math Functions Date/Time Functions Conversion Functions Analytic Functions Advanced Functions Oracle / PLSQL: ORA-00060 Error Message Learn the cause and how to resolve the ORA-00060 error message in Oracle. Description https://www.techonthenet.com/oracle/errors/ora00060.php When you encounter an ORA-00060 error, the following error message will appear: ORA-00060: deadlock detected while waiting for resource Cause You tried to execute a statement, but your session was deadlocked because another session had the same resource locked. The statement(s) that you tried to execute have been rolled back. Resolution The option(s) to resolve this Oracle error are: Option #1 You can wait a few minutes and try to re-execute the statement(s) that were rolled back. Option #2 You can execute a ROLLBACK and re-execute all statements since the last COMMIT was executed. Share this page: Advertisement Back to top Home | About Us | Contact Us | Testimonials | Donate While using this site, you agree to have read and accepted our Terms of Service and Privacy Policy. We use advertisements to support this website and fund the development of new content. Copyright © 2003-2016 TechOnTheNet.com. All rights reserved.
to the resource contention with other session. Oracles itself does a rollback on your current session and resolve the error. Other session can proceed as usual. The alert.log will record the error with all details. Current session will be rolled back and http://www.acehints.com/2011/06/troubleshoot-fix-ora-00060-deadlock.html need to resubmitted once the required resources are available. Deadlock detected while waiting for resource. In most of the cases the deadlock are caused by application errors. Dead lock Dead lock happens when a session (sess1) wants resource locked by another session (sess2), But that session also wants the resource which is locked by sess1. These can be happened between more than two sessions also with same kind of scenario. Dead Lock Example create table temp deadlock detected ( num number, txt varchar2(10) ); insert into temp values ( 1, 'First' ); insert into temp values ( 2, 'Second' ); commit; select rowid, num, txt from temp; ROWID NUM TXT ------------------ ---------- ---------- AAAAv2AAEAAAAqKABC 1 First AAAAv2AAEAAAAqKABD 2 Second Sess1: update temp set txt='ses1' where num=1; Sess2: update temp set txt='ses2' where num=2; update temp set txt='ses2' where num=1; > Sess2 00060 deadlock detected is now waiting for the TX lock held by Sess1 Sess1: update temp set txt='sess1' where num=2; This update would cause Sess1 to wait on the TX lock held by Sess2, but Sess2 is already waiting on this session. This causes a deadlock scenario so one of the sessions signals an ORA-60. Sess2: ORA-60 error Sess1: Still blocked until Sess2 completes the transaction (either commits or rolls back) as ORA-60 only rolls back the current statement and not the entire transaction. How to check the error details Ora-00060 error normally records the details in alert.log and also in the trace file. The trace file will be created in USER_DUMP_DEST and sometimes in background_dump_dest. Trace file will contain a deadlock graph and additional information. ----------------------------------------------------------------------- DEADLOCK DETECTED Current SQL statement for this session: update temp set txt='ses2' where num=1 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-00020012-0000025e 12 11 X 11 10 X TX-00050013-0000003b 11 10 X 12 11 X session 11: DID 0001-000C-00000001 session 10: DID 0001-000B-000