dbTalk Databases Forums  

oracle synchronization strategy

comp.databases.postgresql.general comp.databases.postgresql.general


Discuss oracle synchronization strategy in the comp.databases.postgresql.general forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Randall Smith
 
Posts: n/a

Default oracle synchronization strategy - 10-31-2004 , 11:25 PM






I am going to sync a schema in postgres with one in an oracle db. The
tables are simple, but there are 200 of them. I would like to try to
keep the sync lag < 1 minute. Here is my idea. Please critique/suggest.

1. Set up stored proc on oracle that records a INSERT, UPDATE, DELETE
SQL action taken on a table into a log table.
2. Program reads the log table on oracle and issues the same SQL command
on the postgres db. In the same transaction, postgres writes to a log
showing the command has been executed.
3. The program will query the oracle log table on some frequency ~30
seconds.

What are your thoughts?

Randall

Reply With Quote
  #2  
Old   
Joachim Wieland
 
Posts: n/a

Default Re: oracle synchronization strategy - 11-01-2004 , 05:04 AM






Hi Randall,

On Sun, Oct 31, 2004 at 11:25:46PM -0600, Randall Smith wrote:
Quote:
1. Set up stored proc on oracle that records a INSERT, UPDATE, DELETE
SQL action taken on a table into a log table.
2. Program reads the log table on oracle and issues the same SQL command
on the postgres db. In the same transaction, postgres writes to a log
showing the command has been executed.
3. The program will query the oracle log table on some frequency ~30
seconds.
It depends on what you're trying to achieve.

Your way might work if you only want to mirror oracle -> pgsql but not vice
versa.

Furthermore you need to do manual maintenance on the pgsql side if you
change your schema on the oracle side (create/drop/change tables, ...)

I've done something similar with MS SQL -> pgsql and perl some years ago.
Shout if you're interested.

There's also dbmirror in contrib/ that works in a similar way.


Joachim




---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html



Reply With Quote
  #3  
Old   
Randall Smith
 
Posts: n/a

Default Re: oracle synchronization strategy - 11-01-2004 , 09:53 PM



Thanks Joachim,

The mirror only has to go from oracle to pgsql and the schema/tables
never change. I'm going to take a look at dbmirror. Thanks for the advice.

Randall

Joachim Wieland wrote:
Quote:
Hi Randall,

On Sun, Oct 31, 2004 at 11:25:46PM -0600, Randall Smith wrote:

1. Set up stored proc on oracle that records a INSERT, UPDATE, DELETE
SQL action taken on a table into a log table.
2. Program reads the log table on oracle and issues the same SQL command
on the postgres db. In the same transaction, postgres writes to a log
showing the command has been executed.
3. The program will query the oracle log table on some frequency ~30
seconds.


It depends on what you're trying to achieve.

Your way might work if you only want to mirror oracle -> pgsql but not vice
versa.

Furthermore you need to do manual maintenance on the pgsql side if you
change your schema on the oracle side (create/drop/change tables, ...)

I've done something similar with MS SQL -> pgsql and perl some years ago.
Shout if you're interested.

There's also dbmirror in contrib/ that works in a similar way.


Joachim




---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html


Reply With Quote
  #4  
Old   
Randall Smith
 
Posts: n/a

Default Re: oracle synchronization strategy - 11-03-2004 , 09:57 AM



For anyone interested, the below procedure worked well.

Randall

Randall Smith wrote:
Quote:
I am going to sync a schema in postgres with one in an oracle db. The
tables are simple, but there are 200 of them. I would like to try to
keep the sync lag < 1 minute. Here is my idea. Please critique/suggest.

1. Set up stored proc on oracle that records a INSERT, UPDATE, DELETE
SQL action taken on a table into a log table.
2. Program reads the log table on oracle and issues the same SQL command
on the postgres db. In the same transaction, postgres writes to a log
showing the command has been executed.
3. The program will query the oracle log table on some frequency ~30
seconds.

What are your thoughts?

Randall

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.