Replicación Bases de Datos Heterogéneas MySQL-Oracle

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

Modulo V: Implementación de una base de datos heterogénea distribuida

en los SGBD Oracle y MySQL Con replicación.

Caso práctico No: 6

Duración: 15 horas Dificultad:☺ Difícil

Objetivo: Implementar una base de datos heterogénea distribuida en los


sistemas gestores de bases de datos Oracle y MySQL aplicando
replicación.

Propósito: El alumno aprenderá por medio de la práctica guiada de este


manual a realizar la replicación de una base de datos heterogénea
distribuida en los sistemas gestores de bases de datos Oracle y MySQL,
para posteriormente aplicar los conocimientos obtenidos a las prácticas
de replicación que se asignan en la materia de administración de bases
de datos del Instituto Tecnológico de Chilpancingo.

Alcances: Creación de una base de datos heterogénea distribuida.

Requerimientos:
• 2 máquinas con sistema operativo Windows 10.
• Sistema Gestor de Bases de Datos MySQL 8.0 instalado y
funcionado en la primera máquina.
• Sistema Gestor de Bases de Datos Oracle data base 19 Instalado
y funcionando en la segunda máquina.
• Conector/ODBC MYSQL.
• Consola command Line Client MySQL
• Consola SQL plus de Oracle.

Video 3 - Caso práctico No.6 - Modulo V .mp4

Instrucciones:

106
• Descargar el ODBC de MySQL.
• Creación de la base de datos en MySQL.
• Creación del usuario con todos los privilegios y con host distribuido.
• Identificar la dirección IPv4 de la máquina con MySQL.
• Identificar la dirección IPv4 de la máquina con Oracle.
• Realizar ping desde la máquina con MySQL a Oracle.
• Realizar ping desde la máquina con Oracle a MySQL.
• Configuración de origen de datos con el conector ODBC.
• Crear y configurar el servicio Oracle Database Gateway (init.ora) de
los servicios heterogéneos del SGBD.
Si se tiene un error • Configurar el listener de Oracle (listener.ora).
constante de
desconexión de la • Reiniciar el listener del sistema.
red en las
máquinas • Configurar el tnsname de Oracle (tnsname.ora).
virtuales, dirígete • Realizar pruebas de la configuración del tnsname.
al repositorio de
errores y • Crear el Database Link en Oracle.
soluciones de
manual para • Realizar pruebas con la configuración realizada.
solucionarlo.

Error #: 7
Solución #: 7
Desarrollo: Para dar inicio a nuestra práctica vamos a descargar una de
las herramientas que es indispensable para que nuestra práctica funcione,
esta herramienta es el conector ODBC con el cual realizaremos la
conexión de Oracle a MySQL, las consolas que se nos mencionan en los
requerimientos (MySQL Command Line Client, SQL Plus) se nos agregan
al momento de instalar los sistemas gestores de bases de datos.

1. Procedemos a descargar el Conector ODBC de MySQL para ello


no dirigimos a la página de descargas de MySQL:
https://dev.mysql.com/downloads/connector/odbc/

Fig. 9.1. Página de descargas MySQL.

2. Seleccionamos el sistema operativo Windows y en versión


seleccionamos Windows(x86,64bit).

107
Fig. 9.2. Seleccionar arquitectura

3. Y en la lista que nos muestra en la parte inferior de la página en


Other Downloads descargamos el MSI INSTALLER.

Fig. 9.3. Descargar MSI Installer

4. En la siguiente página que nos muestra solo damos clic en el texto


no gracias, solo inicia mi descarga

Fig. 9.4. Iniciar la descarga

5. Después de estos pasos comienza el proceso de descarga del


archivo a nuestro ordenador y lo instalamos.

Fig. 9.5. Descarga iniciada.

6. Una vez descargadas e instaladas las herramientas necesarias


procederemos a nuestra práctica, crearemos la base de datos en

108
el sistema gestor de bases de datos MySQL a la cual le aplicaremos
la replicación, para ello nos basaremos en el siguiente modelo
relacional.

Fig. 9.6. Modelo relacional usuario/venta.

7. Y el Query que utilizaremos es el siguiente,

create database replicacion character set latin1;


use replicacion;
Nota:
Es importante usar create table Usuario(id_usuario INT PRIMARY KEY,
latin1 para la base
nombre VARCHAR(30));
de datos, porque
en el caso de que create table Venta(id_venta INT,id_usuario INT,cantidad INT,
usáramos UTF8 PRIMARY KEY (id_venta),FOREIGN KEY(id_usuario) REFERENCES
tendríamos usuario(id_usuario));
problemas al
acceder desde Query. 6.1. Select de clientes en máquina esclava 2.
Oracle.

8. Esta sería nuestra salida en consola:

Fig. 9.7. Crear base de datos.

9. Procedemos a crear un usuario con todos los privilegios para poder


ingresar desde una máquina diferente.

109
CREATE USER 'administrador'@'%' IDENTIFIED BY
'practicas2021';
Query.6.2. Crear usuario administrador.

10. Ingresamos el Query a nuestra consola esta sería nuestra salida.

Fig. 9.8. Crear usuario administrador.

11. Modificamos los privilegios a este nuevo usuario con el siguiente


Query

GRANT ALL PRIVILEGES ON *.* 'administrador'@'%';


FLUSH PRIVILEGES;
Query. 6.3. Actualizar privilegios

12. Y con esto tendríamos finalizada la parte de la creación del usuario


en MySQL.

Fig. 9.9. actualizar privilegios

13. Procedemos a identificar la dirección IPv4 de la máquina que tiene


el sistema gestor de base de datos MySQL, abrimos nuestra
consola de Windows (CMD).

Fig. 9.10. Símbolo del sistema.

14. Ingresamos ipconfig y presionamos enter, estos nos mostrarán


detalles de nuestros adaptadores de red de nuestro equipo.

110
Fig. 9.11. ipconfig mysql

15. Ubicamos entre ellos la dirección IPv4.

Si se tiene un error
después de este
paso, Dirígete al
repositorio de Fig. 9.12. IPv4 MySQL.
errores y
soluciones de este
manual para
solucionarlo. 16. Y realizamos la misma acción en la máquina que tiene el sistema
Error #: 6 gestor de base de datos Oracle.
Solución #: 6

Fig. 9.13. IPv4 Oracle.

17. Una vez que tengamos identificadas las direcciones IPv4 de ambas
máquinas, vamos a realizar un ping desde la máquina con el
sistema gestor MySQL a la máquina con el sistema gestor Oracle y
viceversa, si en ambos casos nos muestra que no hubo perdidas
de paquetes y que los mismos paquetes enviados fueron recibidos
eso nos confirma que la comunicación entre ambos ordenadores
es correcta y podemos realizar la comunicación distribuida.

Fig. 9.14. Conexión entre máquinas.

• Ping de ordenador con MySQL a Oracle.

111
Si se tiene un error
después de este Fig. 9.15. ping de máquina 1 a máquina 2
paso, Dirígete al
repositorio de
errores y
soluciones de este
manual para • Ping de ordenador con Oracle a MySQL.
solucionarlo.

Error #: 5
Solución #: 5

Fig. 9.16. ping de máquina dos a máquina 1

18. Después procedemos a realizar la conexión con la máquina que


tiene el sistema gestor de base de datos MySQL y esto lo
realizaremos con la ayuda del conector ODBC que descargamos al
inicio de la práctica. Para ello presionamos el botón inicio y
buscamos la aplicación “Orígenes de datos ODBC (64 bits),
escribiendo OD en el cuadro de búsqueda de Windows.

Fig. 9.17. Orígenes de datos ODBC.

19. Nos abre la siguiente ventana, nos posicionamos en el apartado


DSN de sistema, y damos clic en el botón agregar.

112
Fig. 9.18. DNS del sistema

20. En crear nuevo origen de datos vamos a seleccionar MySQL ODBC


8.0 Unicode Driver y presionamos el botón Finalizar.

Fig. 9.19. Crear nuevo origen de datos.

21. El paso anterior nos abre la siguiente ventana de configuración del


conector ODBC.

113
Fig. 9.20. Configuración de ODBC.

22. En ella vamos a ingresar los datos del usuario que creamos
anteriormente para poder ingresar desde esta máquina.

Fig. 9.21. Configurar ODBC.

23. En donde:

114
• Data Source Name = Es el nombre que le aplicaremos a
esa conexión.
• Descripción = Es una breve descripción de la conexión
(esta es opcional).
• TCP/IP Server = Aquí ingresaremos la dirección IPv4 de la
máquina a la cual nos vamos a conectar por medio del
ODBC.
• User = usuario que creamos en el paso 9 de esta práctica.
• Password = la contraseña que le asignamos a ese usuario.
• Database = aquí vamos a seleccionar la base de datos que
creamos para esta práctica (paso 7).

24. Si los datos son correctos al presionar Test nos mandaría un


mensaje de conexión exitosa.

Fig. 9.22. Conexión exitosa.

25. Y nos actualizaría la lista de DSN del sistema, damos clic en


aceptar y ya estaría lista nuestra configuración del ODBC.

Fig. 9.23. Apartados de DNS.

115
26. Procedemos a ubicar los archivos que utilizaremos para configurar
la conexión, en el caso de esta práctica la ubicación de la carpeta
de instalación de Oracle se encuentra en la siguiente ruta, aunque
esta cambiara en cada equipo:
C:\app\luis_\product\18.0.0\dbhomeXE

Fig. 9.24. carpeta dbhomeXE.

27. Dentro del dbhomeXE vamos a ubicar la carpeta para la


configuración de los servicios heterogéneos hs.

Fig. 9.25. Carpeta de servicios heterogéneos.

28. Acedemos a la carpeta admin y dentro de ella ubicamos el archivo


intidg4odbc.ora

Fig. 9.26. archivo initdg4odbc.ora.

29. Hacemos una copia de este archivo.

Fig. 9.27. Copia de archivo init.

30. Y le cambiamos el nombre al archivo por “initmysql”.

116
Fig. 9.28. Modificar datos.

31. Abrimos el archivo con el editor de texto de nuestra preferencia y


este sería el contenido.

Fig. 9.29. Archivo initmysql.

32. HS_FDS_TRACE_LEVEL lo comentamos con un # y el


HD_FDS_CONNECT_INFO lo cambiamos por el nombre que le
asignamos a la conexión del ODBC (paso 22).

Fig. 9.30. Modificación de datos.

33. Guardamos los cambios y cerramos este archivo.

117
Fig. 9.31. Guardar cambios en archivo.

34. Sin cerrar la carpeta presionamos control + N y se nos abrirá la


misma carpeta actual, retrocedemos dos carpetas y ubicamos la
carpeta network→admin

Fig. 9.32. Carpeta network.

35. Para poder basarnos en la configuración del listener y el tns, vamos


a apoyarnos de los archivos que terminan con sample ubicamos en
la carpeta hs damos clic derecho y los abrimos con el editor de
texto.

Fig. 9.33. Carpeta hs de ejemplos.

36. Volviendo a la carpeta network abrimos el archivo listener con el


editor de texto de nuestra preferencia.

Fig. 9.34. Editar archivo listener.

37. Y este sería el contenido de nuestro archivo.

118
Fig. 9.35. Modificar parámetros de listener.

38. De los archivos que abrimos en el paso 35 ubicamos el que lleva


por nombre “listener.ora.sample”, y copiamos esta parte del
archivo.

Fig. 9.36. SID de ejemplo.

39. Y pegamos al final del archivo listener de la carpeta network

Fig. 9.37. pegar SID.

40. En el apartado (SID_NAME=dg4odbc) cambiamos el texto a él SID


name por el nombre que le dimos al archivo del paso 30 sin el init

119
Fig. 9.38. cambiar el SID_NAME.

41. Esa línea sea la única que se modifica guardamos y cerramos.

Fig. 9.39. Guardar cambios en listener.

42. Reiniciamos el listener para aplicar los cambios realizados, para


ello vamos a hacer uso del símbolo del sistema de Windows como
administrador.

Fig. 9.40. Ejecutar como administrador.

43. Y dentro de la consola ingresamos el siguiente comando para


detener el listener: lsnrctl.ext stop y presionamos enter

Fig. 9.41. Detener lsnrctl.exe.

44. Ingresamos el comando para iniciar el listener nuevamente y se


vean reflejados los cambios que realizamos en el archivo
listener.ora: lsnrctl.exe start

120
Fig. 9.42. Iniciar lsnrctl.exe.

45. Este comando nos arrojará el siguiente resultado en consola en el


cual podremos observar que ya tenemos activo el servicio que
configuramos en el archivo listener de Oracle.

Fig. 9.43. Servicio activo mysql.

46. Con el paso anterior si se nos mostró el nuevo servicio que creamos
en el listener ya tendríamos la configuración de este, vamos a
proceder a editar el archivo tnsname.ora que se encuentra en la
carpeta network →admin damos clic derecho y lo abrimos con el
editor.

Fig. 9.44. Abrir tnsname.ora

47. Y este sería el contenido de nuestro archivo.

121
Fig. 9.45. archivo tnsname.ora.

48. Para configurar este archivo nos vamos a apoyar del archivo que
lleva por nombre “tnsname.ora.sample” que se encuentra en la
capeta de servicios heterogéneos (hs) y vamos a copiar el texto del
dg4odbc.

Fig. 9.46. Ejemplo dg4odbc.

49. Y lo vamos a pegar al final del documento en tnsname.ora.

Fig. 9.47. Pegar ejemplo dg4odbc.

122
50. Continuamos modificando el parámetro dg4odbc por el nombre que
queramos, en el caso de esta práctica utilizaremos “mysql_odbc”.

Fig. 9.48. Modificar nombre en el archivo.

51. Guardamos los cambios y procedemos a realizar una prueba con


la configuración, para ello nos dirigimos al CMD e ingresamos el
comando tnsping + el nombre que asignamos a la configuración del
paso anterior: tnsping mysql_odbc y presionamos enter.

Fig. 9.49. Tnsping de mysql_odbc.

52. Y la consola nos arrojará el siguiente resultado en donde nos


muestra que él TA es igual al nombre que ingresamos en el paso
40 y que el servicio heterogéneo está en ok, si nos muestra al final
de la consola el texto “Realizado correctamente” confirmaríamos
entonces que las configuraciones del tnsname está realizada
correctamente.

Fig. 9.50. Configuración correcta.

123
53. Uno de nuestros últimos pasos sería el crear el dabatase link con
el que haremos las pruebas de funcionamiento, para ello nos
vamos a inicio, buscamos la carpeta Oracle-OraDB18Home y
abrimos el SQL Plus.

Fig. 9.51. Carpeta Oracle.

54. Ingresamos nuestros datos de acceso y presionamos enter.

Fig. 9.52. Conexión al servicio Oracle.

55. Seguido de esto vamos a ingresar el siguiente Query:


CREATE PUBLIC DATABASE LINK mysql CONNECT TO
“administrador” IDENTIFIED BY “practicas2021”
USING “mysql_odbc”;

Query.6.4. Crear database link.

En donde:
• Mysql = es el nombre del dblink
• Administrador = es el usuario creado en el sistema gestor
MySQL.
• Practicas2021= es contraseña que le asignamos a ese
usuario en MySQL.
• Mysql_odbc= al nombre que ingresamos en la configuración
del tnsname.ora(paso 50).

124
56. Salida en consola y con esto ya tendríamos creado el database link
del sistema gestor de base de datos Oracle a MySQL

Fig. 9.53. Salida en consola dblink.

57. Vamos a realizar algunas pruebas para verificar que todos nuestros
pasos anteriores estén correctamente comenzaremos realizando
un select *from a la tabla venta esta nos tiene que arrojar que la
tabla está vacía para ello ingresamos el siguiente Query.
Select *from venta@mysql;

Query. 6.5. Consulta a la tabla venta.

58. Y este sería nuestra salida en consola.

Fig. 9.54. Consulta de la tabla venta.

59. Ingresamos un registro en MySQL para verlo reflejado en Oracle


para ello abrimos la consola de MySQL Command Line Client e
ingresamos el siguiente Query.
Insert into usuario (id_usuario,nombre) VALUES
(1,”Javier Perez”);

Query.6.6. Insertar usuario.

60. Salida en consola:

Fig. 9.55. Salida en consola.

61. Realizamos un select *from en la consola de Oracle a la tabla de


usuario ingresando el siguiente Query:

125
Select *from usuario @mysql;

Query. 6.7. Consulta de tabla usuario.

62. Y con esta consulta nos arroja el dato que ingresamos en mysql.

Fig. 9.56. Consulta de registros en usuario.

63. Vamos a actualizar este registro, para ello ingresamos el siguiente


Query en MySQL:

UPDATE usuario SET nombre= “angel” WHERE id_usuario=1;

Query. 6.8. Actualizar datos de usuario.

64. La salida en consola sería la siguiente:

Fig. 9.57. Datos de usuario actualizados.

65. Hacemos un select *from en Oracle de la tabla usuario para


visualizar el cambio.

Select *from usuario @mysql;

Query. 6.9. Consulta de registros.

66. Y la salida sería la siguiente:

Fig. 9.58. Resultado de la consulta.

67. Y por último vamos a agregar un registro a la tabla ventas la cual


tiene una llave foránea a id_usuario, ingresamos el siguiente Query:

126
Fig. 9.59. Insertar registro en venta.

68. Para ver reflejado el cambio vamos a ingresar el siguiente Query


en la consola de Oracle haciendo referencia a la tabla venta.

Select *from venta @mysql;

Query. 6.10. Consulta de la tabla venta.

69. Esta sería nuestra salida en consola la cual muestra el registro que
se ingresó en la tabla venta con el SGBD MySQL.

Fig. 9.60. Consulta a la tabla venta.

Fin de la práctica …

127

También podría gustarte