Professional Documents
Culture Documents
Objetivos
Introduccin a las bases de datos distribuidas en Oracle Gestin y tipos de LINKs Consultas en BD distribuidas Sinnimos Distribucin vs. Replicacin Tipos de replicacin
DBD Laboratorio 7
DBD Laboratorio 7
Borrado de BD link:
DROP [PUBLIC] DATABASE LINK nombreLink;
DBD Laboratorio 7 5
Nombre de servicio
Cada BD es identificada unvocamente en una BD distribuida por un nombre global de BD. Este consta del nombre de la BD junto con el nombre del host en la red en la que esta BD est ubicada. Este nombre se hace transparente al usuario mediante el uso de nombres de servicio (service names) en la definicin de los enlaces (links). Los nombres de servicio se definen en el archivo tnsnames.ora de Oracle, cuya ubicacin depende del ordenador: c:\oracle\ora92\network\admin\tnsnames.ora
DBD Laboratorio 7
Nombre de servicio
Ejemplo de definicin de nombre de servicio en tnsnames.ora
NombreServiceName = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = NombreOrdenadorEnRed)(PORT = 1521)) ) nmero IP (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NombreBD) ) SID )
DBD Laboratorio 7
Tipos de DB Links
Los enlaces pueden ser: Privados: Slo lo puede usar el que los crea. - (CREATE DATABASE LINK ....) Pblicos: Lo pueden usar todos los usuarios de la BD. - (CREATE PUBLICDATABASE LINK ....) Los tipos de usuarios de un enlace pueden ser: Fixed: Hay que indicar en la definicin usuario y contrasea.
Connected User (sin CONNECT): Vlido para el usuario conectado. Debe tener en la BD remota una cuenta con el mismo nombre de usuario y misma contrasea.
DBD Laboratorio 7
DBD Laboratorio 7
Consultas a BD remotas
Para realizar consultas en una BD distribuida podemos utilizar objetos situados en una BD remota. Se utiliza para ello los links previamente creados.
SELECT nombre FROM dbb.autor@link WHERE nacionalidad = Francia SELECT nombre Tabla de BD remota Tabla de BD local FROM dbb.autor@link, libro WHERE dbb.autor.idautor@link = libro.idautor AND nacionalidad = Francia
Tambin es posible realizar operaciones de actualizacin (insert, update, delete) en la BD remota, siempre que tengamos el permiso necesario para realizarlas.
DBD Laboratorio 7 10
Snonimos (1)
Las referencias a las tablas de la BD remota en las anteriores consultas no son transparentes al usuario: necesita conocer el nombre del link y el propietario de la tabla. Para hacerlas totalmente transparentes se pueden definir sinnimos. Creacin de sinnimos CREATE [PUBLIC] SYNONYM nombreSinomimo FOR nombreObjeto;
Permite referirse a un nombre global de un objeto a travs del sinnimo.
DBD Laboratorio 7
11
Snonimos (2)
Ejemplo de creacin de sinnimo
Replicacin vs Distribucin
Los trminos distribucin de datos y replicacin de datos estn relacionados pero son distintos.
En una BD distribuida pura (sin replicacin) el sistema maneja una copia simple de todos los datos. Distribuir los datos consiste en situarlos en las distintas BD.
El trmino replicacin se refiere a realizar copias de los mismos datos en diferentes BD. La replicacin se utiliza en BDD para mejorar la disponibilidad y seguridad de los datos. Se pretende proporcionar distintas alternativas de acceso a los mismos, as como mejorar el rendimiento, a travs de accesos locales a copias de datos remotos. La replicacin complica la administracin de la BDD ya que es necesario mantener en todo momento la consistencia de los datos en todas las rplicas.
DBD Laboratorio 7 13
Tipos de Replicacin
Oracle soporta varios tipos de replicacin:
Vistas materializadas (materialized views): los datos de un sitio maestro se duplican en forma de instantneas en otros sitios. Hay dos tipos:
o
Slo lectura (read-only): tablas de slo lectura cuyos datos se refrescan a intervalos especificados. Estn creadas a partir de consultas sobre una o ms tablas remotas. Actualizables (updateable): se permite la modificacin de datos sobre la instantnea. Estas modificaciones se propagan hasta la tabla maestra.
Replicacin avanzada: replicacin de los datos en varios sitios maestros. Se puede actualizar una tabla en cualquiera de los sitios maestros y la actualizacin se propaga al resto de los sitios.
14
DBD Laboratorio 7
Refresco manual:
EXECUTE DBMS_MVIEW.REFRESH('autor');
Los datos se refrescan al ejecutar la sentencia.
DBD Laboratorio 7
17