Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Problem with serializable distributed transactions
Hi everybody,
I have 2 databases.
The first is a 7.3.2.3 oracle database in which I have compiled "READ" procedures reading local tables and putting the read data in PL/SQL tables.
The second is a 8.0.4.1oracle database in which I have compiled "WRITE" procedures receiving the PL/SQL tables as parameters and inserting and/or updating local tables.
Finally I have "TRANSFER" procedures calling the READ then the WRITE procedures to transfer data from the first to the second database.
I have to execute this in SERIALIZABLE transaction to have consistent reads in the first database.
When the TRANSFER procedures are compiled on the second (8.0.4.1) database
(calling the READ via a DB_LINK) the transfer works (I call this PULL
because the destination database fetches the data).
When the TRANSFER procedures are compiled on the first (7.3.2.3) database
(calling the WRITE via a DB_LINK) (I call this PUSH because the source
database sends the data) the transfer doesn't work, I get the following
error :
SQL> execute transfer_dwhout_to_ods;
begin transfer_dwhout_to_ods; end;
*
ERROR at line 1:
ORA-02070: database DEV8.ODS does not support set transaction in this
context
ORA-06512: at "APP.T_ADDR", line 53 ORA-06512: at "APP.TRANSFER_DWHOUT_TO_ODS", line 42 ORA-06512: at line 1
My big problem is that, for security reasons, I have to do PUSH (in fact the source db can see the destination but the destination cannot see the source).
Any ideas to solve this ?
Thanks in advance,
Philippe
-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own Received on Thu Mar 25 1999 - 07:49:06 CST