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 -> Re: DML through DBLink

Re: DML through DBLink

From: Mark D Powell <Mark.Powell_at_eds.com>
Date: 15 May 2006 06:43:18 -0700
Message-ID: <1147700598.462140.18400@i39g2000cwa.googlegroups.com>


If A calls B and B calls C each of the callers should wait until the called procedure completes and control is returned to the caller. This is true for non-distributed and distributed transactions.

So when C compltes control is returned to B which then continues processing the next statement after the call. When B is complete control is returned back to A which then continues.

I am not sure what kind of error you are experiencing but if A is hanging then take a look at the error handling in all three routines. Failure to capture and respond to errors is a common cause of problems.

Also look at the distributed transaction dictionary views. If a distributed transaction has a problem information about the transaction should appear in dba_2pc_neighbors, dba_2pc_pending, deftran, and deftrandest.

Also remember that a distributed select is a transaction and needs to be committed to release resources held for two-phase commit.

Why does it seem that a select over a db link requires a commit after execution?
 http://www.jlcomp.demon.co.uk/faq/dblink_commit.html

If none of this helps then run session traces and Oranet traces on the processes.

HTH -- Mark D Powell -- Received on Mon May 15 2006 - 08:43:18 CDT

Original text of this message

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