Two-Phase commit to avoid replication delay??

  • From: Sami Seerangan <dba.orcl@xxxxxxxxx>
  • To: "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 14 Feb 2005 22:35:10 -0500

Hi All,

Environment:
We have 2 databases (both are active) physically located in different
geographical area(NJ and NY). Each DB has 2 node OPS (8i) and both
databse replicates in Master-Master using Oracle Advanced Replication
(asynchoronous).

For 95% of the applications can tolerate 2 to 5 mins of replication
delay between databases. But one of the application needs near
real-time replication. This 5% of the application uses only 2 or 3
Tables. So we like to implement two-phase commit solution to avoid
replacation delay for these 3 tables. The application will invoke
stored procedure and SP will write into local db (as normal) and
remote db(using database link). In case if the remote db is not
available then the stored procedure is intelligent enough to identify
the remote db is down (catch the exception and write into separate
queue table) and write into queue.
When the other DB becomes available, the queue will be pushed into the
remote db using some mechanish(say DBMS_JOB).

We understand that there would be performance hit (2 writes instead of
one write) and network latency.

Is there any other issues in this approach? 

Thanks in advance
Sami
--
//www.freelists.org/webpage/oracle-l

Other related posts: