Replicacion de Base de Datos Oracle

DAvid
06 de Octubre del 2004
Ojala me puedan ayudar, necesito replicar una basde de datos de oracle version 8.1.7.3 , esta base de datos es de tipo transaccional y quiero replicarla a otra solo de pura consulta, la replicacion la quiero que se lleve a cabo en la noche de acuerdo a los cambios que sufrio la basde de datos transaccional.
De antemano gracias por su informacion.

nerea
06 de Octubre del 2004
Debes utilizar snapshot o vistas materializadas.

1.- En la base de datos original, por cada tabla tienes que crear un log:
CREATE MATERIALIZED VIEW LOG ON tabla;

2.- En la base de datos de consulta debes crear primero un DB_LINK que te permita acceder a las tablas de la base de datos original. (por ejemplo DB_ORIGINAL)

3.- En la base de datos de consulta debes crear un snapshot o vista materializada por cada tabla que quieras replicar:

CREATE MATERIALIZED VIEW tabla
REFRESH FORCE AS
START WITH SYSDATE NEXT SYSDATE +1
(SELECT * FROM [email protected]_ORIGINAL);

4.- La tercera línea de la sentencia anterior, START WITH SYSDATE NEXT SYSDATE +1 , es opcional. Si la pones te creará un JOB que automáticamente se lanzará cada día para refrescar el snapshot. Si no lo quieres así, puedes hacer un refresco manual cada vez que quieras, con la instrucción:
EXECUTE DBMS_SNAPSHOT.REFRESH('NOMBRE_TABLA');

abel
06 de Octubre del 2004
Perdona, que te escriba, me pasa lo siguiente tengo vistas materializadas en mi base de datos, pero no consigo hacer que el log de mis vistas se borre, cuando el manual me dice que si, como puedo hacerlo gracias

Eyes
06 de Octubre del 2004
¿Funciona para una replicación completa, es decir, todas las tablas.?., como sería la parte del JOB para cuando se quieres en menos tiempo 1 hora, 5 min o online, como sería la sentencia?... o hay que crear algo más?

Saludos