Re: Oracle & IBM two phase commit

From: Magnus Lonnroth <mloennro_at_se.oracle.com>
Date: 10 Feb 94 09:51:50 GMT
Message-ID: <MLOENNRO.94Feb10095150_at_demo1.se.oracle.com>


In article <1994Feb9.113404.38_at_meyad.co.il> danny_at_meyad.co.il writes:

> Does anyone know of a product which can communicate with both Oracle
> and IBM Mainframe's VSAM/IMS/DB2?
>

Yes. Oracle Open Gateway Technology v3. Comes in 2 flavours: Transparent Gateway (SQL-based acces via db-links) and Procedural Gateway (PL/SQL based access via remote procedure calls, e.g. procedures, functions and packages). You have the option of purchasing tailormade gateways from us (we have one for DB/2), or developing one yourself with either the Transparent Gateway Developer's Kit or the Procedural Gateway Developer's Kit (or buying one from one of our VARs for sybase, ingres, informix etc).

Writing gateways is not very difficult. For a SQL-based gateway, it's very much like writing a Pro*C dynamic SQL method 4 program *backwards*: the gateway has a lot of predefined functions and function-flows. You write the functions to fill in descriptors required by Oracle. Depending on what type of transactionmodel you choose to implement in your gateway, the gateway can be read-only, read-write, etc. To participate in a 2-phase commit your foreign database must have transaction-memory. This can be implemented by the gateway-code. During a 2-phase commit, the gateway must be commit-point site, eg. it will be instructed to commit by the coordinating node after other participating nodes have prepared. The bottom line is that databases with no transaction-memory or 2-phase commit capabilities like Oracle v6 and DB/2, can actually participate in distributed transactions. Please note that since the gateway *must* be commit-point site, only *one* gateway can participate in a distributed transaction.

The tailor-made Transparent Gateway for DB/2 is read/write and can participate in distributed transactions. All v3 gateways require an Oracle7 integrating server. So your clients connect to an Oracle7 database, and then access DB/2 through database-links to the gateway. For read/write access, the Oracle7 database must have the distributed option, and you must use SQL*Net v2 to reach the gateway.

> Basically, I am looking for a product which can functionally serve
> to create a "two-phase" commit between Oracle and and one (or
> combination of the above. Essentially, I want the product to read
> values from one side (Either Oracle or the native IBM), insert (or
> update) the values on the other side, and finally perform a commit on
> both sides. Of-course, rollback should occur, likewise, in the event of
> a rollback on one side. The product may reside on either the
> Mainframe or a Unix machine (Unix preferred).
>

The tailormade gateway for DB/2 resides on the mainframe. You may choose to implement your own gateway on the unix-side, and then use APPC or some other network-protocol in the gateway.

> Any suggestions are welcome. Also, someone mentioned Tuxedo. Does
> this product perform the above?
>
> Additionally, if there is a gateway product which may require
> minimal programming, I am willing to entertain the possibility.
>

We also have a tailor-made procedural gateway for CICS, and a tailor-made transparent gateway for DRDA.

> Thanks in advance.
>
> Danny
>
> +----------------------------------------------------------------------+
> |Danny Nir \_\_ \_\_ \_\_\_\_\_ Meyad Computers|
> |danny_at_meyad.co.il \_ \_ \_ Moshav Ya'ad|
> |Tel:972-4-909966 \_ \_ D.N. Misgav|
> |Fax:972-4-909965 \_\_\_ \_ Haifa, Israel 20155|
> +-----------------------------------a, Israel 20155|
> +----------------------------------------------------------------------+

hope this helps,

--

Magnus Lonnroth
Tech.Sales & Consultant
Oracle Sweden
Mail: mloennro_at_se.oracle.com
Received on Thu Feb 10 1994 - 10:51:50 CET

Original text of this message