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