Replicar datos de una base de datos de Oracle en BigQuery


En este tutorial se muestra cómo implementar una tarea que replica continuamente los datos modificados de una base de datos de Oracle en un conjunto de datos de BigQuery mediante la replicación de Cloud Data Fusion. Esta función usa la tecnología de Datastream.

Objetivos

En este tutorial, aprenderás a hacer lo siguiente:

  1. Configura tu base de datos de Oracle para habilitar el registro complementario.
  2. Crea y ejecuta una tarea de replicación de Cloud Data Fusion.
  3. Consulta los resultados en BigQuery.

Costes

En este documento, se utilizan los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Los usuarios nuevos Google Cloud pueden disfrutar de una prueba gratuita.

Cuando se ejecuta la replicación, se te cobra por el clúster de Dataproc y Cloud Storage, y se te aplican costes de procesamiento por Datastream y BigQuery. Para optimizar estos costes, le recomendamos que utilice los precios de tarifa plana de BigQuery.

Antes de empezar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Enable the Cloud Data Fusion, Dataproc, Datastream, BigQuery, and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Crea una instancia pública de Cloud Data Fusion con la versión 6.3.0 o una posterior. Si crea una instancia privada, configure el emparejamiento de redes VPC.
    • Cuando crees la instancia, habilita la replicación haciendo clic en Añadir aceleradores y seleccionando la casilla Replicación.
    • Para habilitarla en una instancia, consulta Habilitar la replicación.
  5. Roles obligatorios

    Para obtener los permisos que necesitas para conectarte a una base de datos de Oracle, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

    Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.

    También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

    Opcional: Instalar Oracle en Compute Engine

    En esta sección se muestra cómo configurar una base de datos de ejemplo. Si ya tiene instalada una base de datos Oracle, puede saltarse esta sección.

    1. Descarga una imagen Docker de Oracle Server.

      Para ver las limitaciones de esta imagen de Oracle Express Edition 11g, consulta Ediciones de Oracle Database.

    2. Despliega tu imagen Docker en una nueva instancia de VM.

    3. En la página Discos de Compute Engine, cambia el tamaño del disco a 500 GB y reinicia la VM.

      Ir a Discos

    4. Instala el esquema de muestra de RR. HH..

    Crear un emparejamiento de redes de VPC o una regla de cortafuegos para tu servidor Oracle

    Si tu base de datos de Oracle no permite el tráfico entrante de direcciones IP públicas, configura el peering de redes de VPC entre la VPC de Datastream y la VPC en la que se puede acceder a tu base de datos de Oracle. Para obtener más información, consulta el artículo Crear una configuración de conectividad privada.

    Si tu base de datos de Oracle permite el tráfico entrante de direcciones IP públicas, crea una regla de cortafuegos para la instancia de VM que permita el tráfico entrante de las IPs públicas de Datastream.

    Configurar el servidor Oracle para habilitar el registro complementario

    Sigue los pasos para configurar tu base de datos de Oracle de origen.

    Crear y ejecutar un trabajo de replicación de Cloud Data Fusion

    Crea la tarea.

    1. En la interfaz web de Cloud Data Fusion, haga clic en Replicación.

    2. Haz clic en Crear un trabajo de replicación.

    3. En la página Create new replication job (Crear trabajo de replicación), especifica un Name (Nombre) para el trabajo de replicación y haz clic en Next (Siguiente).

    4. Configura la fuente:

      1. Seleccione Oracle (por Datastream) como fuente.

      2. En Método de conectividad, si tu servidor Oracle permite el tráfico entrante de las IPs públicas de Datastream, elige Incluir IPs en lista de IP permitidas. De lo contrario, en Nombre de la conexión privada, elige Conectividad privada (emparejamiento de VPC) e introduce el nombre del emparejamiento de VPC que has creado en la sección Crear un emparejamiento de redes de VPC o una regla de cortafuegos para tu servidor de Oracle.

      3. En Host, introduce el nombre de host del servidor de Oracle que quieras leer.

      4. En Puerto, introduce el puerto que se va a usar para conectarte al servidor de Oracle: 1521.

      5. En Identidad del sistema, introduce xe (el nombre de la base de datos de ejemplo del servidor Oracle).

      6. En la sección de credenciales, introduce tu nombre de usuario y tu contraseña para acceder al servidor de Oracle.

      7. Deja el resto de las propiedades como están.

    5. Haz clic en Siguiente.

    6. Configura el objetivo:

      1. Selecciona el destino de BigQuery.

      2. El ID de proyecto y la clave de cuenta de servicio se detectan automáticamente. Mantenga los valores predeterminados.

      3. Opcional: En la sección Avanzado, puede configurar lo siguiente:

        • Nombre y ubicación del segmento de almacenamiento provisional
        • Intervalo de carga
        • Prefijo de la tabla de staging
        • Comportamiento cuando se eliminan tablas o bases de datos
    7. Haz clic en Siguiente.

    8. Si la conexión se realiza correctamente, se mostrará una lista de tablas. En este tutorial, selecciona algunas tablas.

    9. Haz clic en Siguiente.

    10. En la página de revisión de la evaluación, haga clic en Ver asignaciones en cualquiera de las tablas para obtener una evaluación de los problemas de esquema, las funciones que faltan o los problemas de conectividad que puedan producirse durante la replicación.

      Si se produce algún problema, debes resolverlo antes de continuar. En este tutorial, si alguna de las tablas tiene problemas, haz lo siguiente:

      1. Vuelve al paso en el que seleccionaste las tablas.
      2. Selecciona una tabla o un evento (inserciones, actualizaciones o eliminaciones) sin problemas.

      Para obtener más información sobre las conversiones de tipos de datos de la base de datos de origen al destino de BigQuery, consulta Tipos de datos de replicación.

    11. Haz clic en Back (Atrás).

    12. Haz clic en Siguiente.

    13. Revise los detalles del trabajo de replicación de resumen y haga clic en Implementar trabajo de replicación.

    Empezar el trabajo

    1. En la interfaz web de Cloud Data Fusion, ve a la página de detalles de la tarea de replicación.

    2. Haz clic en Empezar.

    La tarea de replicación pasa del estado Provisioning (Aprovisionando) al estado Starting (Iniciando) y, después, al estado Running (En ejecución). En el estado de ejecución, la tarea de replicación carga una instantánea inicial de los datos de la tabla que has seleccionado en BigQuery. En este estado, el estado de la tabla se indica como Creando una copia. Una vez que se haya cargado la primera copia en BigQuery, cualquier cambio que se haga en la tabla se replicará en BigQuery y el estado de la tabla será Replicando.

    Monitorizar la tarea

    Puedes iniciar y detener la tarea de replicación, revisar su configuración y sus registros, y monitorizarla.

    Puedes monitorizar las actividades de las tareas de replicación desde la página Detalles de la tarea de replicación.

    1. En la página Replicación, haga clic en el Nombre del trabajo de replicación que haya elegido.

    2. Haz clic en Monitorización.

    Ver los resultados en BigQuery

    La tarea de replicación crea un conjunto de datos y una tabla replicados en BigQuery, con nombres heredados de los nombres de la base de datos y la tabla de Oracle correspondientes.

    1. En la consola de Google Cloud , ve a la página BigQuery.

    2. En el panel de la izquierda, haz clic en el nombre de tu proyecto para desplegar una lista de conjuntos de datos.

    3. Selecciona el conjunto de datos xe y, a continuación, selecciona una tabla para verla.

    Para obtener más información, consulta la documentación de BigQuery.

    Limpieza

    Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.

    Cuando hayas terminado el tutorial, elimina los recursos que has creado enGoogle Cloud para que no ocupen cuota y no se te facturen en el futuro. En las siguientes secciones se explica cómo eliminar o desactivar dichos recursos.

    Eliminar la instancia de VM

    1. En la consola de Google Cloud , ve a la página Instancias de VM.

      Ir a instancias de VM

    2. Marca la casilla de la instancia que quieras eliminar.

    3. Para eliminar la instancia, haz clic en Eliminar.

    Eliminar la instancia de Cloud Data Fusion

    Sigue las instrucciones para eliminar tu instancia de Cloud Data Fusion.

    Eliminar el proyecto

    La forma más fácil de evitar que te cobren es eliminar el proyecto que has creado para el tutorial.

    Para ello, sigue las instrucciones que aparecen a continuación:

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Siguientes pasos