Consultor Eletrônico



Kbase 18637: Two-phase commit between a version 9 and version 8 database
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/5/1999
Two-phase commit between a version 9 and version 8 database

Draft Copy - Currently under review and edit.


Two-phase commit ensures that distributed transactions occur
consistently across all databases.
A distributed transaction is a single transaction that updates
two or more databases.

This KB is to serve as a guideline for customer that are using both
version 8 & 9 database and want to implement Two-phase commit.

Please note that two phase commit has a lot of impact on
performance. see KB 18003 for more information on this.

To do two phase commit with version 9, you must explicitly define a
transaction log area. These should only contain fixed extent only.
Like this:
#
t /usr1/tse/kda/v9.t1 f 32
t /usr1/tse/kda/v9.t2 f 96
#

Assuming that you've got two databases name v8 and v9 for version8 and
version9 respectively, do this:

(1) rfutil v8 -C aimage begin (For the ver 8 database)
rfutil v9 -C aimage begin (For the ver 9 database)

(2) proutil v8 -C 2phase begin
proutil v9 -C 2phase begin -crd

NOTE: Take a backup of both databases before you run these command.

For the version 9 database this is a MUST.
if you don't take a backup you get the error:
Cannot do AIMAGE/2PHASE BEGIN. You must backup the database first.
(834)

(3) proserve v8 -S service1 -H <hosname>
proserve v9 -S service2 -H <hostname>

(4) Start a version9 client session and connect to both databases with
-S and -H specified in (3) above and run your application.

NOTE: when connecting the v8 database you will get this message:
Database v8 is a v8 database. This V9 dictionary cannot be use
with a PROGRESS v8 database. Use the dictionary under PROGRESS v8 to
access this database.

Just press enter and you will be connected to this database as well.

KDA 5/03/1999