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. - 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. - Conexión a Autonomous Database
Con SQL Developer, puede crear una conexión a Autonomous Database. - 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. - 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. - Uso de 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. - Realización de las tareas posteriores a la migración
Una vez realizada correctamente la migración del entorno de Redshift, debe tener en cuenta las siguientes tareas posteriores:
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.
Tema principal: Migración de Amazon Redshift a Autonomous Database
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
-
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. -
Almacene el controlador JDBC de Amazon Redshift en un directorio local en el que SQL Developer pueda acceder al controlador JDBC de Amazon.
-
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).
-
Haga clic en Agregar entrada y seleccione la ruta al controlador JDBC de Amazon Redshift que descargue.
-
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 A continuación se muestra la descripción de dwcs_aws_migration_jdbc_add2.png](img/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.
-
En el panel Conexiones, haga clic con el botón derecho en Conexiones y seleccione Nueva conexión....
-
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.
-
Para obtener más información sobre la configuración de una conexión JDBC y la obtención de la URL de JDBC de Amazon Redshift, consulte AWS: configurar una conexión JDBC.
-
Para obtener más información sobre la configuración de las opciones de seguridad para la conexión (en el caso del "error de conexión Amazon [500150]"), consulte AWS: Configuración de las opciones de seguridad para las conexiones (en el caso del "error de conexión Amazon [500150]").
-
Si ha desplegado su entorno de Amazon Redshift en una nube privada virtual (VPC), debe asegurarse de que se puede acceder al cluster desde Internet. Consulte http://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-authorize-cluster-access.html para obtener detalles sobre cómo activar el acceso público a Internet.
-
Si la conexión de cliente de Amazon Redshift a la base de datos parece bloquearse o se produce un timeout al ejecutar consultas largas, consulte http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-firewall-guidance.html para conocer las posibles soluciones para solucionar este problema.
Pruebe la conexión antes de guardarla.
Información adicional para la autenticación de Amazon y el control de acceso
Tema principal: Migración de Amazon Redshift a Autonomous Database
Conexión a Autonomous Database
Con SQL Developer, puede crear una conexión a Autonomous Database.
Tema principal: Migración de Amazon Redshift a Autonomous Database
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 A continuación se muestra la descripción de adw_migrate_redshift_start.png](img/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.
-
En la migración de AWS Redshift, especifique la conexió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.
-
Clave de acceso de AWS: para obtener más información sobre las claves de acceso, consulte AWS Identity and Access Management.
-
Acceso secreto de AWS: para obtener más información sobre las claves de acceso, consulte AWS Identity and Access Management.
-
S3 URI de cubo: para obtener información sobre los errores comunes de S3 ServiceException, consulte S3ServiceException Errores.
Para obtener más información sobre los cubos S3, consulte Creación y configuración de un cubo S3.
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.
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 Descripción de adw_migrate_redshift_step2of3.png a continuación](img/adw_migrate_redshift_step2of3.png)
-
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 Descripción de adw_migrate_redshift_prefs.png a continuación](img/adw_migrate_redshift_prefs.png)
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.
Tema principal: Migración de Amazon Redshift a Autonomous Database
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 A continuación se muestra la descripción de adw_migrate_aws_summary.png](img/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 A continuación se muestra la descripción de adw_migrate_aws_schema_exists.png](img/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.
Tema principal: Migración de Amazon Redshift a Autonomous Database
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 ______________________________________________________________
Tema principal: Migración de Amazon Redshift a Autonomous Database
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
Tema principal: Migración de Amazon Redshift a Autonomous Database