proyecto final

7

Click here to load reader

Upload: wladykleper

Post on 09-Jul-2015

298 views

Category:

Documents


0 download

DESCRIPTION

Proyecto final de bases de datos grupo numero 6

TRANSCRIPT

Page 1: Proyecto final

APLICACIÓN DE BASES DE DATOS

GRUPO # 6

INTEGRANTES:

KLEBER MENDOZA

DIEGO MONTERO

JOSE LUIS PARRA

SEPTIMO NIVEL

SANGOLQUI, 20 DE JULIO DE 2010

Page 2: Proyecto final

INTRODUCCION

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.

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.

DESARROLLO

Instalación de Oracle Express Edition

El programa de instalación nos muestra la pantalla de bienvenida para la instalación, en este

momento tenemos que dar click en siguiente.

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.

Page 3: Proyecto final

CREAMOS UN USUARIO Y LE DAMOS PERMISOS CON EL SIGUIENTE COMANDO

GRANT ALL PRIVILEGES TO DIEGO WITH ADMIN OPTION;

LUEGO CONFIGURAMOS UN ENLACE CON CADA MAQUINA CON LAS RESPECTIVAS DIRECCIONES

IP

CREATE DATABASE LINK REPLICA

CONNECT TO DIEGO IDENTIFIED BY “DIEGO”

USING

‘(DESCRIPTION =

Page 4: Proyecto final

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)

(HOST = 192.168.1.4)

(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = XE)

)

)’;

CREATE DATABASE LINK REPLICA

CONNECT TO JUAN IDENTIFIED BY “JUAN”

USING

‘(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)

(HOST = 192.168.1.3)

(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = XE)

)

)’;

Page 5: Proyecto final

CREAMOS LA TABLA CON LA CUAL VAMOS A TRABAJAR

CREATE TABLE usuarios(cedula int PRIMARY KEY,nombre varchar2(100),apellido

varchar2(100),email varchar2(100));

PARA LA REPLICACION UTILIZAMOS UN TRIGGER EL CUAL ACTUALICE NUESTRA INFORMACION

DEL SERVIDOR AL CLIENTE

CREATE OR REPLACE trigger disp

after insert or delete or update on usuario

declare cursor mostrar is

select * from usuario;

v_cedula usuario.cedula%type;

v_nombre usuario.nombre%type;

v_apellido usuario.apellido%type;

v_email usuario.email%type;

BEGIN

DELETE FROM usuario@replica;

OPEN mostrar;

LOOP

FETCH mostrar INTO v_cedula, v_nombre, v_apellido, v_email;

EXIT WHEN mostrar%NOTFOUND;

INSERT INTO usuario@replica(cedula,nombre,apellido,email)

VALUES (v_cedula, v_nombre, v_apellido, v_email);

END LOOP;

CLOSE mostrar;

END disp;

Page 6: Proyecto final

AHORA REALIZAREMOS UNA CONSULTA DESDE EL SERVIDOR USANDO LOS ENLACES,

QUEDANDO DE LA SIGUIENTE MANERA:

SELECT * FROM USUARIOS@REPLICA;

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

Esta tabla guardara los datos cambiados y actualizara de manera instantánea todas las replicas de

la tabla USUARIOS como vemos a continuación.

Page 7: Proyecto final

CONCLUSION

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.