Este documento describe cómo configurar la replicación de una base de datos entre dos servidores Oracle usando enlaces de base de datos. Se crea una tabla en el servidor maestro y un trigger que actualiza la tabla réplica en el servidor esclavo cada vez que hay un cambio en la tabla maestra, permitiendo que los datos se mantengan sincronizados entre los dos servidores. Se configuran los enlaces entre los servidores, se crea la tabla réplica y se prueba consultando los datos desde ambos servidores.
1. APLICACIÓN DE BASES DE DATOS <br />GRUPO # 6<br />INTEGRANTES:<br />KLEBER MENDOZA<br />DIEGO MONTERO<br />JOSE LUIS PARRA<br />SEPTIMO NIVEL<br />SANGOLQUI, 20 DE JULIO DE 2010<br />INTRODUCCION<br />La replicación te permite tener una copia exacta de una base de datos alojada en un servidor (maestro) que se guardará en otro servidor (esclavo). Todas las modificaciones que se hagan en la base de datos del servidor maestro se actualizarán inmediatamente en el servidor esclavo.<br />Esto no es una copia de seguridad, ya que si borramos una fila en la base de datos maestra, también se borrará en la base de datos esclava.<br />DESARROLLO<br />Instalación de Oracle Express Edition<br /> El programa de instalación nos muestra la pantalla de bienvenida para la instalación, en este momento tenemos que dar click en siguiente.<br /> Aceptamos los términos y condiciones del programa y pulsamos siguiente, en seguida seleccionamos la ubicación de los archivos de instalación, si queremos instalarlos en otra ubicación podemos seleccionarla pulsando el botón Examinar, después de esto pulsamos siguiente.<br /> <br />CREAMOS UN USUARIO Y LE DAMOS PERMISOS CON EL SIGUIENTE COMANDO<br />GRANT ALL PRIVILEGES TO DIEGO WITH ADMIN OPTION;<br />LUEGO CONFIGURAMOS UN ENLACE CON CADA MAQUINA CON LAS RESPECTIVAS DIRECCIONES IP<br />CREATE DATABASE LINK REPLICA<br />CONNECT TO DIEGO IDENTIFIED BY “DIEGO”<br />USING<br />‘(DESCRIPTION =<br />(ADDRESS_LIST =<br />(ADDRESS = (PROTOCOL = TCP)<br />(HOST = 192.168.1.4)<br />(PORT = 1521))<br />)<br />(CONNECT_DATA =<br />(SERVICE_NAME = XE)<br />)<br />)’; <br />CREATE DATABASE LINK REPLICA<br />CONNECT TO JUAN IDENTIFIED BY “JUAN”<br />USING<br />‘(DESCRIPTION =<br />(ADDRESS_LIST =<br />(ADDRESS = (PROTOCOL = TCP)<br />(HOST = 192.168.1.3)<br />(PORT = 1521))<br />)<br />(CONNECT_DATA =<br />(SERVICE_NAME = XE)<br />)<br />)’;<br />CREAMOS LA TABLA CON LA CUAL VAMOS A TRABAJAR<br />CREATE TABLE usuarios(cedula int PRIMARY KEY,nombre varchar2(100),apellido varchar2(100),email varchar2(100));<br />PARA LA REPLICACION UTILIZAMOS UN TRIGGER EL CUAL ACTUALICE NUESTRA INFORMACION DEL SERVIDOR AL CLIENTE<br />CREATE OR REPLACE trigger disp<br />after insert or delete or update on usuario<br />declare cursor mostrar is<br />select * from usuario;<br />v_cedula usuario.cedula%type;<br />v_nombre usuario.nombre%type;<br />v_apellido usuario.apellido%type;<br />v_email usuario.email%type;<br />BEGIN<br />DELETE FROM usuario@replica;<br />OPEN mostrar;<br />LOOP<br />FETCH mostrar INTO v_cedula, v_nombre, v_apellido, v_email;<br />EXIT WHEN mostrar%NOTFOUND;<br />INSERT INTO usuario@replica(cedula,nombre,apellido,email)<br />VALUES (v_cedula, v_nombre, v_apellido, v_email);<br />END LOOP;<br />CLOSE mostrar;<br />END disp;<br />AHORA REALIZAREMOS UNA CONSULTA DESDE EL SERVIDOR USANDO LOS ENLACES, QUEDANDO DE LA SIGUIENTE MANERA:<br />SELECT * FROM USUARIOS@REPLICA;<br />Como podemos observar la consulta funciona es decir que podemos consultar objetos desde el servidor, ahora crearemos en el cliente, una tabla del mismo nombre para la replicación de la tabla USUARIOS<br />Esta tabla guardara los datos cambiados y actualizara de manera instantánea todas las replicas de la tabla USUARIOS como vemos a continuación.<br />CONCLUSION<br />En esta práctica aprendimos a hacer una replicación de una tabla en oracle usando un servidor y un cliente uno que es el servidor que tiene la tabla a replicar USUARIOS y un cliente el cual puede tener los datos de la tabla para consultar, cabe señalar que es de solo lectura, debido a que es una instantánea, también configuramos los accesos de los servidores mediante el enlace REPLICA lo que nos daba como resultado la comunicación entre ambos y logrando así poder generar el enlace de base de datos entre ellos. Teniendo la posibilidad de realizar consultas distribuidas entre los servidores. Finalizando en la creación de la tabla de USUARIOS para poder consultar los datos replicados de manera local.<br />