Oracle Streams y su integración con Enterprise Manager 12c
16/03/2016 -
Oracle Streams permite la replicación de objetos y datos dentro de la misma base de datos o a otra base de datos. La replicación puede ser unidireccional o bidireccional y podemos replicar DML y DDL.
La configuración de Oracle Streams puede incluir toda la base de datos o únicamente un esquema o, si se quiere ser más específico, sólo determinadas tablas.
Si escogemos una replicación por esquema podremos poner excepción a determinadas tablas y si replicamos DDL las nuevas tablas creadas se irán incorporando al proceso de réplica.
En este post no vamos entrar en un profundo nivel técnico de lo que es Oracle Streams, lo que haremos es ver cómo se puede simplificar enormemente este proceso a través de Oracle Enterprise Manager 12c Cloud Control o, lo que es lo mismo, veremos cómo configurar Oracle Streams sin tener apenas conocimiento de esta herramienta.
Para este Laboratorio se ha dispuesto dos bases de datos Oracle 11.2.0.4:
Oracle Clusterware = STREAMSP (base de datos Origen)
Oracle Standalone = STREAMSY (base de datos Destino)
La replicación es recomendable realizarla desde otro usuario que no sea SYS y que tenga los privilegios adecuados; así nos lo recordara Enterprise Manager.
Dado esto el primer paso que haremos será completar estos dos prerrequisitos:
Base de datos en modo archivelog:
Creación del usuario para Streams (este usuario hay que crearlo en las dos bases de datos):
Objetivo de la replicación
En este laboratorio vamos a replicar el esquema HR que se ha creado sólo en la base de datos de Origen (STREAMSP),
La replicación se realizara a nivel de esquema y las tablas implicadas inicialmente son:
Proceso de configuración de la replica
Accedemos a Enterprise Manager y cuando nos pida un usuario para acceder a la base de datos utilizaremos STRMADMIN.
Ahora dentro de la pantalla principal de la base de datos lanzaremos el asistente de replicación.
Desde esta pantalla nos ofrece una serie de posibles opciones de replicación:
Seleccionamos “Replicate Schema” y las credenciales de HOST para la base de datos Origen, pulsamos continuar y tendremos la siguiente pantalla:
Seleccionamos HR y si es necesario marcamos las tablas a excluir y pulsamos continuar para la siguiente pantalla:
En esta pantalla utilizaremos el usuario para replicación creado previamente y pulsamos “next” para continuar:
En esta pantalla solo tenemos que poner los directorios de trabajo para Streams y pulsamos continuar.
En esta pantalla nos pedirá escoger cuando empezar con los procesos de réplica, en este caso seleccionamos “inmediate” y continuar.
Ahora ya está completada la configuración, solo nos queda lanzar el proceso con la pestaña “SUBMIT”.
Consideraciones
Es necesario crear los tablespaces que forman parte del proceso de réplica.
Desde la ventana de JOBS podemos seguir el proceso de la generación de la réplica.
Cuando esto termine podremos consultar el estado de replicación.
Verificación del Proceso de réplica
Para verificar los procesos de réplica accederemos a la gestión de réplica de Enterprise Manager:
Lo siguiente que haremos será generar ddl y dml para comprobar la replica.
En la base de datos Origen:
En la base de datos Destino:
En la base de datos Origen:
En la base de datos Origen:
En la base de batos Destino:
Desde Enterprise Manager 12c:
Y ya tenemos activa una replicación por Oracle Streams de una forma rápida y simplificada, añadiendo además un alto valor como es la motorización de estos procesos. Desde Oracle Enterprise Manager 12c podemos monitorizar incluso los procesos de replica que se hayan configurado desde otro medios.
Este es un ejemplo más de como Oracle Enterprise Manager simplifica la administración reduciendo constes tanto por el menor tiempo empleado en este tipo de configuraciones así como el poco nivel de expertis necesario.
Oracle Streams tiene muchos pros y contras comparado con otras herramientas, pero en esta ocasión sólo me gustaría destacar un valor que es muy importante a la hora de escoger nuestra solución de replica: Oracle Streams no necesita Licenciamiento adicional para una replicación Oracle-Oracle.
Como información adicional a este tema os dejo estos enlaces: