You are on page 1of 20

2016, Ao del Centenario de la Instalacin del Congreso Constituyente

TECNOLGICO DE ESTUDIOS SUPERIORES DEL ORIENTE DEL ESTADO


DE MXICO

Replicacin de Base de Datos en Oracle

Hernndez Estrada Alan Isai

7s11

Profesor Leonardo Corts Vergara

Base De Datos Distribuidas

La Paz, Edo. Mx. A 07 de Diciembre de 2016.

Contenido
1.

Introduccin.................................................................................................. 3

2.

Objetivos....................................................................................................... 4

3.

Marco Terico................................................................................................ 5

4.

Desarrollo..................................................................................................... 9

5.

Conclusin.................................................................................................. 18

Referencias Bibliogrficas................................................................................. 19

1. Introduccin

La replicacin de una o varias bases de datos sirve para poder distribuir


datos en diferentes ubicaciones, bien sea a travs de una red local,
conexin de acceso telefnico, inalmbricas o internet, permitiendo
hacer una copia exacta de la base de datos en otra ubicacin fsica, para
luego sincronizar sin perder la coherencia de la informacin. [MSDN,
2016.]
El trmino replicacin se refiere a la operacin de copiar y administrar
objetos de base de datos en mltiples bases de datos a lo largo de un
sistema distribuido, en este caso, existen varias copias del mismo objeto
en diferentes localidades. Dado que la replicacin depende de una
tecnolgica de base de datos distribuida, la replicacin ofrece beneficios
en las aplicaciones, que no son posibles en un ambiente puro de base de
datos distribuida, tal como la disponibilidad y rendimiento.
Beneficios de la rplica de Datos en un DBMS.

Disponibilidad. - El modo en que la replicacin incrementa la


disponibilidad de los datos para los usuarios y aplicaciones.
Fiabilidad. - Al haber mltiples copias de los datos disponibles en el
sistema, se dispone de un mecanismo excelente de recuperacin cuando
existan fallos en nodos.
Rendimiento. - Se mejora para las transacciones de consulta cuando se
introduce la replicacin en un sistema que estuviera aquejado de
sobrecarga de recursos centralizados.
Reduccin de la carga. - Modo en que se utiliza la replicacin para
distribuir datos en ubicaciones remotas.
Copia de seguridad. - En condiciones normales, una base de datos
replicada de forma correcta es vlida como copia de seguridad. Adems,
se puede realizar copias de seguridad usando un servidor esclavo para
as no interferir al servidor maestro.
Mejorar la escalabilidad. - Podramos configurar nuestras aplicaciones
para balancear las consultas de lectura (SELECT) entre los servidores
replicados.
Alta disponibilidad. - En aplicaciones y entornos en donde slo se
requieren lecturas, podramos configurar nuestras aplicaciones para
balancear las consultas de lectura (SELECT) entre los servidores
replicados de manera que si uno se cae se contine prestando servicio.
Las rplicas locales constituyen una ayuda especialmente til cuando se
desea trabajar en una computadora que en ocasiones no estar
conectada a la red donde se encuentra el servidor en el que reside el
curso [Chvez, 2013].

2. Objetivos
Objetivo General.
Realizar la replicacin de la base de datos Votacin utilizando Oracle
utilizando un servidor maestro y otro como esclavo.
Objetivos Particulares.

Crear una mquina virtual en caso de no disponer de otro equipo


fsico.
Instalar Oracle 11g XE R2 como herramienta para la conexin de las
mquinas y la base de datos.
Conectar ambas mquinas entre s por medio de la red local.
Crear la conexin de replicacin por medio de un DB Link.

3. Marco Terico
Sistema Gestor de Bases de Datos (SGBD)
Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase
Management System) es una coleccin de programas cuyo objetivo es
servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se
compone de un lenguaje de definicin de datos, de un lenguaje de
manipulacin de datos y de un lenguaje de consulta. Un SGBD permiten
definir los datos a distintos niveles de abstraccin y manipular dichos
datos, garantizando la seguridad e integridad de los mismos.
Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL
Server, etc.
Un SGBD debe permitir:
Definir una base de datos: especificar tipos, estructuras y
restricciones de datos.
Construir la base de datos: guardar los datos en algn medio
controlado por el mismo SGBD
Manipular la base de datos: realizar consultas, actualizarla,
generar informes.
Las caractersticas de un Sistema Gestor de Base de Datos SGBD son:
Abstraccin de la informacin. Los SGBD ahorran a los usuarios
detalles acerca del almacenamiento fsico de los datos. Da lo
mismo si una base de datos ocupa uno o cientos de archivos, este
hecho se hace transparente al usuario. As, se definen varios
niveles de abstraccin.
Independencia. La independencia de los datos consiste en la
capacidad de modificar el esquema (fsico o lgico) de una base de
datos sin tener que realizar cambios en las aplicaciones que se
sirven de ella.
Redundancia mnima. Un buen diseo de una base de datos
lograr evitar la aparicin de informacin repetida o redundante.
De entrada, lo ideal es lograr una redundancia nula; no obstante,
en algunos casos la complejidad de los clculos hace necesaria la
aparicin de redundancias.
Consistencia. En aquellos casos en los que no se ha logrado esta
redundancia nula, ser necesario vigilar que aquella informacin
que aparece repetida se actualice de forma coherente, es decir,
que todos los datos repetidos se actualicen de forma simultnea.

Seguridad. La informacin almacenada en una base de datos


puede llegar a tener un gran valor. Los SGBD deben garantizar que
esta informacin se encuentra asegurada frente a usuarios
malintencionados, que intenten leer informacin privilegiada;
frente a ataques que deseen manipular o destruir la informacin; o
simplemente ante las torpezas de algn usuario autorizado pero
despistado. Normalmente, los SGBD disponen de un complejo
sistema de permisos a usuarios y grupos de usuarios, que
permiten otorgar diversas categoras de permisos.
Integridad. Se trata de adoptar las medidas necesarias para
garantizar la validez de los datos almacenados. Es decir, se trata
de proteger los datos ante fallos de hardware, datos introducidos
por usuarios descuidados, o cualquier otra circunstancia capaz de
corromper la informacin almacenada.
Respaldo y recuperacin. Los SGBD deben proporcionar una
forma eficiente de realizar copias de respaldo de la informacin
almacenada en ellos, y de restaurar a partir de estas copias los
datos que se hayan podido perder.
Control de la concurrencia. En la mayora de entornos (excepto
quizs el domstico), lo ms habitual es que sean muchas las
personas que acceden a una base de datos, bien para recuperar
informacin, bien para almacenarla. Y es tambin frecuente que
dichos accesos se realicen de forma simultnea. As pues, un
SGBD debe controlar este acceso concurrente a la informacin,
que podra derivar en inconsistencias [CAVSI, 2007].
Aunque todos los SMBD tienen el mismo propsito, existen casos
especiales que los hacen diferentes y, por lo consiguiente, cada uno
posee ciertas ventajas sobre los dems. Existen en el mercado y se
clasificaran de acuerdo a la licencia que posean, esta puede ser: de
cdigo libre o abierto son aquellos que se les puede modificar su cdigo,
se adecuan a las necesidades del usuario y cuentan con licencia, por
ejemplo, MySQL, Apache Derby, DB2, etc. Al contrario de aquellos SMBD
propietarios o de manejo mediante web no libres y gratuitos como
FileMaker, WindowBase, Microsoft SQL Server Compact, etc. [Cherry,
2013].

Oracle
Oracle es bsicamente una herramienta cliente/servidor para la gestin
de Bases de Datos. Es un producto vendido a nivel mundial, aunque la
gran potencia que tiene y su elevado precio hace que slo se vea en
empresas muy grandes y multinacionales, por norma general. En el
desarrollo de pginas web pasa lo mismo: como es un sistema muy caro

no est tan extendido como otras bases de datos, por ejemplo, Access,
MySQL, SQL Server, etc.
Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5
generacin, bastante potente para tratar y gestionar la base de datos,
tambin por norma general se suele utilizar SQL al crear un formulario.
Es posible lgicamente atacar a la base de datos a travs del SQL plus
incorporado en el paquete de programas Oracle para poder realizar
consultas, utilizando el lenguaje SQL [Masip, 2002].

Oracle Database 11g R2 Express Edition XE


Oracle Database 11g R2 Express Edition XE es un gestor de base de
datos relacional Oracle ideal tanto para aquellos que empezis con
Oracle como para aquellos que ya conocis este estupendo gestor de
bases de datos relacional y buscis una solucin para pequeos
desarrollos.
Aunque es gratuito, tiene una algunas restricciones a nivel licencia de
uso, pero no por eso deja de ser un producto completo y listo para
realizar cualquier desarrollo donde se necesite soporte de base de datos,
requiere poca administracin y sobre todo, para los que empezis, el
proceso de instalacin es sencillo e instala el software, crea servicios
necesarios en Windows para la instancia de base de datos y crea una
base de datos para poder trabajar nada ms terminar la instalacin [Tifa,
2016].

DBLink
La manera ms sencilla de acceder desde una base de datos Oracle a
tablas y vistas (views) de otra base de datos Oracle es mediante el uso
de un DBLink (enlace a base de datos). No obstante, en muchos
casos puede no ser recomendable la utilizacin de DBLinks, ya que el
acceso a tablas y vistas remotas puede provocar importantes problemas
de rendimiento en ambas bases de datos, tanto la remota como la local.
En la mayora de los casos estos problemas de rendimiento se deben a
la imposibilidad de utilizar los ndices de las tablas remotas.
Los DBLinks se crean en la base de datos local utilizando el comando
PL/SQL o SQL CREATE DATABASE LINK. Obviamente, el usuario que
ejecute dicho comando debe tener los permisos necesarios para poder
hacerlo. La sintaxis del comando SQL mencionado es como sigue:
CREATE [PUBLIC] DATABASE LINK Nombre_dblink

CONNECT TO Nombre_usuario INDENTIFIED BY Contrasea


USING 'Cadena_conexion';

En donde:
Nombre_dblink es el nombre del DBLink.
Nombre_usuario y Contrasea son los identificadores que utilizar el
DBLink para conectarse a la base de datos remota. Por lo tanto, el
acceso a las tablas y vistas de la base de datos remota se har con los
permisos que dicho usuario tenga sobre ellas en dicha base de datos. Si
se omiten estos valores, entonces el acceso a la base de datos remota
se har con el mismo nombre de usuario y contrasea con el que el
usuario en cuestin est conectado a la base de datos local.
Cadena_conexion identifica a la base de datos remota. Puede ser
el nombre de la instancia, si sta est definida en el archivo
tnsnames.ora de la base de datos origen, o tambin, para la versin 8 de
la base de datos Oracle o posteriores, podemos utilizar directamente
la definicin TNS (esto posibilita que no tengamos que modificar el
fichero tnsnames.ora).
Una vez creado el DBLink, para referenciar una tabla o vista de la base
de datos remota se ha de indicar el nombre de la tabla o vista,
concatenado con el carcter "@" y el nombre que se le ha dado al
DBLink. Las tablas y vistas remotas podrn usarse en consultas
(sentencias SELECT) y, si la base de datos Oracle utiliza el sistema de
bases de datos distribuidas, entonces se podrn ejecutar tambin
sentencias SQL o PLSQL del tipo DELETE, INSERT, UPDATE o LOCK TABLE.
Asimismo, se pueden crear sinnimos para abreviar la forma de
referenciar a las tablas y vistas remotas. A continuacin, os pongo
algunos ejemplos de sentencias:
SELECT * FROM Nombre_tabla_remota@Nombre_dblink;
INSERT INTO Nombre_tabla_remota@Nombre_dblink (campo1)
VALUES ('prueba');
UPDATE Nombre_tabla_remota@Nombre_dblink;
SET campo1 = 'actualizado'
WHERE campo1 = 'prueba';
CREATE SYNONYM tremota
FOR Nombre_tabla_remota@Nombre_dblink;
SELECT * FROM tremota;

4. Desarrollo
Instalacin de Oracle 11g Release 2 XE
Enlace relacionado: Oracle Database Express Edition 11g Release 2
Una vez descargado y descomprimido, entramos a la carpeta creada;
dentro encontraremos un archivo llamado setup.exe, pulsamos el
botn derecho del ratn sobre l y aparecer un men donde elegiremos
Ejecutar como administrador. Aparecer una ventana emergente a la
que le daremos que s al mensaje.

Ilustracin 1: Ejecutar como administrador

Una vez que hemos ejecutado el programa de instalacin nos aparecer


una ventana (Ilustracin 2) donde podemos apreciar que el programa de
instalacin de Oracle Database 11g R2 Express Edition XE est
preparando el Wizard para la instalacin del producto, transcurridos
unos segundos nos aparecer la ventana del Wizard de instalacin.
Pulsamos el botn Next para continuar.

Ilustracin 1: Configuracin de la instalacin

Contrato de licencia, seleccionamos I accept the terms in the license


agreement - y pulsamos el botn Next para continuar.

Ilustracin 2: Contrato de licencia

El Wizard nos presenta la carpeta destino para la instalacin por defecto


(Ilustracin 4), as como el espacio necesario y el disponible, si deseis
cambiarla pulsar en el botn Browse y seleccionar la carpeta donde
queris realizar la instalacin o dejar la que aparece por defecto.
Una vez cambiada ubicacin o si la propuesta por Wizard es vlida
pulsamos Next para continuar con la instalacin.

Ilustracin 3: Ubicacin

La siguiente ventana es muy importante; en ella tenemos que introducir


la contrasea que se usaran para los usuarios SYS y SYSTEM que, sin
ellos, no se podr hacer nada o casi nada.

Una vez hayamos introducido la contrasea la confirmacin y pulsamos


Next para continuar.

Ilustracin 4: Contrasea

Hecho esto, se est listo para iniciar la instalacin. El Wizard nos


muestra un resumen de los valores que va a utilizar para el Listener,
Listener http, etc. todos estos puertos son los valores por defecto que
Oracle usa en cualquiera de sus productos.
Pulsamos el botn Install para iniciar la instalacin.

Ilustracin 5: Instalacin

El Wizard comenzar la carga de instalacin.

Ilustracin 6: Proceso de instalacin

Una vez ha terminado la instalacin ya tenemos instalado Oracle


Database 11g R2 Express Edition XE por lo que podemos pulsar el botn
Finish.

Ilustracin 7: Instalacin finalizada

Ping entre mquinas


En cmd utilizamos el comando ipconfig en ambas mquinas para ver
toda la informacin relacionada entre nuestras mquinas; lo que
nosotros utilizaremos ser la IPv4 de la parte de la LAN.

Ilustracin 9: IP

Posteriormente, con el comando ping seguida de la ip remota verificaremos


que hay comunicacin entre las dos mquinas.

Ilustracin 10: Maquina Fsica

Ilustracin 11: Mquina Virtual

Iniciar Listener

Una vez que tengamos abierto el cmd procedemos a activar el listener con los
siguientes comandos:
Comprobar su estado => lsnrctl status
Iniciar listener => lsnrctl start
Detener listener => lsnrctl stop

Ilustracin 12

Editar TNSNames.ora
Para poder establecer comunicacin entre las dos mquinas debemos
buscar el archivo tnsnames.ora, ubicado normalmente en la direccin:
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN

Una vez localizado debemos editar sus valores por default, para ello
basta con pulsar el botn derecho del mouse sobre l y seleccionar
Editar.

Ilustracin 13

Dentro del tnsnames.ora encontraremos los valores por default como se


ve en la Ilustracin 14. Nosotros nos enfocaremos slo en la parte del
XE.
NOTA: Para dar una mejor explicacin sobre el tnsnames.ora
cambiaremos a conveniencia los nombres de los XE.

Ilustracin 14

Primero seleccionaremos todo XE y lo copiaremos debajo del existente;


tendremos dos XE.

Ilustracin 15

Ahora cambiaremos el HOST del primer XE por la IP de la mquina


esclavo. En nuestro caso la IP es 10.15.62.145. Para diferenciar ste XE
con el de abajo cambiaremos su nombre y le pondremos esclavo.

Ilustracin 16

Haremos lo mismo para el segundo XE, donde el nuevo HOST ser la IP de la


mquina maestro. Seguido de cambiar el nombre XE por maestro, dando como
resultado lo siguiente:

Ilustracin 17

El resultado real para sta prctica fue :

Ilustracin 18

Conexin Maestro Esclavo


Comenzamos utilizando el Run SQL Command Line y el comando conn
usr/pwd, donde usr es el nombre del usuario y pwd su contrasea.
Seguido del comando se agrega @service_name, donde service_name
es el nombre declarado dentro del tnsnames.ora.

Ilustracin 19

Verificamos la conexin haciendo una consulta de nuestra base de datos


Votacin como se muestra en la Ilustracin 19.

Creacin del DBLink


Para el DBLink utilizamos el comando mencionado anteriormente que es:
CREATE DATABASE LINK link_name
CONNECT TO usr IDENTIFIED BY pwd
USING 'cadena_conexion';
El comando se ejecuta dentro de la mquina esclavo de la siguiente manera:

Ilustracin 20

Prueba y resultado de la consulta del DB Link

Para verificar la efectividad de nuestra conexin y del DB Link haremos


una consulta como: select * from Candidato@Replica2;
Donde Candidato es una tabla de la base de datos y Replica2 es el
nombre del DB Link creado anteriormente.

Ilustracin 21

5. Conclusin
La replicacin de una base de datos puede asegurar la integridad y la
consistencia de una base de datos casi en su totalidad ya que no puede
asegurar una transaccin en proceso debido a que la base de datos debe
concretar la transaccin para poder actualizar el estado de la base de datos. Es
a partir de ah donde la rplica puede visualizar los cambios.

Referencias

CAVSI, (2016), Qu es un Sistema Gestor de Bases de Datos o


SGBD?,

[Internet],

Disponible

en:

http://www.cavsi.com/preguntasrespuestas/que-es-un-sistema

gestor-de-bases-de-datos-o-sgbd/
Chvez, Omar; (2013), Replicacin, [Internet], Disponible en:
http://chavez-atienzo-2013.blogspot.mx/2013/04/replicacion.html
Cherry, (2011), Sistema Manejador de Base de Datos, [Internet],
Disponible
en:
http://sistemamanejadordebasededatossmbd.blogspot.mx/2011/02
/diferentes-tipos-de-sistemas-de.html
Massip, David; (2002), Que es Oracle,[Internet], Disponible en:
http://www.desarrolloweb.com/articulos/840.php
MICROSOFT, (2016), Replicacin de SQL Server, [Internet],
Disponible
en:
https://msdn.microsoft.com/eses/library/ms151198.aspx

Tifa, (2016), Como instalar Oracle Database 11g R2 Express


Edition
XE,
[Internet],
Disponible
http://www.tuinformaticafacil.com/tutoriales-deinstalaciones/como-instalar-oracle-database-11g-r2-expressedition-xe

en:

You might also like