Anda di halaman 1dari 9

Replicacin de Bases usando Sybase

En este tutorial se explica como replicar datos usando tres bases de datos, una base consolidada o central y dos bases remotas. Se usaron las siguientes herramientas:

Windows 7 Sybase 9 SQl Anywhere 9 Sybase SQL Remote

Para nuestro ejemplo necesitamos tres carpetas las cuales nos sirven como:

db_consolid -> para la base de datos consolidada. db_remoto1 -> para el archivo de base de datos remota 1. db_remoto2 -> para el archivo de base de datos remota 2.

todas estas carpetas deben estar compartidas para poder hacer la replicacion. Luego creamos la base de datos consolidada con una unica tabla llamada persona(con los campos: id, nombre): Nos conectamos a sybase con el user: dba y el pass: sql

click derecho en asademo y seleccionamos Create Database. Del asistente que nos sale presionamos siguiente y elegimos Create a database on this computer

presionamos siguiente, y escribimos la ruta de nuestra base consolidad con el nombre db_consolid

Luego presionamos en Finalizar. Nos desconectamos de la base asademo, presionando F12. Ahora nos conectaremos a nuestra base de datos consolidada(db_consolid), haciendo lo siguiente: Presionamos Connect o F11 y en la pestaa Identification ponemos el user: dba y pass: sql

Luego en la pestaa Database seleccionamos el fichero de conexin, en nuestro caso es la base de datos que creamos, es decir, nuestra base db_consolid

Luego presionamos OK. Con esto tenemos nuestra base db_consolid conectada.

Del panel izquierdo seleccionamos la carpeta que dice User & Groups y en el panel derecho creamos tres usuarios:

publicador -> es el usuario de la base consolidada remoto1 -> es el usuario de la base remota 1. remoto2 -> es el usuario de la base remota 2.

Ahora debemos hacer que los dos usuarios sean remotos y el otro sea publicador, ya que se va a encargar de publicar a las bases remotas los cambios en la base. Para esto debemos hacer lo siguiente: Al usuario remoto1 le damos click derecho y elegimos la opcion de Change to Remote User y nos sale la siguiente ventana:

el el campo address debemos especificar la ruta de la base remota 1 ya que es ahi donde se localizar dicha base con todo el log de transacciones: el formato de la ruta es: \\nombre_equipo\carpeta_de_base donde equipo_remoto es el nombre del equipo remoto y carpeta_de_base es la carpeta donde se encuentra el log de transacciones de la base remota, en nuestro caso tenemos todas las bases en el mismo equipo, por ende la ruta para la base remoto1 y 2 seran respectivamente:

remoto1: \\nombre_equipo\db_remoto1 remoto2: \\nombre_equipo\db_remoto2

Ahora debemos configurar nuestro usuario publicador de nuestra base consolidada, para esto damos click derecho sobre el usuario publicador y elegimos la opcion de Change to Publisher

Ahora debemos crear la publicacion para la base consolidada, para esto, damos click en la carpeta del panel izquierdo que dice Publications y en panel derecho damos click derecho y creamos una nueva publicacin:

del asistente que nos sale le asignamos el nombre a la publicacin y damos en siguiente

En la pestaa de tabla seleccionamos la nica tabla y presionamos add y de la pestaa de columnas seleccionamos ambas columnas(id y persona) y presionamos add:

luego presionamos en siguiente y le ponemos un comentario y por ltimo damos en Finalizar, ahora ya tenemos la subscripcion, por lo que tenemos que hacer que el usuario remoto1 y el usuario remoto2 se suscriban, para esto seleccionamos del panel izquierdo la publicacion creada y del panel derecho seleccionamos la pestaa SQL Remote Subscriptions, una vez ahi le damos click derecho y creamos una nueva subscripcion, nos saldra un asistente en el cual seleccionaremos a uno de los usuarios remotos y presionamos en finalizar, con esto ya hemos suscrito al usuario remoto,

al final tenemos los usuarios remotos ya suscritos a la base consolidada.

por ltimo debemos dar permisos a los usuarios remotos, para eso hacemos lo siguiente: del panel izquierdo seleccionamos la carpeta de SQL Remote Users y en el panel derecho se mostraran los usuarios remotos creados, a cada uno de los usuarios remotos, le damos click derecho y seleccionamos propiedades, nos vamos a la pestaa de Permissions, y le damos todos los permisos, por ltmio seleccionamos aplicar y aceptar.

Por ltimo debemos configurar los mensajes, seleccionamos la pestaa de Message Type, luego damos doble click en FILE y en Publisher Address escribimos la ruta de nuestra base consolidada, en nuestro caso es: \\nombre_equipo\db_consolid

luego presionamos en aplicar y aceptar. Entonces ya tenemos lista nuestra base consolidad para poder realizar replicacin. Ahora debemos configurar las bases remotas, para esto debemos extraer la base de datos consolidad de la siguiente manera: Seleccionamos la base consolidada y le damos click derecho y luego en Extract Database, del asistente que nos sale presionamos en siguiente y elegimos la base de datos consolidada, luego el siguiente, luego en siguiente y seleccionamos el primer usuario remoto1, luego presionamos en siguiente hasta que nos salga la ventana de Create and reload into the following new database file:, en la cual escribiremos la ruta de nuestra carpeta donde se localizara nuestra base remota1, luego en sguiente y or ltimo en finalizar. Luego debemos hacer lo mismo pero con el usuario remoto2. Al final tendremos las dos bases remotas y la base consolidada creadas.

Ahora queremos probar la replicacion de bases de datos, por lo que haremos lo siguiente: Desconectamos cualquier base y cerramos Sybase Central, luego abrimos 3 ventanas de Interactive SQL, una para cada base creada, es decir, una para la base consolidada(db_consolid), otra para la base remota1(db_remoto1) y otra para la base remota2(db_remoto2), ahora hacemos lo siguiente: En la base consolidad insertamos un registro cualquiera, en este caso insertamos el registo con id=1 y con nombre=Juan, ahora, si hacemos una consulta en las bases remotas podemos observar que no ha pasado ningun registro aun,

eso es porq no se ha ejecutado un comando en la consola para replicar la base consolidada a las bases remotas, el comando es el siguiente: dbremote -c dbn=db_consolid;uid=dba;pwd=sql al ejecutar este comando nos saldr una ventana de Sybase SQL Remote la cual nos indica que la base consolidada esta en espera para transmitir los cambios a las bases remotas.

Ahora con esta espera, en la misma consola y sin cerrar la ventana de Sybase SQL Remote, ejecutamos el mismo comando cambiando el nombre de la base de datos por db_remoto1, con esto hemos pasado los cambios de la base consolidada a la base remoto1, el comando quedara: dbremote -c dbn=db_remoto1;uid=dba;pwd=sql , este para la base remoto1 y para la base remoto2 quedara asi: dbremote -c dbn=db_remoto2;uid=dba;pwd=sql , luego de ejecutar el comando nos sale la misma ventana de Sybase SQL Remote pero al final de los mensajes nos muestra ejecucion completa, lo que indica que la replicacion fue exitosa.

Ahora nos queda verificar si las bases remotas recibieron el cambio hecho en la base consolidada, en nuestro caso hicimos un insert en la unica tabla persona, con id=1 y nombre=Juan.

Efectivamente observamos que en las dos bases remotas, db_remoto1 y db_remoto2 se encuentra replicado el dato que se insert en la base de datos consolidada. Con esto damos por terminado el mega mini tutorial de replicacin de bases de datos usando Sybase como motor de base de datos y la herramienta SQL Remote del mismo Sybase.

Anda mungkin juga menyukai