Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> AUTONOMOUS_TRANSACTION and distributed transactions (ORA-01476)

AUTONOMOUS_TRANSACTION and distributed transactions (ORA-01476)

From: Qvx <qvx3000_at_yahoo.com>
Date: 28 Oct 2002 05:25:08 -0800
Message-ID: <8b2d5523.0210280525.7766c1ca@posting.google.com>


I have something like this:

PROCEDURE log_error_autonomous (...) IS
  PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
...

END; PROCEDURE log_error_normal (...) IS
BEGIN
...

END; PROCEDURE log_error (...) IS
BEGIN
  log_error_autonomous(...);
EXCEPTION
  WHEN OTHERS THEN
    log_error_normal(...);
END; I allways use log_error(). It calls autonomous version of logging procedure. If that call fails (for example, because of ORA-01476) it calls normal logging procedure. Anyway, that is what I planned. But instead, I allways get ORA-01476 which doesn't result in calling the log_normal() procedure within exception handler. Error simply propagates all the way to the top. What is happening? Is there some another way to know which function to call (autonomous or normal), based on the fact that distributed transaction is maybe in progress? Received on Mon Oct 28 2002 - 07:25:08 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US