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

Home -> Community -> Usenet -> c.d.o.misc -> Re: How to use the SAME transaction in a distributed environment

Re: How to use the SAME transaction in a distributed environment

From: Galen Boyer <galenboyer_at_hotpop.com>
Date: 24 Dec 2004 11:23:03 -0600
Message-ID: <ud5wzjudh.fsf@hotpop.com>


On 23 Dec 2004, allond_at_fts-soft.com wrote:
> Hi All,
> I'm looking for a possible solution to the following problem:
>
> 1. My application consists of 2 separate processes (lets call them A
> and B), running on 2 separate machines (using CORBA as middleware)
> 2. Both A & B are using the SAME Oracle-DB instance (probably the same
> schema too - but not necessarily)
> 3. The tables are separate (A has its own tables, and so does B)
> 4. I want to implement kind of a "distributed" transaction:
> a. A will start a transaction, do it's INSERTs, and then "pass" the
> transaction to B.
> b. B will do it's INSERTs, on the transaction it got from A
> c. The COMMIT can be done either by A (after B finishes) or by B.
>
> Does Oracle have any solution for this issue?
> (I'm using Oracle 9i, C++, and OTL)

No server will guarantee an outside process transactional integrity across processes. Oracle can handle 2 phase commits, but Oracle must be in control of it. EJBs can handle 2 phase commits but the container must be in control. What you can't do is ask Oracle to guarantee the transactional integrity across two unrelated processes.

-- 
Galen deForest Boyer
Sweet dreams and flying machines in pieces on the ground.
Received on Fri Dec 24 2004 - 11:23:03 CST

Original text of this message

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