Migración de Amazon Redshift a Autonomous Database

El asistente de migración de SQL Developer Amazon Redshift, disponible con SQL Developer 18.3 y versiones posteriores, proporciona un marco para una migración sencilla de los entornos de Amazon Redshift por esquema.

En esta sección, se describen los pasos y el flujo de trabajo para una migración en línea de Amazon Redshift y para la generación de scripts para una migración manual programada que se ejecuta posteriormente.

Visión general de la migración de Redshift de Autonomous Database

Con SQL Developer, puede migrar archivos de base de datos de Amazon Redshift a Autonomous Database.

  • Capturar: captura esquemas y tablas de metadatos de la base de datos de origen y los almacena en el repositorio de migración.

  • Convertir: los tipos de datos de Redshift se asignan a los tipos de datos de Oracle. Los nombres de objeto de Redshift se convierten en nombres de Oracle basados en la convención de nomenclatura de Oracle. Los valores por defecto de columna que utilizan funciones Redshift se reemplazan por sus equivalentes de Oracle.

  • Generar: genera esquemas y DDL basados en los metadatos convertidos.

  • Desplegar: despliegue los esquemas y DDL generados.

  • Copiar datos: descargue los datos de las tablas de Redshift en Amazon Storage S3 y, a continuación, copie los datos de Amazon Storage en las tablas de Autonomous Database (en esquemas) que se hayan desplegado anteriormente.

Conexión a Amazon Redshift

Con SQL Developer, puede migrar esquemas y tablas de base de datos de Amazon Redshift a Autonomous Database. Para extraer metadatos y datos de Amazon Redshift para una migración, se debe conectar a Amazon Redshift con SQL Developer.

Descargar el controlador JDBC de Amazon Redshift y agregar el controlador de terceros

  1. Descargue un controlador JDBC de Amazon Redshift para acceder a Amazon. Consulte la documentación de Amazon Redshift para conocer la ubicación del controlador JDBC más reciente. Para obtener más información, consulte Configuración de una conexión JDBC.

    Nota

    Utilice el controlador JDBC 4.2 de Amazon Redshift compatible con JDBC.
  2. Almacene el controlador JDBC de Amazon Redshift en un directorio local en el que SQL Developer pueda acceder al controlador JDBC de Amazon.

  3. Agregue el controlador JDBC de Amazon Redshift como tercero a SQL Developer antes de realizar una conexión. En SQL Developer, vaya a Herramientas > Preferencias > Base de datos > Controladores JDBC de terceros (para Mac, es Oracle SQL Developer > Base de datos de preferencias > Controladores JDBC de terceros).

  4. Haga clic en Agregar entrada y seleccione la ruta al controlador JDBC de Amazon Redshift que descargue.


    A continuación se muestra la descripción de dwcs_aws_migration_jdbc_add1.png

  5. Haga clic en Aceptar para agregar el controlador JDBC de Amazon Redshift que descargue.


A continuación se muestra la descripción de dwcs_aws_migration_jdbc_add2.png

Agregar conexión a la base de datos de Amazon Redshift

Conéctese a la base de datos de Amazon Redshift.

  1. En el panel Conexiones, haga clic con el botón derecho en Conexiones y seleccione Nueva conexión....

  2. Seleccione el separador Amazon Roja e introduzca la información de conexión para Amazon Roja.

    Si tiene previsto migrar varios esquemas, se recomienda conectarse con el nombre de usuario maestro al sistema Amazon Redshift.


    Descripción de adw_migrate_aws_connect1.png a continuación

Pruebe la conexión antes de guardarla.

Información adicional para la autenticación de Amazon y el control de acceso

Conexión a Autonomous Database

Con SQL Developer, puede crear una conexión a Autonomous Database.

Obtenga el archivo zip de la cartera de credenciales del cliente. Para obtener más información, consulte Download Client Credentials (Wallets).
  1. En el panel Conexiones, haga clic con el botón derecho en Conexiones y seleccione Nueva conexión....
  2. Seleccione el separador Oracle e introduzca la información de conexión de Autonomous Database.
  3. Para la conexión de migración de AWS Redshift, seleccione la conexión _low a la base de datos.
  4. Agregar una conexión a Autonomous Database.


    Descripción de adb_connect_sqldev_17.4.png a continuación

    Consulte Conexión de Oracle SQL Developer con una cartera (mTLS) para obtener más información.

    Pruebe la conexión antes de guardarla.

Inicio del asistente de migración a la nube

Llame al asistente de migración a la nube desde el menú Herramientas de SQL Developer para iniciar la migración de Amazon Redshift a Autonomous Database.

El asistente de Migración a la nube se inicia al hacer clic en Migraciones a la nube desde Migración en el menú Herramientas. El asistente de Migraciones en la nube permite migrar esquemas, objetos (tablas) y datos de una base de datos de Amazon Redshift a Autonomous Database.


A continuación se muestra la descripción de adw_migrate_redshift_start.png

El asistente de migración a la nube es un conjunto de pasos sencillo. El asistente de migración a la nube le guía para:

  • Identificar los esquemas de la base de datos de Amazon Redshift que desea migrar.

  • Identifique la instancia de destino de Autonomous Database.

  • Definir si desea migrar los metadatos (DDL), los datos o ambos.

  • Elegir migrar el sistema en línea, generar scripts o ambos.

Identificar la base de datos de Amazon Redshift

Identificar los esquemas de la base de datos de Amazon Redshift que se van a migrar. Se van a migrar todos los objetos, principalmente tablas, del esquema. La migración a Autonomous Database se realiza por esquema. No se puede cambiar el nombre de los esquemas como parte de la migración.

  1. En la migración de AWS Redshift, especifique la conexión.


    Descripción de adw_migrate_redshift_step1of3.png a continuación

  • Conexión: nombre de la conexión a la base de datos de Redshift.

  • Esquemas disponibles: esquemas disponibles para la conexión específica.

  • Esquemas seleccionados: haga clic en el icono Agregar para seleccionar los esquemas que desea migrar de Esquemas disponibles.

  • Incluir datos: DDL y DATA migran los esquemas y datos seleccionados.

Al migrar datos, debe proporcionar la clave de acceso de AWS, la clave de acceso secreta de AWS y un URI de cubo S3 existente en el que se descargarán y almacenarán temporalmente los datos de Redshift. Las credenciales de seguridad necesitan determinados privilegios para almacenar datos en S3. Se recomienda crear nuevas claves de acceso independientes para la migración. La misma clave de acceso se utilizará posteriormente para cargar los datos en Autonomous Database mediante solicitudes REST seguras.

Formato de URI de cubo de Amazon S3

Para los archivos de origen que residan en Amazon S3, consulte lo siguiente para obtener una descripción del formato de URI para acceder a los archivos: Acceso a un cubo. Por ejemplo, lo siguiente hace referencia a la carpeta de archivos 'folder_name' en el cubo adwc de la región us-west-2.

https://s3-us-west-2.amazonaws.com/adwc/folder_name

S3 Ejemplo 1 de configuración de cubo

Si proporciona el siguiente URI de cubo S3:

https://s3-us-west-2.amazonaws.com/my_bucket

El asistente verifica toda la ruta, incluido my_bucket. Se intenta escribir un archivo de prueba; si no se puede acceder a él, aparece una petición de datos. En caso de que my_bucket no exista, se informa de un error:

Validation Failed

A continuación, la generación de código crea la siguiente ruta para la función DBMS_CLOUD.COPY_DATA:

file_uri_list => "https://s3-us-west-2.amazonaws.com/my_bucket/oracle_schema_name/oracle_table_name/*.gz"

El asistente de migración crea estas carpetas: oracle_schema_name/oracle_table_name dentro del cubo: my_bucket.

S3 Ejemplo 2 de cubo

Si proporciona el siguiente URI de cubo S3:

https://s3-us-west-2.amazonaws.com/my_bucket/another_folder

El asistente verifica toda la ruta, incluido my_bucket. Se intenta escribir un archivo de prueba; si no se puede acceder a él, aparece una petición de datos. En caso de que my_bucket no exista, se informa de un error:

Validation Failed

En este caso, no es necesario que exista another_folder. La migración crea el cubo another_folder en my_bucket.

A continuación, la generación de código crea la siguiente ruta para la función DBMS_CLOUD.COPY_DATA:

file_uri_list => ‘https://s3-us-west-2.amazonaws.com/my_bucket/another_folder/oracle_schema_name/oracle_table_name/*.gz

Paso 2 de 3: Autonomous Data Warehouse Cloud

Cree una conexión para la instancia de Autonomous Database de destino. Consulte Conexión a Autonomous Database. El usuario para esta conexión debe tener privilegios administrativos; la conexión se utiliza durante la migración para crear esquemas y objetos.

Nota

Utilice el usuario ADMIN o un usuario con rol de administrador.

El asistente de migración de Amazon Redshift le permite realizar una migración en línea de inmediato, generar todos los scripts necesarios para una migración, o ambos procesos. Si decide almacenar los scripts en un directorio local, debe especificar el directorio local (el usuario debe poder escribir en el directorio).


Descripción de adw_migrate_redshift_step2of3.png a continuación

  • Conexión: nombre de la conexión de Autonomous Data Warehouse Cloud. Cree una conexión para Autonomous Database si es necesario. El usuario debe tener privilegios administrativos, ya que esta conexión se utiliza durante la migración para crear esquemas y objetos. 

  • Contraseña del repositorio de migración: contraseña del repositorio de migración instalado en Autonomous Database como parte de la migración de esquema. Utilice la contraseña rellenada previamente o introduzca una nueva contraseña.

  • Remove repository on success migration: Seleccione esta opción para eliminar el repositorio una vez completada la migración. El repositorio no es necesario después de la migración.

  • Migrar ahora: seleccione esta opción para realizar una migración en línea inmediatamente.

    Nota

    • Si las opciones Incluir datos del paso 1 y Migrar ahora no están seleccionadas, puede optar por generar todos los scripts SQL necesarios para la migración manual.

    • Si la opción Incluir datos del paso 1 no está activada y la opción Migrar ahora está seleccionada, todos los esquemas seleccionados y sus tablas se desplegarán en Autonomous Database, pero los datos no se cargarán en las tablas.

    • Si se seleccionan Inclusión de datos del paso 1 y Migración ahora, todos los esquemas seleccionados y sus tablas se desplegarán en Autonomous Database y los datos se cargarán en las tablas.

  • Directorio: especifique el directorio en el que almacenar los scripts generados necesarios para la migración; de esta forma, se guardan los scripts en un directorio local.

Configuración Avanzada (Opcional)

La configuración por defecto debe funcionar a menos que desee controlar las opciones de formato al descargar en el almacenamiento S3 o copiar desde el almacenamiento S3 en Autonomous Database. Para obtener más información sobre las opciones de formato, consulte DBMS_CLOUD Package Format Options. Para utilizar opciones avanzadas, haga clic en Configuración avanzada.


Descripción de adw_migrate_redshift_prefs.png a continuación

Directorio de salida: introduzca la ruta o haga clic en Seleccionar directorio para seleccionar el directorio o la carpeta para la migración.

Número máximo de threads: introduzca el número de threads paralelos que se activarán al cargar datos en tablas en Autonomous Database.

Use Scheduler: seleccione esta opción para activar el programador para la migración. Puede programar trabajos para operaciones de migración de carga de datos desde el cubo S3 de AWS a Autonomous Database. Tiene la opción de ejecutar los trabajos programados inmediatamente o en una fecha y hora futuras. Para supervisar los trabajos programados de carga de datos, utilice el nodo Planificador en el navegador Conexiones.

Migration Execution Choice:

  • Inmediante ejecuta el planificador en cuanto se dispara la migración de Redshift.

  • Una vez ejecuta el programador en una fecha futura. Especifique la fecha de inicio y la zona horaria. Por defecto, la fecha de inicio muestra la fecha y hora actuales del sistema local. Para cambiar la fecha de inicio, utilice el icono de calendario para hacer clic dos veces y seleccionar la fecha o utilice el selector para resaltar la fecha y, a continuación, haga clic en el campo para definirla.

Redshift Unload Options Allow Overwrite: si esta opción está activada, el proceso de descarga sobrescribirá los archivos existentes, incluido el archivo de manifiesto (enumera los archivos de datos creados por el proceso de descarga). Por defecto, la descarga falla si hay archivos que se pueden sustituir.

Opciones de formato de ADWC: Límite de rechazo: introduzca el número de filas que se rechazarán al cargar datos en tablas en Autonomous Database. La operación de migración dará error después de que se haya rechazado el número especificado de filas. Por defecto es 0.

Revisión y finalización de la migración de Amazon Redshift

En el resumen se muestra una recopilación de la información especificada.

Para cambiar la información, haga clic en Atrás según sea necesario.


A continuación se muestra la descripción de adw_migrate_aws_summary.png

Si ha elegido una migración inmediata, el cuadro de diálogo del asistente de migración permanece abierto hasta que finalice la migración. Si selecciona generar archivos de comandos, el proceso de migración genera los archivos de comandos necesarios en el directorio local especificado y no ejecuta los archivos de comandos.

Para realizar la migración, haga clic en Terminar

Si el nombre de esquema seleccionado en AWS Redshift ya existe en Autonomous Database, el proceso de migración excluye el despliegue de estos esquemas seleccionados y muestra un cuadro de diálogo:


A continuación se muestra la descripción de adw_migrate_aws_schema_exists.png

Resumen: Qué crea el asistente de migración

  • Crea un nuevo usuario de Autonomous Database mediante el valor schema_name de Redshift.

  • Crea un nuevo cubo en S3 basado en el nombre del esquema.

  • Crea subcarpetas en S3 para cada tabla.

Uso de los scripts de migración de Amazon Redshift generados

Al seleccionar la generación de scripts de migración, se crea un nuevo subdirectorio en el directorio local especificado en el asistente de migración. Puede ejecutar estos scripts en tiempo real o utilizarlos para el procesamiento programático.

El directorio contiene los siguientes scripts:

  • redshift_s3unload.sql

  • adwc_ddl.sql

  • adwc_dataload.sql

  • adwc_dataload_scheduler.sql

Estos scripts contienen todos los comandos necesarios para migrar el sistema Amazon Redshift a Autonomous Database. Puede ejecutar estos scripts en tiempo real o utilizarlos para el procesamiento programático.

Descargar los datos de Amazon Redshift en S3

El primer paso de una migración correcta es descargar los datos de Amazon Redshift en Amazon S3, que actúa como área temporal. El archivo de comandos redshift_s3unload.sql tiene todos los comandos de descarga de Amazon Redshift para descargar los datos mediante las credenciales de acceso y el cubo S3 especificados en el flujo de trabajo del asistente de migración.

Conéctese al entorno de Amazon Redshift para ejecutar este script.

Crear objetos de almacén de datos

Para preparar Autonomous Database, cree un esquema de almacén de datos vacío antes de cargar los datos. El asistente de migración de Amazon Redshift ha convertido todas las estructuras de esquema de Amazon Redshift en estructuras de Oracle en el script adwc_ddl.sql.

El script se debe ejecutar mientras está conectado a Autonomous Database como usuario con privilegios; por ejemplo, ADMIN.

Por defecto, el esquema creado para la migración tiene el mismo nombre que el esquema de Amazon Redshift. Debe cambiar la contraseña por la contraseña válida para el usuario especificado en el script o después de ejecutar el script. Si desea cambiar el nombre del esquema, cambie el nombre del esquema y todas las referencias al nombre.

Carga de datos de Amazon Redshift en Oracle Autonomous Database

El script adwc_dataload.sql contiene todos los comandos de carga necesarios para cargar los datos descargados de Amazon Redshift directamente desde S3 en Autonomous Database.

Ejecute el script mientras está conectado a Autonomous Database como usuario privilegiado; por ejemplo, ADMIN.

Si desea cambiar el nombre del esquema de destino al crear los objetos del almacén de datos, debe ajustar los nombres del esquema de destino en este script según corresponda.

Uso de JOB SCHEDULER

SQL Developer proporciona una interfaz gráfica para utilizar el paquete PL/SQL DBMS_SCHEDULER para trabajar con objetos de Oracle Scheduler. Para utilizar las funciones de programación de SQL Developer, consulte el tema sobre programación de trabajos con SQL Developer de la Guía del usuario de SQL Developer y la Guía del administrador de Oracle Database para comprender los conceptos y las tareas esenciales para la programación de trabajos.

El nodo del programador para una conexión aparece en el navegador de conexiones y en el navegador de DBA. Utilice el usuario 'admin' de ADWC para navegar y mostrar los objetos del programador que son propiedad del estado de supervisión 'admin' de los trabajos de carga de datos.

En ADWC 'admin' Conexión → Planificador → Trabajos, verá que los trabajos de carga de datos de AWS Redshift a ADWC se crean con el nombre <schema_name>_<table_name>. 

Para ver el estado de finalización de cada carga de datos, amplíe cada trabajo programado y compruebe el estado.

Para obtener información más detallada sobre la operación de carga de datos, consulte la tabla MD_REPORT del esquema SQLDEV_MIGREPOS que almacena información sobre las columnas de la tabla.

 OPERATION_ID, LOGFILE_TABLE, BADFILE_TABLE, SOURCE_SCHEMA_NAME, TARGET_SCHEMA_NAME, SOURCE_TABLE_NAME, 

y

 TARGET_TABLE_NAME, SOURCE_TABLE_ROWS, TARGET_TABLE_ROWS_LOADED, ERROR MESSAGE, 

y

STATUS (COMPLETED or FAILED)

Archivos de informes y log de migración de Redshift

Tras la migración de Redshift, encontrará tres archivos:

  • MigrationResults.log: archivo log de la migración de Redshift

  • readme.txt : archivo en el que se explica cómo utilizar los scripts de migración de Amazon Redshift generados.

  • redshift_migration_reportxxx.txt: contiene información sobre la migración. Este es un ejemplo:

    ______________________________________________________________
    OPERATION ID : 8566
    LOGFILE TABLE : COPY$8566_LOG
    BADFILE TABLE : COPY$8566_BAD
    SOURCE SCHEMA : sample
    TARGET SCHEMA : SAMPLE
    SOURCE TABLE : listing
    TARGET TABLE : LISTING
    SOURCE TABLE ROWS : 192497
    TABLE ROWS LOADED : 192497
    ERROR MESSAGE : null
    STATUS : COMPLETED
    START TIME : 2018-09-27 17:25:18.662075
    END TIME : 2018-09-27 17:25:25.012695
    ______________________________________________________________

Realización de las tareas posteriores a la migración

Después de realizar una migración correcta del entorno de Redshift, debe tener en cuenta las siguientes tareas posteriores a la migración:

  • Borrar el esquema SQLDEV_MIGREPOS

  • Borrar el cubo de Amazon S3 utilizado para la ubicación temporal

  • Refuerce la cuenta de Amazon utilizada para acceder a S3

  • Borrar la credencial de base de datos utilizada para la carga de datos de S3

  • Fortalezca sus cuentas en Autonomous Database

  1. Borrar el esquema SQLDEV_MIGREPOS

    Como parte de la migración de esquema, el asistente de migración instala un repositorio de migración mínima en la instancia de Autonomous Database de destino. Después de la migración, esta cuenta ya no es necesaria y se puede borrar o bloquear de manera alternativa.

  2. Borrar el cubo de Amazon S3 utilizado para la ubicación temporal

    A menos que desee utilizar los datos de Redshift descargados, de lo contrario, puede borrar el cubo que contiene los datos descargados.

  3. Refuerce la cuenta de Amazon utilizada para acceder a S3

    Debe desactivar la clave de acceso de seguridad utilizada para el acceso S3, a menos que sea necesario para otros fines.

  4. Borrar la credencial de base de datos utilizada para la carga de datos de S3

    Las credenciales de seguridad de Amazon para acceder a S3 se almacenan cifradas como credencial de base de datos REDSHIFT_DWCS_CREDS en Autonomous Database en el esquema de usuario con privilegios que se ha utilizado para la migración. Oracle recomienda borrar esta credencial después de una migración correcta a menos que sea necesario para otros fines. Para obtener más información, consulte Procedimiento DROP_CREDENTIAL.

  5. Fortalezca sus cuentas en Autonomous Database

    Para el nuevo esquema creado como parte de la migración con el asistente de migración, asegúrese de cambiar las contraseñas de estas cuentas o de bloquearlas y hacer que caducen si se utilizan únicamente para el almacenamiento de datos.