Está en la página 1de 8

UNIVERSIDAD JORGE TADEO LOZANO

DEPARTAMENTO DE INGENIERIA
Laboratório de bases de datos distribuídas

Modalidad: Trabajo en grupo


Duraciòn del laboratorio: 2.5 Horas
Trabajo independiente: 4 Horas
Fecha de entrega: 27 de abril, 11:55PM – AVATA.

Objetivo

Revisar los conceptos de replicación de bases de datos, probar algunas técnicas


para la sincronización de fragmentos usando una base de datos convencional.

Requisitos

Haber realizado las pruebas previas.

Metodología

Conformar grupos de dos (2) estudiantes.


Seguir la guía del laboratorio y con el apoyo de scripts suministrados.
Contestar todos los puntos en orden.

Entregable

Un archivo con nombre grupoxx.zip que contenga:

Informe del laboratorio en Word usando para las referencias las normas de
la IEEE.

Carpeta con los scripts de apoyo entregados.

Carpeta con scripts desarrollados durante el laboratorio.

Instrucciones

Seguir y documentar todos los puntos de esta guía y elaborar un informe en Word.

Organice todas las sentencias SQL utilizadas y desarrolladas en cada punto de la


guía en scripts.

Contestar todos los puntos en orden.

Utilice los archivos de soporte que se encuentran en AVATA.


Subir el informe en AVATA, en un archivo tipo ZIP de tamaño menor a de 10MB
con:

 Informe de laboratorio en WORD.


 Directorios con los scripts de apoyo y los generados durante el
laboratorio.

DESARROLLO

La siguiente figura describe la arquitectura de la BDD que será utilizada en este


laboratorio, donde xx corresponde al grupo asignado en este archivo.

Grupoxx

NYORKxx PARISxx

Fig. 1.

1. (5Puntos) Documentar el contenido del archivo TNSNAMES

En el siguiente archivo tnsnames.ora identifique y documente los textos en


rojo:

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.xxx.xxx.xxx)(PORT =
1521))
)
(CONNECT_DATA =
(SID = XXXX)
(SERVER = DEDICATED)
)
)

2. (10 Puntos) Fragmentación

Para el desarrollo del laboratorio usaremos el esquema de base de datos


trabajado durante el curso con las relaciones EMP, ASG, PAY y PROJ.

a. El esquema de fragmentación es:

PROJ1 = ō loc = ’New York’ (PROJ)


PROJ2 = ō loc <> ’New York’ (PROJ)

EMP y PAY no se fragmentan.

ASG se fragmenta a partir de los fragmentos de PROJ.

Con álgebra relacional, usando la fragmentación horizontal derivada


fragmentar ASG.

b. Como se indica en la tabla 1., la localización de los datos se determinó


así:

Las tablas EMP y PAY se localizan en NYORKxx con copias en


PARISxx, se actualizan sincrónicamente con triggers.

Los fragmentos de ASG2 y PROJ2 se localizan en PARISxx.

Los fragmentos ASG1 y PROJ1 se localizan en NYORKxx.

Usando Vistas Materializadas, en NYORKxx se consolidan


asincrónicamente los datos de los fragmentos de ASG y PROJ.

NYORKxx PARISxx
EMP EMP
PAY PAY
PROJ
ASG
PROJ1 PROJ2
ASG1 ASG2
Tabla 1. Distribución de los fragmentos

A partir de la fragmentación realizada en el literal a. de este punto,


usando operadores de álgebra relacional reconstruya relaciones PROJ y
ASG.

3. (5 puntos) Ingreso a la base de datos de cada servidor

Para que este punto sea pueda desarrollar sin contratiempos, es


recomendable que haber realizado las pruebas previas que se enviaron en
días anteriores.

Con SQLdeveloper ingrese a la base de datos que le corresponde según la


distribución asignada cada uno en sus grupos, suministre los siguientes
datos así:

a. NYORKxx
Este literal lo realizan los estudiantes que pertenecen al servidor de NYORK
y según el grupo xx asignado. Suministre los siguientes datos, tenga en
cuenta que los datos que aparecen corresponden (Fig. 2.) al grupo 01.

Name: NYORKxx (este nombre puede ser cambiado)

Usuario: NYORKxx

Contraseña: Wglyue20x123

Tipo de conexión: Cartera de Cloud

Archivo de configuración: en la carpeta C:\BDA seleccione el archivo


Wallet_DB Wallet_DB202004071718.zip

Servicio: db202004071718_tp

Fig. 2.

Pruebe la conexión (Probar), si el Estado: Correcto se puede Conectar a la


Base de Datos, de lo contrario revise los datos suministrados.

b. PARISxx

Este numeral lo realizan los estudiantes que pertenecen al servidor de


PARIS y según el grupo xx asignado. Suministre los siguientes datos,
tenga en cuenta que los datos que aparecen corresponden (Fig. 3.) al
grupo 01.

Name: PARISxx (este nombre puede ser cambiado)

Usuario: PARISxx

Contraseña: Wglyue20x123

Tipo de conexión: Cartera de Cloud

Archivo de configuración: en la carpeta C:\BDA seleccione el archivo


Wallet_DB Wallet_DB202004072338.zip

Servicio: db202004072338_tp

Fig. 3.

Pruebe la conexión (Probar), si el Estado: Correcto se puede Conectar a la


Base de Datos, de lo contrario revise los datos suministrados.

4. (5 puntos) Creación de objetos en los usuarios NYORKxx y PARISxx

Crear los objetos de la base de datos que se van a utilizar durante el


laboratorio, para ello, desde AVATA descargue el archivo Archivos de
Soporte, descomprimirlo en el directorio de trabajo.

a. Si es el usuario NYORKxx con NotePad utilice el archivo


CrearOBJNY_final.sql y copie el contenido en el WorkShet de
SQLdeveloper. Seleccionar segmentos se sentencias y ejecutarlas
controladamente siguiendo los resultados como se indica en la Fig. 4.

Fig. 4.

b. Si es el usuario PARISxx con NotePad utilice el archivo


CrearOBJPARIS_final.sql y copie el contenido en el WorkShet de
SQLdeveloper. Seleccionar segmentos se sentencias y ejecutarlas
controladamente siguiendo los resultados como se indica en la (Fig. 4.).

5. (15 puntos) Configuración del ambiente distribuido

Desde AVATA descargue los Archivos de Soporte 1.

Descomprima los archivos.

Si su usuario es NYORKxx con NotePad abrir el archivo CloudSQLNY1,


copiar su contenido al área de trabajo de SQLDeveloper.

Si su usuario es PARISxx con NotePad el archivo CloudSQLPARIS1, copiar su


contenido al área de trabajo de SQLDeveloper.

Siga las instrucciones dadas en el laboratorio, ejecutando controladamente


las sentencias, tome las notas del caso para realizar el informe final.

Describir la sintaxis de las siguientes sentencias:

 DBMS_CLOUD.CREATE_CREDENTIAL
 DBMS_CLOUD.GET_OBJECT
 select owner, credential_name, username, enabled from
dba_credentials;

6. (6 puntos) Creación de Database Link

a. Describa la sintaxis de la sentencia CREATE DATABASE LINK identifique


similitudes y diferencias con la sentencia DBMS_CLOUD_ADMIN
CREATE_DATABASE_LINK.
b. Desde el usuario NYORKxx cree un DATABASE LINK hacia la base datos
que se encuentra en PARISxx. Verificar que el DBLINK funciona
revisando la estructura y contenido de las tablas ASG2 y PROJ2 que se
encuentran en PARISxx, use las sentencias DESCRIBE ASG2@Blinkxx y
SELECT * FROM ASG2@Dblinkxx.

c. Desde el usuario PARISxx cree un DATABASE LINK hacia la base datos


que se encuentra en NYORKxx. Verificar que el DBLINK funciona
revisando la estructura y contenido de las tablas ASG1 y PROJ1 que se
encuentran en NYORKxx, use las sentencias DESCRIBE ASG1@DBlinkxx
y SELECT * FROM ASG1@Dblinkxx.

7. (10 Puntos) Actualización asincrónica de copias.

a. En Google revise y describa la sintaxis y el uso de las sentencias CREATE


MATERIALIZED VIEW y CREATE MATERIALIZED VIEW LOG, ¿cuál son las
diferencias? Documente las opciones.

b. En NYORKxx, a partir de los fragmentos de PROJ (Proy1, Proy2)


reconstruya la relación original PROJ, para ello haga lo siguiente:

En el sitio PARISxx revise el script vmprojlog.sql. Documéntelo. ¿Qué hace el


script?. Correr el script.

En NYORKxx revise el script vmproj.sql. Ejecútelo en el usuario NYORKxx.


Haga pruebas. Documente el script.

Realizar cambios en la tabla Proj2 de PARISxx, aplicar los cambios


(Commit). Verificar los resultados.

c. En NYORKxx, a partir de los fragmentos de ASG (Asg1, Asg2) reconstruya la


relación ASG, para ello analice las actividades y modifique los scripts del
literal b. de este punto.

Realizar cambios en la tabla Asg2 de PARISxx, aplicar los cambios


(Commit). Verificar los resultados.

8. (5 puntos, opcional para MIAD). Actualización asincrónica de copias


controlada

Mediante el API DBMS_JOB, implementar una solución que permite sincronizar


cada 2 minutos las vistas materializadas del punto 7. Literales b. y c.

9. (10 Puntos) Actualización sincrónica de réplicas

a. Revise los triggers tr0payparis y tr0payNY. Estos triggers sincronizan


PAY que se encuentra en New York con la réplica en Paris.
En el usuario NYORKxx compile tr0payNY.

En el usuario PARISxx compile tr0payparis.

Haga pruebas de inserción en la tabla PAY en ambos usuarios, aplique


los cambios (commit), muestre los resultados.

b. A partir de los triggers anteriores proponga una solución para


sincronizar los INSERT y UPDATE de la tabla EMP que se encuentra en
NYORKxx y PARISxx, haga pruebas de inserción y actualización en la
tabla EMP con ambos usuarios, muestre los resultados.

10. (5 puntos, opcional para MIAD) Actualización sincrónica de réplicas


aplicando reglas de integridad.

En los usuarios NYORKxx y PARISxx crear un trigger para controlar que en


las relaciones PROJ1 (NYORKxx) y Proj2 (PARISxx) respectivamente, solo
se permitan cambios siguiendo las reglas de fragmentación definidas en
literal a. del punto 2.

11. (4 Puntos) Escriba sus conclusiones y recomendaciones.

También podría gustarte