Pase semanas tratando de hacer una replica de datos en oracle, foreando y foreando gracias Dios y a la investigacion en blog iguales a este, por fin pude lograrlo. Por eso quiero compartir con ustedes este post, si estan interasados en trabajar bases de datos distribuidas (Oracle).
Para aplicar la distribuicion/replicacion de datos haremos un ejemplo típico. Supongamos que tenemos dos sitios o nodos (uno local y uno remoto)en los cuales se ejecuta un SGBDD Oracle y ademas cada uno tiene una replica de base de datos de cualquier tipo, por ejemplos de empleados de una empresa.
Para la replicacion necesitamos en cada sitio, un enlace de base de datos (que apunte al otro nodo), un log de vista materializada (para reflejar los cambios locales) y una vista materializada para reflejar los cambios remotos.
Enlace de base de datos, log y vista materializada en el nodo local:
CREATE DATABASE LINK "ENLACE_NODOREMOTO"
CONNECT TO "CAMILO" IDENTIFIED BY VALUES '05D70065BE99C0DDFEC78C7B9C3070591D'
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = NODOREMOTO)(PORT = 1521))
)
(CONNECT_DATA =
(SID = xe)
)
)'
CREATE MATERIALIZED VIEW LOG ON TABLA_REMOTA
Esta vista se crea en el nodo remoto
CREATE MATERIALIZED VIEW empleado_vm
select * from empleado@ENLACE_NODOLOCAL
En el nodo remoto se crea
CREATE DATABASE LINK "ENLACE_NODOLOCAL"
CONNECT TO "CAMILO" IDENTIFIED BY VALUES '05D70065BE99C0DDFEC78C7B9C3070591D'
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = NODOLOCAL)(PORT = 1521))
)
(CONNECT_DATA =
(SID = xe)
)
)'
Log de vista
CREATE MATERIALIZED VIEW LOG ON empleado
y la vista siguiente se crea en el nodo local
CREATE MATERIALIZED VIEW empleado_vm
Y listo...con esto puedes hacer cualquier cambio en cualquier nodo, e inmediantamente este cambio se reflejara en el otro nodo.
Suerte....
Muy bueno, gracias lo probaré para mi proyecto, Me es de gran ayuda este blog. =)
ResponderEliminarMen muchas gracias me salvaste la vida estube semana buscando una manera de replicar que si funcianara y esta es la unica, gracias por compartirla
ResponderEliminar