Re: ORA-600 Deadlock Issues

  • From: Mladen Gogala <gogala@xxxxxxxxxxxxx>
  • To: karthik@xxxxxxxxx
  • Date: Sat, 25 Jun 2005 02:31:02 +0000

On 06/24/2005 09:59:21 PM, Karthik wrote:
> Hello,
> 
> I have code that consistently bombs due to ORA-600 - Deadlock Detected. 
>   The code base is very complex, and a bunch of tables get updated via 
> direct updates/triggers etc., so debugging at the app level is proving 
> nightmarish.
> 
> Is there any way I can get a hint (from alert.log or elsewhere) where 
> the contention is?
> 
> Thanks for your help.
> Karthik


You have a problem with the CPU, which is multiplying the error code
by 10. Let me guess: Intel inside? 
Deadlock used to be ORA-0060. ORA-0600 is a little bit, hmmm, different.
It ain't better, that's for sure.
How to handle deadlocks? Well, one way of seeing what the problem is is
to do the following:

SQL> alter session set events='60 trace name errorstack forever, level 12';

Session altered.

SQL>

If and when you encounter error IN THAT SESSION (you may well encounter it in
another session), you will get a trace specifying everything. If you'd like it
to apply to the whole system,  you may try "alter system set events" instead 
or, if you have a SYSDBA connection, the this:

SQL> oradebug event 60 trace name errorstack forever, level 12
Statement processed.
SQL>


Also, you can try with hanganalyze. It looks like this:

SQL> oradebug hanganalyze 3
Hang Analysis in /oracle/product/10g/admin/oracle/udump/10g_ora_7521.trc
SQL>

You can find more about the hanganalyze utility in the note 215858.1 or,
if I'm not mistaken, in NYOUG publication from June.
-- 
Mladen Gogala
Oracle DBA


--
//www.freelists.org/webpage/oracle-l

Other related posts: