Re: Using Advance Replication for updating content from one server to the other...

From: steve <E_at_E.COM>
Date: Sat, 16 Feb 2002 05:47:09 +0800
Message-ID: <1f7omsd.11vaiyj1krqps6N%E_at_E.COM>


[Quoted] Option 3 would be your best bet, however it's no just a case of turning on repication.

it depends a lot on the structure of your database and if your code is serverside or client side.
you have a better chance if most of your code is server side, as it is easier to control the replication process.

Deletes are a real big problem, in that the replication process does not handle them too cleanly. if you are/can deleting at more than 1 replicated site, i.e if you have 2 servers and you can delete from both at the same time then it can get messy, but if you only delete from one then replicate the changes it's a lot simpler.

there is a system called procedural replication, that might be worth looking at
this allows calls to procedures on one server to be replicated to another server, it tends to be a lot cleaner than table replication ,as it leaves you with more control.

or snapshot repliation which allows you to select against various tables then replicate the results.

take a look at "o'reilly-- oracle distributed systems" it's a good starting book that covers all the different systems. steve

Christian Sylvestre <csyl_at_okami.com> wrote:

> Hello. I am looking for a good solid solution for a little/big problem
> ;-)
>
> I have 2 Oracle DB server running on 2 diffrent machines.
>
> The first DB server is used as the "staging/publishing" server. I.e.
> content updates are made on that server and approved on that server.
>
> We then need to push these content updates to the production DB
> server.
>
> However this need to be:
> - Done on demand.
> - Only a subset of the data of the "staging/publishing" server needs
> to be pushed to the production DB server.
>
> Here are the 3 solutions we looked at:
>
> 1- Trapping every DML (Update/Delete/Insert) done on the application
> level and writing them to a "kind" of script. Then copying that script
> from the "staging/publishing" server to the production DB server and
> then running that script with sqlplus from the command line.
>
> 2- Using a Database comparison tool to compare the 2 DB and then build
> a script that could be applied to the production server.
>
> 3- Using Oracle Replication to replicate the subset of the data from
> the "staging/publishing" server to the production DB server.
>
> FYI: The two severs are running 8.1.7 on AIX and the production
> servers are using Oracle HA (High Availability) Parallele servers.
>
> Option 1 is feasible but has a lot of failure points. Opction 2 could
> work but we have not found any command line comparison tools for
> UNIX...
>
> We are in favour of option 3 but we are not sure if Advance
> Replication would allow us to do so. I know that you can actually
> replicate only specific tables, but is it possible to replicate
> specific data in a table (based on a defined query)?
>
> Any comments/idea (even crazy ones) would be welcome!!!
>
> Cheers,
>
> Christian
Received on Fri Feb 15 2002 - 22:47:09 CET

Original text of this message