RE: Distributed transactions (two-phase commint) without DB links

  • From: "MacGregor, Ian A." <ian@xxxxxxxxxxxxxxxxx>
  • To: <gorbyx@xxxxxxxxx>, "oracle-L@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 14 Mar 2005 13:33:39 -0800

It's been quite a few years, but before Oracle announced their 2PC =
mechanism, I wrote a program which required data to be committed on two =
different databases.  The Pro*C connection opened up to connections.  =
You could then say for example, 'EXEC SQL AT CONNECTION1 INSERT..." AND =
"EXEC SQL at CONNECTION2  INSERT..."   and commit them as a single =
transaction.

I don't know if I would recommend it today.  The application was written =
close to 15 years ago.  It was what was available at the time. =20

Ian MacGregor
Stanford Linear Accelerator Center
ian@xxxxxxxxxxxxxxxxx

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx =
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Alexander Gorbachev
Sent: Monday, March 14, 2005 11:55 AM
To: oracle-L@xxxxxxxxxxxxx
Subject: Distributed transactions (two-phase commint) without DB links

Hi all,

We are facing the problem with design of a new application.
Historically, we have been successful in pursuing our rules that DB
links are not acceptable in our environment. Until now, we've managed
to follow this rule and stay "link-free".

Developers of a new project reqire DB links. The problem is that
project deadlines are very pressing and we might be forced to comply
with their requirements for distributed transactions on the database
tier. I don't think that there will be any TP monitor in use so
probably no help from this side.

I have briefly reviewed Oracle documentation and found that there are
some OCI functions for implementation of distributed transactions. As
far as I understand it's possible to apply them on OCI client side (to
be precise, I couldn't find that it's not possible so I assumed) so
that a binary can open two sessions and commit globally.

I would be very interesting if someone could share any experince with
that. White papers, feasibility, complexity, problems, etc.

To define the problem again:
---------------------
We need a way to connect from application tier to two (or more)
databases and perform global transaction with two-phase commit.
---------------------

Thanks in advance!

--=20
Best regards,
Alex Gorbachev
--
//www.freelists.org/webpage/oracle-l
--
//www.freelists.org/webpage/oracle-l

Other related posts: