Está en la página 1de 133

AWS Database Migration Service

Guía de la migración paso a paso


Version 1/1/2016
AWS Database Migration Service
Guía de la migración paso a paso

AWS Database Migration Service: Guía de la migración paso a paso


Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
AWS Database Migration Service
Guía de la migración paso a paso

Table of Contents
Explicación paso a paso de AWS Database Migration Service ................................................................... 1
Migración de bases de datos a Amazon Web Services (AWS) ................................................................... 2
Herramientas de migración de AWS .............................................................................................. 2
Explicaciones detalladas en esta guía ........................................................................................... 3
Migración de una base de datos de Oracle local a Amazon Aurora mediante AWS Database Migration
Service .............................................................................................................................................. 4
Costos ...................................................................................................................................... 5
Esquema general de migración .................................................................................................... 6
Paso 1: Preparar la base de datos de origen de Oracle ............................................................ 6
Paso 2: Lanzar y preparar la base de datos de destino de Aurora .............................................. 6
Paso 3: Lanzar una instancia de replicación .......................................................................... 7
Paso 4: Crear un punto de enlace de origen .......................................................................... 7
Paso 5: Crear un punto de enlace de destino ......................................................................... 7
Paso 6: Crear y ejecutar una tarea de migración ..................................................................... 7
Guía de la migración paso a paso ................................................................................................ 9
Paso 1: Configurar la base de datos de origen de Oracle ......................................................... 9
Paso 2: Configurar la base de datos de destino de Aurora ...................................................... 11
Paso 3: Crear una instancia de replicación ........................................................................... 12
Paso 4: Crear el punto de enlace de origen de Oracle ............................................................ 14
Paso 5: Crear el punto de enlace de destino de Aurora ......................................................... 17
Paso 6: Crear una tarea de migración ................................................................................. 19
Paso 7: Monitorizar la tarea de migración ............................................................................. 25
Solución de problemas ...................................................................................................... 25
Uso de la base de datos de muestra para la migración .................................................................. 26
Migración de una base de datos de Amazon RDS Oracle a Amazon Aurora mediante AWS Database
Migration Service .............................................................................................................................. 27
Costos ..................................................................................................................................... 28
Requisitos previos ..................................................................................................................... 29
Arquitectura de migración ........................................................................................................... 30
Migración paso a paso .............................................................................................................. 31
Paso 1: Iniciar las instancias de RDS en una VPC con la plantilla de CloudFormation ................... 32
Paso 2: Instalar las herramientas de SQL y la herramienta de conversión de esquemas de AWS
en su equipo local ............................................................................................................ 37
Paso 3: Comprobar la conectividad de la instancia de base de datos de Oracle y crear el
esquema de ejemplo ......................................................................................................... 39
Paso 4: Probar la conectividad con la instancia de base de datos de Aurora ............................... 43
Paso 5: Utilizar la herramienta de conversión de esquemas de AWS (AWS SCT) para convertir
los esquemas de Oracle a Aurora ....................................................................................... 45
Paso 6: Validar la conversión de esquemas .......................................................................... 54
Paso 7: Crear una instancia de replicación de AWS DMS ...................................................... 57
Paso 8: Crear los puntos de enlace de origen y destino de AWS DMS ...................................... 58
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS .................................................. 61
Paso 10: Comprobar que la migración de datos se realizó correctamente .................................. 64
Paso 11: Eliminar los recursos de la guía ............................................................................. 66
Pasos siguientes ....................................................................................................................... 67
Plantilla de AWS CloudFormation, scripts SQL y otros recursos ....................................................... 67
Referencias .............................................................................................................................. 68
Migrar una base de datos Amazon RDS for Oracle Database a Amazon Redshift con AWS Database
Migration Service .............................................................................................................................. 69
Requisitos previos ..................................................................................................................... 70
Arquitectura de migración ........................................................................................................... 70
Migración paso a paso .............................................................................................................. 72
Paso 1: Iniciar las instancias de RDS en una VPC con la plantilla de CloudFormation ................... 73

Version 1/1/2016
iii
AWS Database Migration Service
Guía de la migración paso a paso

Paso 2: Instalar las herramientas de SQL y la herramienta de conversión de esquemas de AWS


en su equipo local ............................................................................................................ 78
Paso 3: Comprobar la conectividad de la instancia de base de datos de Oracle y crear el
esquema de ejemplo ......................................................................................................... 81
Paso 4: Probar la conectividad a la base de datos de Amazon Redshift ..................................... 85
Paso 5: Utilizar AWS SCT para convertir un esquema de Oracle a Amazon Redshift .................... 86
Paso 6: Validar la conversión de esquemas .......................................................................... 94
Paso 7: Crear una instancia de replicación de AWS DMS ...................................................... 95
Paso 8: Crear los puntos de enlace de origen y destino de AWS DMS ...................................... 96
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS .................................................. 99
Paso 10: Comprobar que la migración de datos se realizó correctamente ................................. 103
Paso 11: Eliminar los recursos de la guía ........................................................................... 105
Pasos siguientes ..................................................................................................................... 106
Referencias ............................................................................................................................ 106
Migrar bases de datos compatibles con MySQL a AWS ........................................................................ 107
Migración de una base de datos compatible con MySQL a Amazon Aurora .............................................. 109
Migración de datos desde una base de datos MySQL externa a Amazon Aurora mediante Amazon S3 .. 109
Requisitos previos ........................................................................................................... 110
Paso 1: Realizar copias de seguridad de archivos para restaurarlos como clúster de base de
datos ............................................................................................................................. 112
Paso 2: Copiar archivos en un bucket de Amazon S3 ........................................................... 113
Paso 3: Restaurar un clúster de base de datos de Aurora desde un bucket de S3 ...................... 113
Migración de MySQL a Amazon Aurora con mysqldump ............................................................... 120
Migración de datos de una instancia de base de datos de Amazon RDS MySQL a un clúster de base
de datos de Amazon Aurora ..................................................................................................... 120
Migración de una instantánea de base de datos de RDS MySQL a Aurora ............................... 121
Historial de revisión ......................................................................................................................... 129

Version 1/1/2016
iv
AWS Database Migration Service
Guía de la migración paso a paso

Explicación paso a paso de AWS


Database Migration Service

También puede utilizar AWS Database Migration Service (AWS DMS) para migrar datos a y desde las
bases de datos de código abierto y comerciales de uso general como, por ejemplo, Oracle, PostgreSQL,
Microsoft SQL Server, Amazon Redshift, Amazon Aurora, MariaDB y MySQL. Este servicio admite
migraciones homogéneas como de Oracle a Oracle, así como migraciones heterogéneas entre diferentes
plataformas de bases de datos, como de Oracle a MySQL o de MySQL a Amazon Aurora. La base de
datos de origen o de destino debe estar en un servicio de AWS.

En esta guía, puede encontrar explicaciones paso a paso que revisan todo el proceso de migración de
datos de muestra a AWS.

Migración de bases de datos a Amazon Web Services (AWS) (p. 2)

Migración de una base de datos de Oracle local a Amazon Aurora mediante AWS Database Migration
Service (p. 4)

Migración de una base de datos de Amazon RDS Oracle a Amazon Aurora mediante AWS Database
Migration Service (p. 27)

Migrar bases de datos compatibles con MySQL a AWS (p. 107)

Migración de una base de datos compatible con MySQL a Amazon Aurora (p. 109)

Version 1/1/2016
1
AWS Database Migration Service
Guía de la migración paso a paso
Herramientas de migración de AWS

Migración de bases de datos a


Amazon Web Services (AWS)

Herramientas de migración de AWS


Puede utilizar varias herramientas y servicios de AWS para migrar datos desde una base de datos externa
a AWS. En función del tipo de migración de base de datos, es posible que las herramientas de migración
nativas de su motor de base de datos también sean efectivas.

AWS Database Migration Service (AWS DMS) le ayuda a migrar las bases de datos a AWS de manera
segura y eficaz. La base de datos de origen puede permanecer totalmente operativa durante la migración,
minimizando así el tiempo de inactividad de las aplicaciones que dependen de ella. AWS DMS puede
migrar los datos de Oracle a las bases de datos de código abierto y comerciales de uso general de AWS.

AWS DMS migra datos, tablas y claves primarias a la base de datos de destino. Todos los demás
elementos de la base de datos no se migran. Si migra una base de datos de Oracle a Amazon Aurora, por
ejemplo, recomendamos utilizar la herramienta de conversión de esquemas de AWS junto con AWS DMS.

La herramienta de conversión de esquemas (SCT) de AWS simplifica las migraciones de bases de datos
heterogéneas al convertir automáticamente el esquema de la base de datos de origen y la mayor parte del
código personalizado, incluidas las vistas, los procedimientos almacenados y las funciones, a un formato
compatible con la base de datos de destino. El código que no se puede convertir automáticamente está
marcado de forma clara para que pueda convertirse manualmente. Puede utilizar esta herramienta para
convertir sus bases de datos de origen de Oracle en una base de datos de destino de Amazon Aurora,
MySQL o PostgreSQL tanto en Amazon RDS como en EC2.

Es importante comprender que DMS y SCT son dos herramientas distintas que cubren distintas
necesidades y que no interactúan entre sí en el proceso de migración. En cuanto a las prácticas
recomendadas en DMS, a continuación se detalla la metodología de migración para este tutorial:

• AWS DMS adopta un enfoque minimalista y crea solo los objetos necesarios para migrar de forma eficaz
los datos para tablas de ejemplo con clave primaria. Por lo tanto, utilizaremos DMS para cargar las
tablas con datos sin claves externas ni restricciones. (También podemos utilizar la SCT para generar los
scripts de tabla y crearlos en el destino antes de realizar la carga mediante DMS).
• Aprovecharemos SCT:
• Para identificar los problemas, limitaciones y acciones de la conversión de esquemas
• Para generar los scripts de esquema de destino, incluidas las claves externas y las limitaciones

Version 1/1/2016
2
AWS Database Migration Service
Guía de la migración paso a paso
Explicaciones detalladas en esta guía

• Para convertir código, como procedimientos y vistas, del origen al destino y aplicarlo al destino

El tamaño y el tipo de migración de la base de datos de Oracle que desee realizar determinan en gran
medida las herramientas a utilizar. Por ejemplo, una migración heterogénea, en la que se migra desde una
base de datos de Oracle a otro motor de base de datos en AWS, se realiza mejor mediante AWS DMS.
Mientras que una migración homogénea, en la que se migra de una base de datos de Oracle a una base
de datos de Oracle en AWS, se realiza mejor con las herramientas nativas de Oracle.

Explicaciones detalladas en esta guía


Migración de una base de datos de Oracle local a Amazon Aurora mediante AWS Database Migration
Service (p. 4)

Migración de una base de datos de Amazon RDS Oracle a Amazon Aurora mediante AWS Database
Migration Service (p. 27)

Migrar bases de datos compatibles con MySQL a AWS (p. 107)

Migración de una base de datos compatible con MySQL a Amazon Aurora (p. 109)

Version 1/1/2016
3
AWS Database Migration Service
Guía de la migración paso a paso

Migración de una base de datos


de Oracle local a Amazon Aurora
mediante AWS Database Migration
Service

A continuación, encontrará un esquema general y una explicación completa paso a paso que muestra el
proceso de migración de una base de datos de Oracle local (el punto de enlace de origen) a una base de
datos de Amazon Aurora (el punto de enlace de destino) utilizando AWS Database Migration Service (AWS
DMS) y la herramienta de conversión de esquemas de AWS (AWS SCT).

AWS DMS migra los datos de la base de datos de origen de Oracle a la base de datos de destino de
Aurora. AWS DMS también captura los cambios en el lenguaje de manipulación de datos (DML) y el
lenguaje de definición de datos (DDL) que se efectúen en la base de datos de origen y aplica dichos
cambios a la base de datos de destino. De esta forma, AWS DMS ayuda a mantener las bases de datos
de origen y de destino sincronizadas entre sí. Para facilitar la migración de datos, DMS crea las tablas y los
índices de clave primaria en la base de datos de destino, en caso de que sea necesario.

Sin embargo, AWS DMS no migra los índices secundarios, secuencias, valores predeterminados,
procedimientos almacenados, disparadores, sinónimos, vistas y otros objetos de esquema no relacionados
específicamente con la migración de datos. Para migrar estos objetos a la base de datos de destino de
Aurora, utilice la herramienta de conversión de esquemas de AWS.

Se recomienda encarecidamente que siga utilizando la base de datos de muestra de Amazon. Para ver un
tutorial en el que se utilice la base de datos de muestra e instrucciones sobre cómo obtener una copia de la
base de datos de muestra, consulte Uso de la base de datos de muestra para la migración (p. 26).

Si ha utilizado AWS DMS antes o prefiere hacer clic con el ratón para leer, le recomendamos el esquema
general. Si necesita información detallada y desea un enfoque más prudente (o si tiene preguntas), le
recomendamos la guía paso a paso.

Version 1/1/2016
4
AWS Database Migration Service
Guía de la migración paso a paso
Costos

Tema: Migración desde Oracle local a Aurora o MySQL en Amazon RDS

Hora:

Costo:

Base de datos de origen: Oracle

Base de datos de destino: Amazon Aurora/MySQL

Restricciones:

Oracle Edition: Enterprise, Standard, Express y Personal

Versión de Oracle: 10g (10.2 y posterior), 11g, 12c, (en Amazon Relational Database Service (Amazon
RDS), 11g o superior.

Versión de MySQL o de la base de datos relacionada: 5.5, 5.6, 5.7, MariaDB, Amazon Aurora

Conjunto de caracteres: no es compatible con utf8mb4 actualmente

Costos
Puesto que AWS DMS todavía no se ha incorporado a la calculadora, consulte la siguiente tabla para
obtener una estimación de precios.

Además de la configuración en su propio PC, debe crear varios componentes de AWS para completar el
proceso de migración. Estos componentes de AWS son:

Servicio de AWS Tipo Descripción

Instancia de base de datos Aurora de Amazon RDS db.r3.large Una única zona
de disponibilidad,
10 GB de
almacenamiento, 1
millón de E/S

Instancia de replicación de AWS DMS T2.large 50 GB de


almacenamiento
para mantener
incluidos los
registros de
replicación

Transferencia de datos de AWS DMS Libre, en función  


de la cantidad de
datos transferidos
para la base de
datos de muestra

Transferencia de datos de salida Primer GB gratuito  


al mes

Suponiendo que ejecuta este tutorial durante 2 horas, la estimación del precio sería la siguiente:

Version 1/1/2016
5
AWS Database Migration Service
Guía de la migración paso a paso
Esquema general de migración

Esquema general de migración


Para migrar datos desde Oracle a Aurora utilizando AWS DMS, siga los siguientes pasos. Si ha utilizado
AWS DMS antes o prefieren hacer clic con el ratón para leer, el siguiente resumen le ayudará a iniciar
la migración de forma rápida. Para obtener información detallada sobre la migración o si tiene alguna
pregunta, consulte la guía paso a paso.

Paso 1: Preparar la base de datos de origen de Oracle


Antes de utilizar AWS DMS para migrar datos desde una base de datos de origen de Oracle se requiere
una preparación. Además, recomendamos que se lleven a cabo unos pasos adicionales.

• Cuenta de AWS DMS: se recomienda crear una cuenta independiente específicamente para migrar los
datos. Esta cuenta debe disponer del conjunto de privilegios mínimos necesarios para migrar los datos.
A continuación se especifican detalles relacionados con dichos privilegios. Si solo le interesa probar
AWS DMS en una base de datos que no sea de producción, cualquier cuenta de DBA será suficiente.
• Registro suplementario: para capturar los cambios, debe activar el registro suplementario para poder
utilizar DMS. Para activar el registro suplementario en el nivel de base de datos, ejecute el siguiente
comando.

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA

Además, AWS DMS requiere que por cada tabla que se migre defina al menos el registro suplementario
en el nivel de la clave. AWS DMS añade automáticamente este registro suplementario para usted si
incluye los siguientes parámetros de conexión adicionales para su conexión de origen.

addSupplementalLogging=Y

• Base de datos de origen: para migrar sus datos, el servidor de replicación AWS DMS necesita acceder a
la base de datos de origen. Asegúrese de que sus reglas de cortafuegos permitan acceder al servidor de
la replicación de AWS DMS.

Paso 2: Lanzar y preparar la base de datos de destino


de Aurora
A continuación, le indicamos lo que debe tener en cuenta a la hora de lanzar la instancia de Aurora:

• Para obtener los mejores resultados, le recomendamos que localice su instancia de Aurora y su
instancia de replicación en la misma VPC y, si es posible, en la misma zona de disponibilidad.
• Le recomendamos que cree una cuenta independiente con los privilegios mínimos suficientes para
migrar los datos. La cuenta de AWS DMS necesita los siguientes privilegios en todas las bases de datos
a las que se migran datos.

ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE, SELECT

Además, AWS DMS necesita acceso total a la base de datos awsdms_control. Esta base de datos
contiene información requerida por AWS DMS y que es específica de la migración. Para otorgar acceso,
ejecute el siguiente comando.

ALL PRIVILEGES ON awsdms_control.* TO 'dms_user'

Version 1/1/2016
6
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Lanzar una instancia de replicación

Paso 3: Lanzar una instancia de replicación


El servicio AWS DMS se conecta a las bases de datos de origen y de destino desde una instancia de
replicación. A continuación, le indicamos lo que debe tener en cuenta a la hora de lanzar la instancia de
replicación:

• Para obtener mejores resultados, le recomendamos que ubique su instancia de replicación en la misma
VPC y zona de disponibilidad que su base de datos de destino, en este caso Aurora.
• Si su base de datos de origen o de destino se encuentra fuera de la VPC en la que lanza su servidor de
replicación, el servidor de replicación deberá tener acceso público.
• AWS DMS puede consumir bastante memoria y CPU. Sin embargo, se puede escalar fácilmente si es
necesario. Si prevé ejecutar varias tareas en un único servidor de replicación o
• El almacenamiento predeterminado suele ser suficiente para la mayoría de migraciones.

Paso 4: Crear un punto de enlace de origen


Para que AWS DMS acceda a la base de datos de origen de Oracle tendrá que crear un punto de enlace
de origen. El punto de enlace de origen define toda la información necesaria para que AWS DMS se
conecte a su base de datos de origen desde el servidor de replicación. A continuación se muestran los
requisitos para el punto de enlace de origen.

• El punto de enlace de origen debe ser accesible desde el servidor de replicación. Para permitirlo, es
posible que necesite modificar las reglas del cortafuegos para incluir al servidor de replicación en la lista
blanca. Puede encontrar la dirección IP de su servidor de replicación en la consola de administración de
AWS DMS.
• Para que AWS DMS capture los cambios, Oracle requiere que el registro suplementario esté activado.
Si desea que AWS DMS active el registro suplementario por usted, añada lo siguiente a los atributos de
conexión adicionales de su punto de enlace de origen de Oracle.

addSupplementalLogging=Y

Paso 5: Crear un punto de enlace de destino


Para que AWS DMS acceda a la base de datos de destino de Aurora tendrá que crear un punto de enlace
de destino. El punto de enlace de destino define toda la información necesaria para que DMS se conecte a
su base de datos de Aurora.

• Su punto de enlace de destino debe ser accesible desde el servidor de replicación. Es posible que tenga
que modificar los grupos de seguridad para poder acceder al punto de enlace de destino.
• Si creó la base de datos previamente en el destino, recomendamos desactivar las comprobaciones de
claves externas durante toda la carga. Para hacerlo, añada lo siguiente a sus atributos adicionales de
conexión.

initstmt=SET FOREIGN_KEY_CHECKS=0

Paso 6: Crear y ejecutar una tarea de migración


Una tarea de migración le indica a AWS DMS dónde y cómo desea migrar los datos. Al crear la tarea de
migración, deberá configurar los parámetros de migración de la siguiente manera.

Version 1/1/2016
7
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear y ejecutar una tarea de migración

Puntos de conexión y servidor de replicación: seleccione los puntos de enlace y el servidor de replicación
creados anteriormente.

Tipo de migración: en la mayoría de los casos debe elegir migrate existing data and replication ongoing
changes. Con esta opción, AWS DMS carga los datos de origen al mismo tiempo que captura los cambios
en dichos datos. Cuando los datos están totalmente cargados, AWS DMS aplica los cambios restantes y
mantiene las bases de datos de origen y de destino sincronizadas hasta que se detiene la tarea.

Target table preparation mode : si AWS DMS crea las tablas, choose drop tables on target. Si utiliza
algún otro método para crear las tablas de destino como, por ejemplo, la herramienta de conversión de
esquemas de AWS, seleccione truncate.

LOB parameters : si simplemente está probando AWS DMS, seleccione include LOB columns in
replication, Limited LOB mode y defina el max LOB size to 16 (que es 16k). Para obtener más información
sobre LOB, lea la información detallada en la guía paso a paso.

Enable logging : para obtener ayuda con la depuración de los problemas de migración, mantenga el
registro activado siempre.

Table mappings : al migrar de Oracle a Aurora, le recomendamos que convierta los nombres de esquemas,
tablas y columnas a minúsculas. Para hacerlo, cree un mapeo de tablas personalizado. El siguiente
ejemplo migra el esquema DMS_SAMPLE y convierte los nombres de esquemas, tablas y columnas a
minúsculas.

{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "DMS_SAMPLE",
"table-name": "%"
},
"rule-action": "include"
},
{
"rule-type": "transformation",
"rule-id": "6",
"rule-name": "6",
"rule-action": "convert-lowercase",
"rule-target": "schema",
"object-locator": {
"schema-name": "%"
}
},
{
"rule-type": "transformation",
"rule-id": "7",
"rule-name": "7",
"rule-action": "convert-lowercase",
"rule-target": "table",
"object-locator": {
"schema-name": "%",
"table-name": "%"
}
},
{
"rule-type": "transformation",
"rule-id": "8",
"rule-name": "8",
"rule-action": "convert-lowercase",
"rule-target": "column",
"object-locator": {

Version 1/1/2016
8
AWS Database Migration Service
Guía de la migración paso a paso
Guía de la migración paso a paso

"schema-name": "%",
"table-name": "%",
"column-name": "%"
}
}
]
}

Guía de la migración paso a paso


A continuación, encontrará instrucciones paso a paso para migrar una base de datos de Oracle desde un
entorno local a Amazon Aurora. Estas instrucciones presuponen que ya ha llevado a cabo los pasos de
configuración para utilizar AWS DMS explicados en Configuración para utilizar AWS Database Migration
Service.

Temas
• Paso 1: Configurar la base de datos de origen de Oracle (p. 9)
• Paso 2: Configurar la base de datos de destino de Aurora (p. 11)
• Paso 3: Crear una instancia de replicación (p. 12)
• Paso 4: Crear el punto de enlace de origen de Oracle (p. 14)
• Paso 5: Crear el punto de enlace de destino de Aurora (p. 17)
• Paso 6: Crear una tarea de migración (p. 19)
• Paso 7: Monitorizar la tarea de migración (p. 25)
• Solución de problemas (p. 25)

Paso 1: Configurar la base de datos de origen de


Oracle
Para utilizar Oracle como origen para AWS Database Migration Service (AWS DMS), primero debe
asegurarse de que MODE ARCHIVELOG esté activado para proporcionar información a LogMiner. AWS
DMS utiliza LogMiner para leer información de los registros de archivo para que AWS DMS pueda capturar
los cambios.

Para que AWS DMS lea esta información, asegúrese de que los registros de archivo se conservan en
el servidor de la base de datos mientras AWS DMS los necesite. Si configura su tarea para empezar a
capturar los cambios de forma inmediata, solo deberá conservar los registros de archivo un poco más de la
duración de las transacciones cuya ejecución sea más larga. Normalmente basta con retener los registros
de archivo durante 24 horas. Si configura su tarea para empezar desde un momento dado en el pasado,
los registros de archivo deben estar disponibles desde ese momento. Para obtener más instrucciones
específicas para activar ARCHIVELOG MODE y garantizar la retención de los registros para la base de
datos de Oracle local, consulte la documentación de Oracle.

Para capturar los cambios en los datos, AWS DMS precisa que el registro suplementario esté activado en
la base de datos de origen para AWS DMS. Debe activar el registro suplementario mínimo en el nivel de
base de datos. AWS DMS también requiere que el registro de claves de identificación esté activado. Esta
opción hace que la base de datos coloque todas las columnas de la clave primaria de una fila en el archivo
de registro redo cada vez que se actualiza una fila que contiene una clave primaria (aunque no se haya
modificado ningún valor en la clave primaria). Puede configurar esta opción en el nivel de la base de datos
o de la tabla.

Si el origen de Oracle está en Amazon RDS, la base de datos tendrá el modo ARCHIVELOG MODE si, y
solo si, activa las copias de seguridad. El siguiente comando se asegurará de que se retengan los registros
de archivo en el RDS de origen durante 24 horas:

Version 1/1/2016
9
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Configurar la base de datos de origen de Oracle

exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24);

Para configurar la base de datos de origen de Oracle

1. Ejecute el siguiente comando para activar el registro suplementario en el nivel de base de datos que
requiere AWS DMS:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

For RDS:
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');

2. Utilice el siguiente comando para activar el registro suplementario de claves de identificación en


el nivel de la base de datos. AWS DMS requiere el registro suplementario de claves en el nivel
de la base de datos a menos que permita a AWS DMS que añada automáticamente el registro
suplementario cuando sea necesario o active el registro suplementario en el nivel de la clave en el
nivel de la tabla:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

For RDS:
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');

3. La base de datos de origen incurre en pequeños gastos adicionales si el registro suplementario del
nivel de la clave está activado. Por lo tanto, si migra únicamente un subconjunto de tablas, es posible
que le interese activar el registro suplementario del nivel de la clave en el nivel de la tabla. Para activar
el registro suplementario del nivel de la clave en el nivel de la tabla, utilice el siguiente comando.

alter table table_name add supplemental log data (PRIMARY KEY) columns;

Si una tabla no tiene una clave primaria tiene dos opciones.

• Puede agregar el registro suplementario a todas las columnas implicadas en el primer índice único
de la tabla (ordenadas por nombre de índice).
• Puede agregar el registro suplementario a todas las columnas de la tabla.

Para añadir el registro suplementario a un subconjunto de columnas en una tabla, es decir, las
columnas implicadas en un índice único, ejecute el siguiente comando.

ALTER TABLE table_name ADD SUPPLEMENTAL LOG GROUP example_log_group (ID,NAME)


ALWAYS;

Para añadir el registro suplementario a todas las columnas de una tabla, ejecute el siguiente comando.

alter table table_name add supplemental log data (ALL) columns;

4. Cree o configure una cuenta de base de datos para que la use AWS DMS. Le recomendamos que
utilice una cuenta con los privilegios mínimos exigidos por AWS DMS para la conexión a AWS DMS.
AWS DMS requiere los siguientes privilegios.

CREATE SESSION

Version 1/1/2016
10
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Configurar la base de datos de destino de Aurora

SELECT ANY TRANSACTION


SELECT on V_$ARCHIVED_LOG
SELECT on V_$LOG
SELECT on V_$LOGFILE
SELECT on V_$DATABASE
SELECT on V_$THREAD
SELECT on V_$PARAMETER
SELECT on V_$NLS_PARAMETERS
SELECT on V_$TIMEZONE_NAMES
SELECT on V_$TRANSACTION
SELECT on ALL_INDEXES
SELECT on ALL_OBJECTS
SELECT on ALL_TABLES
SELECT on ALL_USERS
SELECT on ALL_CATALOG
SELECT on ALL_CONSTRAINTS
SELECT on ALL_CONS_COLUMNS
SELECT on ALL_TAB_COLS
SELECT on ALL_IND_COLUMNS
SELECT on ALL_LOG_GROUPS
SELECT on SYS.DBA_REGISTRY
SELECT on SYS.OBJ$
SELECT on DBA_TABLESPACES
SELECT on ALL_TAB_PARTITIONS
SELECT on ALL_ENCRYPTED_COLUMNS
* SELECT on all tables migrated

Si desea capturar y aplicar cambios (CDC), también necesitará los siguientes privilegios.

EXECUTE on DBMS_LOGMNR
SELECT on V_$LOGMNR_LOGS
SELECT on V_$LOGMNR_CONTENTS
LOGMINING /* For Oracle 12c and higher. */
* ALTER for any table being replicated (if you want DMS to add supplemental logging)

Para versiones de Oracle previas a 11.2.0.3, necesitará los siguientes privilegios. Si las vistas están
expuestas, necesitará los siguientes privilegios.

SELECT on DBA_OBJECTS /* versions before 11.2.0.3 */


SELECT on ALL_VIEWS (required if views are exposed)

Paso 2: Configurar la base de datos de destino de


Aurora
De igual modo que con la base de datos de origen, es una buena idea restringir el acceso del usuario
con el que se va a conectar. También puede crear un usuario temporal que podrá eliminar después de la
migración.

CREATE USER 'dms_user'@'%' IDENTIFIED BY 'dms_user';


GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE,
SELECT ON <target database(s)>.* TO 'dms_user'@'%';

Version 1/1/2016
11
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Crear una instancia de replicación

AWS DMS utiliza algunas tablas de control en la base de datos awsdms_control de destino. El siguiente
comando garantiza que su dms_user tenga el acceso necesario a la base de datos awsdms_control:

GRANT ALL PRIVILEGES ON awsdms_control.* TO 'dms_user'@'%';


flush privileges;

Paso 3: Crear una instancia de replicación


Una instancia de replicación de AWS DMS realiza la migración de datos real entre el origen y el destino.
La instancia de replicación también almacena en caché los cambios durante la migración. La capacidad
de la CPU y de la memoria de una instancia de replicación influirá en el tiempo necesario para llevar a
cabo la migración. Utilice el siguiente procedimiento para establecer los parámetros de una instancia de
replicación.

Para crear una instancia de replicación de AWS DMS

1. Inicie sesión en la consola de administración de AWS, abra la consola de AWS DMS en https://
console.aws.amazon.com/dms/ y seleccione Replication instances. Si está registrado como usuario de
AWS Identity and Access Management (IAM), debe disponer de los permisos adecuados para acceder
a AWS DMS. Para obtener más información sobre los permisos necesarios, consulte la sección sobre
permisos de IAM necesarios para utilizar AWS DMS.
2. Elija Create replication instance.
3. En la página Create replication instance, especifique la información de la instancia de replicación de la
siguiente manera.

Para este parámetro Haga lo siguiente

Name Si tiene previsto lanzar varias instancias de replicación o


compartir una cuenta, seleccione un nombre que le ayude
a diferenciar rápidamente las diferentes instancias de
replicación.

Description Una buena descripción ofrece a los demás una idea de


para qué se utiliza la instancia de replicación y puede
evitar accidentes.

Instance class AWS DMS puede consumir bastante memoria y CPU. Si


dispone de una base de datos grande (muchas tablas)
o utiliza un gran número de tipos de datos LOB, le
recomendamos configurar una instancia grande. Tal como
se describe a continuación, podrá aumentar su rendimiento
ejecutando varias tareas. Múltiples tareas consumen más
recursos y requieren una instancia más grande. Controle
el consumo de CPU y memoria a medida que ejecute las
pruebas. Si descubre que está utilizando toda la capacidad
de la CPU o el espacio de intercambio, podrá escalar con
facilidad.

VPC Aquí puede elegir la VPC en la que se lanzará la instancia


de replicación. Le recomendamos que, si es posible,
seleccione la misma VPC en la base de datos de origen o

Version 1/1/2016
12
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Crear una instancia de replicación

Para este parámetro Haga lo siguiente


de destino (o ambas). AWS DMS necesita obtener acceso
a su base de datos de origen y de destino desde esta
VPC. Si uno o ambos de los puntos de enlace de la base
de datos están fuera de esta VPC, modifique las reglas de
su cortafuegos para otorgar acceso a AWS DMS.

Multi-AZ Si elije Multi-AZ, AWS DMS lanzará una instancia


de replicación principal y secundaria en zonas de
disponibilidad distintas. En el caso de que se produzca
un fallo de disco catastrófico, la instancia de replicación
principal cambiará automáticamente a la secundaria, para
evitar una interrupción en el servicio. En la mayoría de
situaciones, si se realiza una migración, no necesitará
múltiples zonas de disponibilidad (Multi-AZ). Si la carga
de datos inicial tarda mucho tiempo y necesita mantener
las bases de datos de origen y de destino sincronizadas
durante largo tiempo, quizá podría considerar la posibilidad
de ejecutar su servidor de migración en una configuración
Multi-AZ.

Publicly accessible Si la base de datos de origen o de destino está fuera de la


VPC donde está la instancia de replicación, deberá permitir
el acceso público a su instancia de replicación.

4. En la sección Advanced, configure los siguientes parámetros y, a continuación, seleccione Next.

Para esta opción Haga lo siguiente

Allocated storage (GB) La capacidad de almacenamiento la consumen


básicamente los archivos de registro y las transacciones
que se almacenan en la memoria caché. En el caso de las
transacciones en la memoria caché, el almacenamiento
se utiliza únicamente cuando las transacciones en
memoria caché se deben escribir en el disco. Por lo
tanto, AWS DMS no utiliza una cantidad significativa de
almacenamiento, salvo en determinadas excepciones
como las siguientes:

• Tablas muy grandes que conllevan una carga de


transacciones importante. Cargar una tabla muy
grande puede llevar su tiempo, por tanto hay más
probabilidades de que las transacciones almacenadas
en la memoria caché se escriban en el disco cuando se
carga una tabla de gran tamaño.
• Las tareas se configuran para detenerse antes de cargar
las transacciones en caché. En este caso, todas las
transacciones se almacenan en la memoria caché hasta
que finaliza la carga completa de todas las tablas. Con
esta configuración, es posible que las transacciones en
la memoria caché consuman una cantidad considerable
de espacio de almacenamiento.
• Tareas configuradas con tablas que se cargan en
Amazon Redshift. Sin embargo, esta configuración no
comporta problema alguno si Aurora es el destino.

Version 1/1/2016
13
AWS Database Migration Service
Guía de la migración paso a paso
Paso 4: Crear el punto de enlace de origen de Oracle

Para esta opción Haga lo siguiente


En la mayoría de los casos, la asignación de
almacenamiento es suficiente. Sin embargo, es
siempre aconsejable prestar atención a las métricas
relativas al almacenamiento y ampliar la capacidad de
almacenamiento si determina que el consumo es mayor de
lo que se ha asignado de forma predeterminada.

Replication Subnet Group Si lo ejecuta en una configuración de múltiples zonas de


disponibilidad (Multi-AZ), necesitará al menos dos grupos
de subredes.

Availability Zone Si es posible, ubique su servidor de replicación principal en


la misma zona de disponibilidad que su base de datos de
destino.

VPC Security group(s) Los grupos de seguridad permiten controlar las entradas
y salidas de su VPC. Con AWS DMS puede asociar uno o
varios grupos de seguridad con la VPC desde los que se
lanza el servidor de replicación.

KMS master key Con AWS DMS, todos los datos se cifran en reposo
mediante una clave de cifrado de KMS. De forma
predeterminada, AWS DMS crea una nueva clave de
cifrado para su servidor de replicación. Sin embargo,
puede utilizar una clave existente si lo desea.

Paso 4: Crear el punto de enlace de origen de Oracle


Mientras se está creando la instancia de replicación, puede especificar el punto de enlace de origen de
Oracle con la consola de administración de AWS. Sin embargo, solo puede probar la conectividad después
de que se haya creado la instancia de replicación, ya que se utiliza para probar la conexión.

Para especificar los puntos de enlace de la base de datos de origen o de destino a con la consola
de AWS

1. En el panel de navegación de la consola de AWS DMS, seleccione Endpoints.


2. Elija Create endpoint. La Create database endpoint page aparece tal y como se muestra a
continuación.

Version 1/1/2016
14
AWS Database Migration Service
Guía de la migración paso a paso
Paso 4: Crear el punto de enlace de origen de Oracle

3. Especifique la información de conexión de la base de datos de origen de Oracle. La siguiente tabla


describe la configuración del origen.

Para este parámetro Haga lo siguiente

Endpoint type Elija Source.

Endpoint Identifier Escriba un identificador para el punto de enlace de Oracle.


Este identificador debe ser único dentro de una región de
AWS.

Source Engine Elija oracle.

Server name Si la base de datos es local, escriba una dirección IP que


AWS DMS pueda utilizar para conectarse a la base de
datos desde el servidor de replicación. Si la base de datos
se ejecuta en Amazon Elastic Compute Cloud (Amazon
EC2) o Amazon RDS, escriba el servicio de nombres de
dominio (DNS) público.

Port Escriba el puerto para el que la base de datos escucha las


conexiones (el puerto predeterminado de Oracle es 1521).

SSL mode Elija un modo de capa de conexión segura (SSL) si desea


activar el cifrado de conexión para este punto de enlace.
En función del modo seleccionado, es posible que deba

Version 1/1/2016
15
AWS Database Migration Service
Guía de la migración paso a paso
Paso 4: Crear el punto de enlace de origen de Oracle

Para este parámetro Haga lo siguiente


proporcionar información de certificado y de certificado de
servidor.

Username Escriba el nombre de usuario de la cuenta de AWS. Le


recomendamos que cree una cuenta de AWS específica
de su migración.

Password Proporcione la contraseña para el nombre de usuario


anterior.

4. Seleccione la pestaña Advanced para fijar valores para cadenas de conexión adicionales y para la
clave de cifrado.

Para esta opción Haga lo siguiente

Extra connection attributes Aquí puede añadir valores para los atributos adicionales
que controlan el comportamiento de su punto de enlace.
A continuación se enumeran algunos de los atributos
más relevantes. Para ver la lista completa, consulte la
documentación. Separe varias entradas entre sí con un
punto y coma (;).

• addSupplementalLogging: AWS DMS añadirá


automáticamente el registro suplementario si activa esta
opción (addSupplementalLogging=Y).
• useLogminerReader: de forma predeterminada, AWS
DMS utiliza Oracle LogMiner para capturar los datos
modificados de los registros. AWS DMS también puede
analizar los registros con su propia tecnología. Si utiliza
Oracle 12c y necesita capturar los cambios en las
tablas que incluyen LOB, defina esta opción como No
(useLogminerReader=N).
• numberDataTypeScale: Oracle admite un tipo de
dato NUMBER sin precisión ni escala. De forma
predeterminada, NUMBER se convierte en un
número con una precisión de 38 y una escala de 10:
number(38,10). Los valores válidos son de 0 a 38 o -1
para FLOAT.
• archivedLogDestId: esta opción especifica el destino de
los registros redo archivados. El valor debe ser el mismo
que el número de DEST_ID en la tabla $archived_log.
Al trabajar con varios destinos de registro (DEST_ID),
le recomendamos que especifique un identificador de
ubicación para los registros redo archivados. De esta
forma se mejora el desempeño garantizando que accede
a los registros correctos desde el principio. El valor
predeterminado para esta opción es 0.

KMS master key Elija la clave de cifrado que se utilizará para cifrar el
almacenamiento de la replicación y la información de la
conexión. Si elije (Default) aws/dms, se utilizará la clave
AWS KMS predeterminada asociada con su cuenta y
región.

Version 1/1/2016
16
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Crear el punto de enlace de destino de Aurora

Antes de guardar su punto de enlace, puede probarlo. Para hacerlo, seleccione una VPC y la instancia
de replicación desde la que realizar las pruebas. Como parte de la prueba, AWS DMS refresca la lista de
esquemas asociados con el punto de enlace. (Los esquemas se presentan como opciones de origen al
crear una tarea con este punto de enlace de origen).

Paso 5: Crear el punto de enlace de destino de Aurora


A continuación, puede proporcionar información para la base de datos de destino de Amazon Aurora
mediante la especificación de los ajustes del punto de enlace de destino. La tabla siguiente describe la
configuración del destino.

Para especificar un punto de enlace de la base de datos de destino con la consola de


administración de AWS

1. En el panel de navegación de la consola de AWS DMS, seleccione Endpoints.


2. Elija Create endpoint. La Create database endpoint page aparece tal y como se muestra a
continuación.

3. Especifique la información de conexión para la base de datos de destino de Aurora. La tabla siguiente
describe la configuración del destino.

Para este parámetro Haga lo siguiente

Endpoint type Elija Target.

Version 1/1/2016
17
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Crear el punto de enlace de destino de Aurora

Para este parámetro Haga lo siguiente

Endpoint Identifier Escriba un identificador para el punto de enlace de Aurora.


Este identificador debe ser único dentro de una región de
AWS.

Target Engine Elija aurora.

Servername Escriba el punto de enlace de escritura para la instancia


de Aurora. El punto de enlace de escritura es la instancia
principal.

Port Escriba el puerto asignado a la instancia.

SSL mode Elija un modo SSL si desea habilitar el cifrado de


conexión para este punto de enlace. En función del
modo seleccionado, es posible que deba proporcionar
información de certificado y de certificado de servidor.

Username Escriba el nombre de usuario de la cuenta que utilice para


la migración. Le recomendamos que cree una cuenta
específica para su migración.

Password Proporcione la contraseña para el nombre de usuario


anterior.

4. Seleccione la pestaña Advanced para fijar valores para cadenas de conexión adicionales y la clave de
cifrado, en caso de que las necesite.

Para esta opción Haga lo siguiente

Extra connection attributes Aquí puede introducir valores para los atributos
adicionales que controlan el comportamiento del
punto de enlace. A continuación se enumeran
algunos de los atributos más relevantes. Para
ver la lista completa, consulte la documentación.
Separe varias entradas entre sí con un punto y
coma (;).

• targetDbType: de forma predeterminada,


AWS DMS crea una base de datos MySQL
diferente para cada esquema que se va a
migrar. En ocasiones, es posible que desee
combinar objetos de varios esquemas en
una única base de datos. Para hacerlo,
defina esta opción como specific_database
(targetDbType=SPECIFIC_DATABASE).
• initstmt: puede utilizar esta opción para llamar
al parámetro de conexión MySQL initstmt y
aceptar todo lo que acepte mysql initstmt. Al
trabajar con una base de datos de destino
de Aurora, se recomienda desactivar las
comprobaciones de claves externas. Para
hacerlo, utilice el parámetro initstmt como se
indica a continuación:

initstmt=SET FOREIGN_KEY_CHECKS=0

Version 1/1/2016
18
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear una tarea de migración

Para esta opción Haga lo siguiente

KMS master key Elija la clave de cifrado que se utilizará para


cifrar el almacenamiento de la replicación y la
información de la conexión. Si elije (Default)
aws/dms, se utilizará la clave AWS KMS
predeterminada asociada con su cuenta y
región.

Antes de guardar el punto de enlace, tiene la oportunidad de probarlo. Para hacerlo, seleccione una VPC y
una instancia de replicación desde las que realizar la prueba.

Paso 6: Crear una tarea de migración


Al crear una tarea de migración, le indica a AWS DMS exactamente el modo en que desea migrar sus
datos. Dentro de una tarea define las tablas que le gustaría migrar, a dónde desea migrarlas y cómo le
gustaría migrarlas. Si está pensando en utilizar la captura de cambios y aplicar la capacidad de AWS DMS,
es importante saber que las transacciones se mantienen dentro de una única tarea. En otras palabras,
debe migrar todas las tablas que participan en una única transacción de forma conjunta en la misma tarea.

Con una tarea de AWS DMS, puede especificar qué esquema se va a migrar y el tipo de migración. Puede
migrar los datos existentes, migrar los datos existentes y replicar los cambios en curso o bien solo replicar
los cambios. En esta guía solo se migran los datos existentes.

Para crear una tarea de migración

1. En el panel de navegación, seleccione Tasks.


2. Elija Create Task.
3. En la página Create Task, especifique las opciones de la tarea. La tabla siguiente describe la
configuración.

Para esta opción Haga lo siguiente

Task name Siempre se recomienda asignar un nombre descriptivo a la


tarea que ayude a la organización.

Task description Escriba una descripción para la tarea.

Source endpoint Seleccione su punto de enlace de origen.

Target endpoint Seleccione su punto de enlace de destino.

Replication instance Seleccione una instancia de replicación en la que ejecutar


la tarea. Recuerde que los puntos de enlace de origen y de
destino deben ser accesibles desde esta instancia.

Migration type Puede utilizar tres tipos de migración distintos con AWS
DMS.

• Migrar los datos existentes:

Si selecciona esta opción, AWS DMS migra únicamente


los datos existentes. Los cambios en los datos de origen
no se capturarán ni se aplicarán al destino. Si puede
permitirse una interrupción hasta que se complete toda

Version 1/1/2016
19
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear una tarea de migración

Para esta opción Haga lo siguiente


la carga, la migración con esta opción es fácil y sencilla.
Este método también se puede usar para crear copias
de pruebas de la base de datos.
• Migrar los datos existentes y replicar los cambios
continuos:

Con esta opción, AWS DMS captura los cambios


mientras migra los datos existentes. AWS DMS continúa
capturando y aplicando los cambios incluso después
de haber cargado gran parte de los datos masivos. Con
el tiempo, las bases de datos de origen y de destino se
sincronizarán, por lo que el tiempo de inactividad de la
migración será mínimo. Para ello, siga estos pasos:
• Cierre la aplicación
• Permita que el último cambio llegue al destino
• Realice las tareas administrativas necesarias
como, por ejemplo, activar las claves externas y los
disparadores
• Inicie la aplicación apuntando hacia la nueva base de
datos de destino
Note

AWS DMS carga los datos masivos tabla


por tabla, <n> tablas a la vez. A medida que
progresa toda la carga, AWS DMS comienza
a aplicar los cambios almacenados en caché
en las tablas de destino tan pronto como sea
posible. Durante la carga masiva se viola la
integridad referencial, por lo que las claves
externas existentes deberán desactivarse para
la carga completa. Una vez completada toda
la carga, la base de datos de destino dispone
de integridad y los cambios se aplican como
transacciones.
• Replicar solo los cambios en los datos:

En algunos casos puede elegir cargar los datos masivos


con un método diferente. Por lo general, este enfoque
solo se aplica a las migraciones homogéneas.

Start task on create En la mayoría de situaciones se suele iniciar la tarea


inmediatamente. Aunque, en ocasiones, es posible que
quiera retrasar el inicio de una tarea para, por ejemplo,
cambiar los niveles de registro.

4. A continuación, defina los Advanced settings, tal y como se muestra a continuación.

Para esta opción Haga lo siguiente

Target table preparation mode AWS DMS le permite especificar cómo le gustaría que se
preparen las tablas de destino antes de la carga.

Do nothing: si selecciona esta opción, AWS DMS no


preparará las tablas. La estructura de las tablas seguirá

Version 1/1/2016
20
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear una tarea de migración

Para esta opción Haga lo siguiente


igual y los datos existentes se quedarán en la tabla. Puede
utilizar este método para unificar los datos de varios
sistemas.

Drop tables on target: esta opción se suele usar si quiere


que AWS DMS cree la tabla de destino para usted. Al
seleccionar esta opción, AWS DMS borra y vuelve a crear
las tablas que se van a migrar antes de la migración.

Truncate: seleccione esta opción si desea crear


previamente algunas o todas las tablas en el sistema
de destino, quizás con la herramienta de conversión de
esquemas de AWS. Si selecciona esta opción, AWS DMS
trunca una tabla de destino antes de cargarla. Si la tabla
de destino no existe, AWS DMS crea la tabla para usted.

Version 1/1/2016
21
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear una tarea de migración

Para esta opción Haga lo siguiente

Include LOB columns in replication A veces, migrar objetos grandes (LOB) entre sistemas
resulta complicado. AWS DMS ofrece una serie de
opciones para ayudar a ajustar las columnas LOB. Para
saber qué y cuándo AWS DMS considera los tipos de
datos como LOB, consulte la documentación de AWS
DMS,.

Don't include LOB columns: al migrar datos desde


una base de datos a otra, puede aprovechar para
replantearse la manera en que quiere almacenar los LOB,
especialmente en migraciones heterogéneas. Si desea
hacerlo, no será necesario migrar los datos LOB.

Full LOB mode: en full LOB mode, AWS DMS migra todos
los LOB del origen al destino sin importar el tamaño. En
esta configuración, AWS DMS no tiene información sobre
el tamaño máximo de los LOB. Por lo tanto, los LOB se
migran de uno en uno. El modo LOB completo puede ser
bastante lento.

Limited LOB mode: en limited LOB mode, especifique el


tamaño máximo de LOB que debe aceptar AWS DMS.
Esto permite que AWS DMS reasigne previamente la
memoria y cargue los datos LOB en masa. Los LOB que
superen el tamaño máximo se truncarán y se emitirá una
advertencia para el archivo de registro. En limited LOB
mode obtendrá un desempeño claramente mejor que en
full LOB mode. Le recomendamos que utilice limited LOB
mode siempre que sea posible.
Note

Con Oracle, los LOB se tratan como tipos de


datos VARCHAR, siempre que sea posible. Este
enfoque significa que AWS DMS los recopila
en masa desde la base de datos, lo que es
significativamente más rápido que otros métodos.
El tamaño máximo de un VARCHAR en Oracle es
de 64K, por lo tanto un tamaño de LOB limitado
de menos de 64K es óptimo si Oracle es la base
de datos de origen.

Max LOB size (K) Cuando se configura una tarea para que se ejecute en
limited LOB mode, esta opción determina el tamaño
máximo del LOB que aceptará AWS DMS. Cualquier LOB
que sea superior a este valor se truncará en este valor.

LOB chunk size (K) Cuando se configura una tarea para utilizar full LOB mode,
AWS DMS recupera los LOB en partes. Esta opción
determina el tamaño de cada fragmento. Al configurar esta
opción, tenga en cuenta el tamaño máximo del paquete
de su configuración de red. Si el tamaño del fragmento
LOB supera el tamaño máximo permitido del paquete, es
posible que vea errores de desconexión.

Version 1/1/2016
22
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear una tarea de migración

Para esta opción Haga lo siguiente

Custom CDC start time Este parámetro pertenece a las tareas configuradas para
replicar únicamente los cambios de datos. Le indica a
AWS DMS dónde empezar a buscar cambios en el flujo de
cambios.

Enable logging Active siempre el registro.

5. Defina los parámetros adicionales.

Para esta opción Haga lo siguiente

Create control table(s) in target AWS DMS requiere algunas tablas de control en la base
schema de datos de destino. De forma predeterminada, estas
tablas se crean en la misma base de datos que sus
datos. Este parámetro le permite indicar a AWS DMS que
coloque dichos elementos en otro lugar.

Maximum number of tables to load in AWS DMS realiza una carga de tabla tras tabla con sus
parallel datos. Este parámetro le permite controlar cuántas tablas
cargará AWS DMS en paralelo. El valor predeterminado es
8, que es óptimo en la mayoría de casos.

6. Especifique la configuración del mapeo de tablas.

Los mapeos de tablas le indican a AWS DMS qué tablas debe migrar una tarea desde el origen al
destino. Los mapeos se expresan en JSON, aunque algunos ajustes pueden hacerse mediante la
consola de administración de AWS. Los mapeos de tablas también pueden incluir transformaciones
como, por ejemplo, el cambio de nombres de tabla de mayúsculas a minúsculas.

AWS DMS genera mapeos de tablas predeterminadas para cada esquema (no del sistema) en
la base de datos de origen. En la mayoría de los casos deberá personalizar su mapeo de tablas.
Para personalizar su mapeo de tablas, seleccione el botón de opción personalizado. Para obtener
más información sobre cómo crear mapeos de tablas, consulte la documentación de AWS DMS. El
siguiente mapeo de tablas realiza estas cosas:

• Incluye el esquema DMS_SAMPLE en la migración.


• Excluye las tablas NFL_DATA, MLB_DATA, NAME_DATE y STADIUM_DATA.
• Convierte los nombre de esquemas, tablas y columnas a minúsculas.

{
"rules": [
{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "DMS_SAMPLE",
"table-name": "%"
},
"rule-action": "include"
},

{
"rule-type": "selection",
"rule-id": "2",

Version 1/1/2016
23
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Crear una tarea de migración

"rule-name": "2",
"object-locator": {
"schema-name": "DMS_SAMPLE",
"table-name": "MLB_DATA"
},
"rule-action": "exclude"
},
{
"rule-type": "selection",
"rule-id": "3",
"rule-name": "3",
"object-locator": {
"schema-name": "DMS_SAMPLE",
"table-name": "NAME_DATA"
},
"rule-action": "exclude"
},

{
"rule-type": "selection",
"rule-id": "4",
"rule-name": "4",
"object-locator": {
"schema-name": "DMS_SAMPLE",
"table-name": "NFL_DATA"
},
"rule-action": "exclude"
},

{
"rule-type": "selection",
"rule-id": "5",
"rule-name": "5",
"object-locator": {
"schema-name": "DMS_SAMPLE",
"table-name": "NFL_STADIUM_DATA"
},
"rule-action": "exclude"
},{
"rule-type": "transformation",
"rule-id": "6",
"rule-name": "6",
"rule-action": "convert-lowercase",
"rule-target": "schema",
"object-locator": {
"schema-name": "%"
}
},
{
"rule-type": "transformation",
"rule-id": "7",
"rule-name": "7",
"rule-action": "convert-lowercase",
"rule-target": "table",
"object-locator": {
"schema-name": "%",
"table-name": "%"
}
},
{
"rule-type": "transformation",
"rule-id": "8",
"rule-name": "8",
"rule-action": "convert-lowercase",
"rule-target": "column",
"object-locator": {

Version 1/1/2016
24
AWS Database Migration Service
Guía de la migración paso a paso
Paso 7: Monitorizar la tarea de migración

"schema-name": "%",
"table-name": "%",
"column-name": "%"
}
}
]
}

Paso 7: Monitorizar la tarea de migración


Tres secciones en la consola proporcionan información sobre lo que hace la tarea de migración:

• Monitorización de tareas: la pestaña Task Monitoring ofrece un análisis de su rendimiento de carga


completa, captura los cambios y aplica las latencias.
• Estadísticas de tabla: la pestaña Table Statistics proporciona información detallada sobre el número
de filas procesados, el tipo y el número de transacciones procesadas, así como información sobre las
operaciones DDL.
• Registros: en la pestaña Logs puede ver el archivo de registro de su tarea (si ha activado el registro).
Si, por alguna razón, la tarea falla, busque errores en este archivo. También puede buscar advertencias
en el archivo. Cualquier truncado de datos en su tarea aparece como una advertencia en el archivo de
registro. Si lo necesita, puede aumentar el nivel de registro usando la interfaz de línea de comandos
(CLI) de AWS.

Solución de problemas
Las dos áreas donde la gente suele encontrar problemas al trabajar con Oracle como origen y Aurora
como destino son: el registro suplementario y la distinción entre mayúsculas y minúsculas.

• Registro suplementario: con Oracle, para que la replicación cambie los datos, el registro suplementario
debe estar activado. Sin embargo, si activa el registro suplementario en el nivel de la base de datos, a
veces hay que volver a activarlo al crear tablas nuevas. La mejor solución consiste en permitir que DMS
active el registro suplementario para usted utilizando el atributo de conexión adicional:

addSupplementalLogging=Y

• Distinción entre mayúsculas y minúsculas: Oracle no distingue entre mayúsculas y minúsculas (a menos
que utilice comillas en los nombres de objeto). Sin embargo, el texto aparece en mayúsculas. Por lo
tanto, AWS DMS denomina los objetos de destino en mayúsculas de forma predeterminada. En la
mayoría de casos, le convendría utilizar transformaciones para cambiar los nombres de esquemas,
tablas y columnas a minúsculas.

Para obtener más consejos, consulte la sección de resolución de problemas de AWS DMS en la Guía del
usuario de AWS.

Para solucionar problemas específicos de Oracle, consulte la sección de resolución de problemas de


Oracle:

http://docs.aws.amazon.com/dms/latest/userguide/
CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle

Version 1/1/2016
25
AWS Database Migration Service
Guía de la migración paso a paso
Uso de la base de datos de muestra para la migración

Para solucionar problemas de Aurora y MySQL, consulte la sección de resolución de problemas de


MySQL:

http://docs.aws.amazon.com/dms/latest/userguide/
CHAP_Troubleshooting.html#CHAP_Troubleshooting.MySQL

Uso de la base de datos de muestra para la


migración
Recomendamos que para seguir el esquema y la guía anteriores utilice la base de datos de Oracle de
muestra proporcionada por Amazon. Esta base de datos imita un sencillo sistema de entradas para
eventos deportivos. Los scripts para generar la base de datos de ejemplo forman parte del archivo .tar
ubicado aquí: https://github.com/awslabs/aws-database-migration-samples.

Para crear la base de datos de muestra, extraiga el archivo .tar y siga las instrucciones de los archivos
README y de instalación.

La muestra incluye aproximadamente entre 8 y 10 GB de datos. La base de datos de muestra también


incluye el paquete ticketManagment, que se puede utilizar para generar algunas transacciones.
Para generar transacciones, inicie sesión en SQL*Plus o SQL Developer y ejecute lo siguiente como
dms_sample:

SQL>exec ticketManagement.generateTicketActivity(0.01,1000);

El primer parámetro es el retraso de la transacción en segundos y el segundo es el número de


transacciones a generar. El procedimiento anterior simplemente "vende entradas" a la gente. Verá
actualizaciones en las tablas sporting_event_ticket y ticket_purchase_history.

En cuanto haya "vendido" algunas entradas, podrá transferirlas con el siguiente comando:

SQL>exec ticketManagement.generateTransferActivity(1,100);

El primer parámetro es el retraso de la transacción en segundos y el segundo es el número


de transacciones a generar. Este procedimiento también actualiza sporting_event_ticket y
ticket_purchase_history.

Version 1/1/2016
26
AWS Database Migration Service
Guía de la migración paso a paso

Migración de una base de datos


de Amazon RDS Oracle a Amazon
Aurora mediante AWS Database
Migration Service

En esta guía se explica la migración de bases de datos heterogéneas desde Amazon RDS Oracle a
Amazon Aurora mediante AWS Database Migration Service y la herramienta de conversión de esquemas
de AWS. Se trata de un ejercicio de introducción que no cubre todos los escenarios, pero le proporcionará
una buena explicación de los pasos que se realizan al ejecutar una migración.

Es importante saber que AWS DMS y AWS SCT son dos herramientas diferentes y atienden a diferentes
necesidades. No interactúan entre sí en el proceso de migración. A grandes rasgos, los pasos de esta
migración son los siguientes:

1. Uso de AWS SCT para:


• Ejecutar el informe de conversión de Oracle a Aurora para identificar los problemas, las limitaciones y
las acciones necesarias para convertir los esquemas.
• Generar los scripts de esquema y aplicarlos al destino antes de cargar los datos mediante AWS DMS.
AWS SCT realiza las conversiones de código necesarias para objetos como procedimientos y vistas.
2. Identificar e implementar soluciones para los problemas que notifica AWS SCT. Por ejemplo, un tipo
de objeto Oracle Sequence que no es compatible con Amazon Aurora se puede gestionar mediante la
opción auto_increment para rellenar las claves sustitutas o desarrollar una lógica para las secuencias en
la capa de la aplicación.
3. Desactivar claves externas u otras restricciones que pueden influir en la carga de datos de AWS DMS.
4. AWS DMS carga los datos desde el origen al destino mediante el método Full Load. Pese a que AWS
DMS es capaz de crear objetos en el destino durante la carga, se basa en un enfoque minimalista para
migrar los datos de forma eficiente, por lo que no copia toda la estructura del esquema desde el origen
al destino.
5. Tras la migración, puede realizar actividades como crear índices adicionales, habilitar claves externas y
realizar los cambios necesarios en la aplicación para que apunte a la nueva base de datos.

Esta guía utiliza una plantilla de AWS CloudFormation personalizada para crear una instancia de base
de datos de Oracle en Amazon RDS y Amazon Aurora. Después utiliza un script de comandos SQL para

Version 1/1/2016
27
AWS Database Migration Service
Guía de la migración paso a paso
Costos

instalar un esquema de ejemplo y datos en la instancia de base de datos de Oracle en Amazon RDS que
se migrará a Amazon Aurora más adelante.

Para completar esta guía se necesitan dos horas aproximadamente. El costo estimado para completarla
con los recursos de AWS es de alrededor de 5,00 USD. Asegúrese de seguir las instrucciones para
eliminar los recursos al final de esta guía y evitar así cargos adicionales.

Temas
• Costos (p. 28)
• Requisitos previos (p. 29)
• Arquitectura de migración (p. 30)
• Migración paso a paso (p. 31)
• Pasos siguientes (p. 67)
• Plantilla de AWS CloudFormation, scripts SQL y otros recursos (p. 67)
• Referencias (p. 68)

Costos
Para esta guía, los recursos de Amazon Relational Database Service (Amazon RDS) se aprovisionan
mediante AWS CloudFormation, así como los recursos de AWS Database Migration Service (AWS DMS).
Al aprovisionarlos se generan cargos por hora en su cuenta de AWS. La herramienta de conversión de
esquemas de AWS no incurre en costos, ya que se ofrece como parte de AWS DMS.

Aunque solo necesitará una cantidad mínima de recursos para esta guía, algunos de estos recursos no se
incluyen en la capa gratuita de AWS. Al final de esta guía encontrará una sección donde se explica cómo
eliminar los recursos para evitar cargos adicionales. Elimine los recursos en cuanto haya completado el
tutorial.

Para estimar el costo de ejecutar esta guía en AWS, puede utilizar la calculadora costo mensual AWS.
Sin embargo, el servicio AWS DMS todavía no está incorporado en la calculadora. En la siguiente tabla se
desglosan los precios de AWS DMS y de Amazon RDS Oracle Standard Edition Two.

Servicio de AWS Tipo de instancia Almacenamiento y


E/S

Instancia de base de datos de Amazon RDS Oracle, licencia db.m3.medium Single AZ,
incluida (Standard Edition Two), Single AZ 10 GB de
almacenamiento,
GP2

Instancia de base de datos Aurora de Amazon RDS db.r3.large Una única zona
de disponibilidad,
10 GB de
almacenamiento, 1
millón de E/S

Instancia de replicación de AWS DMS t2.small 50 GB de


almacenamiento
para mantener
incluidos los
registros de
replicación

Transferencia de datos de AWS DMS Gratuita. La  


transferencia de

Version 1/1/2016
28
AWS Database Migration Service
Guía de la migración paso a paso
Requisitos previos

Servicio de AWS Tipo de instancia Almacenamiento y


E/S
datos entre AWS
DMS y las bases
de datos en las
instancias RDS en
la misma zona de
disponibilidad es
gratuita

Transferencia de datos de salida Primer GB gratuito  


al mes

Suponiendo que ejecute esta guía durante dos horas, el precio que calculamos para el uso de los recursos
de AWS es el siguiente:

• El precio estimado del uso de Amazon Aurora+10 GB de almacenamiento calculado con la calculadora
costo mensual AWS es de 1,78 USD.
• Costo estimado de Amazon RDS Oracle SE2 (licencia incluida) + 10 GB GP2 de almacenamiento según
el sitio de precios a (0,226 USD) * 2 horas + (0,115 USD) * 10 GB es de 1,602 USD.
• Costo estimado del servicio AWS DMS de la instancia t2.small con 50 GB GP2 de almacenamiento
según el sitio de precios a (0,036 USD) * 2 horas es de 0,072 USD.

Costo total estimado de la ejecución de este proyecto = 1,78 USD +1,602 + 0,072 USD = 3,454 USD,
aproximadamente 5,00 USD.

Este precio se basa en las siguientes suposiciones:

• Suponemos que la transferencia de datos total a Internet es inferior a un gigabyte. La estimación de


precios anterior supone que el precio de la transferencia de datos y de las copias de seguridad asociado
a los servicios de RDS y DMS está dentro de los límites de la capa gratuita.
• El almacenamiento consumido por la base de datos de Aurora se factura en incrementos mensuales en
GBP y las E/S se facturan en incrementos de solicitudes por millón.
• La transferencia de datos entre DMS y las bases de datos en las instancias RDS en la misma zona de
disponibilidad son gratuitas.

Requisitos previos
Los siguientes requisitos previos también son necesarios para completar esta guía:

• Conocer Amazon RDS, las tecnologías de base de datos aplicables y SQL.


• Los scripts personalizados que incluyen crear las tablas que se van a migrar y las consultas SQL para
confirmar la migración. Los scripts y consultas están disponibles en los siguientes enlaces. Cada uno de
los pasos de la guía también contiene un enlace para descargar el archivo o incluye la consulta exacta
en el paso.
• Instrucciones SQL para crear el esquema de HR: https://dms-sbs.s3.amazonaws.com/Oracle-HR-
Schema-Build.sql.
• Consultas SQL para validar los contenidos del esquema: (texto) https://dms-sbs.s3.amazonaws.com/
AWSDMSDemoStats.txt y (hoja de cálculo) https://dms-sbs.s3.amazonaws.com/
AWSDMSDemoStats.xlsx.
• Plantilla de AWS CloudFormation: https://dms-sbs.s3.amazonaws.com/
Oracle_Aurora_RDS_For_DMSDemo.template.

Version 1/1/2016
29
AWS Database Migration Service
Guía de la migración paso a paso
Arquitectura de migración

• Una cuenta de AWS con credenciales de AWS Identity and Access Management (IAM) que le permitan
lanzar las instancias Amazon Relational Database Service (Amazon RDS) y AWS Database Migration
Service (AWS DMS) en su región de AWS. Para obtener información sobre las credenciales de IAM,
consulte la información sobre cómo crear un usuario de IAM.
• Conocimientos básicos del servicio Amazon Virtual Private Cloud (Amazon VPC) y de los grupos de
seguridad. Para obtener información sobre cómo utilizar Amazon VPC con Amazon RDS, consulte
la información sobre Virtual Private Cloud (VPC) y Amazon RDS. Para obtener información sobre los
grupos de seguridad de Amazon RDS, consulte la información sobre grupos de seguridad de Amazon
RDS.
• Conocimiento de las características compatibles y las limitaciones de AWS DMS. Para obtener
información sobre AWS DMS, consulte la sección que explica qué es AWS Database Migration Service.
• Conocimientos sobre las opciones de conversión del tipo de datos admitidas para Oracle y Amazon
Aurora. Para obtener información sobre los tipos de datos para Oracle como origen, consulte la sección
sobre uso de una base de datos de Oracle como origen para AWS Database Migration Service . Para
obtener información sobre los tipos de datos para Amazon Aurora como destino, consulte la sección
sobre uso de una base de datos compatible con MySQL como destino para AWS Database Migration
Service .

Para obtener más información sobre AWS DMS, consulte la documentación de AWS DMS.

Arquitectura de migración
Esta guía utiliza AWS CloudFormation para crear una topología de red sencilla para la migración de bases
de datos que incluya la base de datos de origen, la instancia de replicación y la base de datos de destino
en la misma VPC. Para obtener más información sobre AWS CloudFormation, consulte la documentación
de CloudFormation.

Aprovisionamos los recursos de AWS que se necesitan para esta guía de AWS Database Migration
Service (AWS DMS) a través de AWS CloudFormation. Estos recursos incluyen una VPC e instancias
Amazon Relational Database Service (Amazon RDS) para Oracle y Amazon Aurora. Aprovisionamos
a través de AWS CloudFormation porque simplifica el proceso, por lo que podemos concentrarnos en
tareas relacionadas con la migración de datos. Cuando crea una pila a partir de una plantilla de AWS
CloudFormation, esta aprovisiona los siguientes recursos:

• Una VPC con CIDR (10.0.0.0/24) con dos subredes públicas en su región, DBSubnet1 en la dirección
10.0.0.0/26 en la zona de disponibilidad (AZ) 1 y DBSubnet2 en la dirección 10.0.0.64/26, en AZ 12.
• Un grupo de subred de base de datos que incluye DBSubnet1 y DBSubnet2.
• Oracle RDS Standard Edition Two con estas opciones de implementación:
• Licencia incluida
• Configuración de Single-AZ
• db.m3.medium o clase de instancia equivalente
• Puerto 1521
• Opción y grupos de parámetros predeterminados
• Instancia Aurora RDS con estas opciones de implementación:
• Sin réplicas
• Clase de instancia db.r3.large o equivalente
• Puerto 3306
• Opción y grupos de parámetros predeterminados
• Un grupo de seguridad con acceso desde un equipo o 0.0.0.0/0 (acceso desde cualquier lugar) en
función del parámetro de entrada
Version 1/1/2016
30
AWS Database Migration Service
Guía de la migración paso a paso
Migración paso a paso

Hemos diseñado la plantilla CloudFormation para que el usuario no tenga que intervenir demasiado.
Aprovisiona los recursos necesarios de AWS con las configuraciones mínimas recomendadas. Sin
embargo, si desea cambiar algunas de las configuraciones y parámetros, como el bloque de VPC CIDR y
los tipos de instancia de Amazon RDS, no dude en actualizar la plantilla.

Utilizaremos la consola de administración de AWS para aprovisionar los recursos de AWS DMS, como la
instancia de replicación, los puntos de enlace y las tareas. Deberá instalar herramientas de cliente, como
SQL Workbench/J y la herramienta de conversión de esquemas de AWS (AWS SCT), en su equipo local
para conectarse a las instancias de Amazon RDS.

A continuación se presenta un ejemplo de la arquitectura de migración para esta guía.

Migración paso a paso


En las siguientes secciones, encontrará las instrucciones paso a paso para migrar la base de datos
de Amazon Relational Database Service (Amazon RDS) Oracle a Amazon Aurora. Se presupone que
antes de emprender estos pasos ya ha preparado la base de datos de origen tal como se describe en las
secciones anteriores.

Temas
• Paso 1: Iniciar las instancias de RDS en una VPC con la plantilla de CloudFormation (p. 32)
• Paso 2: Instalar las herramientas de SQL y la herramienta de conversión de esquemas de AWS en su
equipo local (p. 37)
• Paso 3: Comprobar la conectividad de la instancia de base de datos de Oracle y crear el esquema de
ejemplo (p. 39)
• Paso 4: Probar la conectividad con la instancia de base de datos de Aurora (p. 43)
• Paso 5: Utilizar la herramienta de conversión de esquemas de AWS (AWS SCT) para convertir los
esquemas de Oracle a Aurora (p. 45)
• Paso 6: Validar la conversión de esquemas (p. 54)

Version 1/1/2016
31
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation
• Paso 7: Crear una instancia de replicación de AWS DMS (p. 57)
• Paso 8: Crear los puntos de enlace de origen y destino de AWS DMS (p. 58)
• Paso 9: Crear y ejecutar la tarea de migración de AWS DMS (p. 61)
• Paso 10: Comprobar que la migración de datos se realizó correctamente (p. 64)
• Paso 11: Eliminar los recursos de la guía (p. 66)

Paso 1: Iniciar las instancias de RDS en una VPC con


la plantilla de CloudFormation
En primer lugar, necesita aprovisionar los recursos de AWS necesarios para esta guía.

Para utilizar AWS CloudFormation con el fin de crear recursos de Amazon RDS para esta guía

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS CloudFormation en


https://console.aws.amazon.com/cloudformation.
2. Elija Create stack.
3. En la página Select Template , seleccione Specify an Amazon S3 template URL y pegue la siguiente
dirección URL en el cuadro de texto adyacente:

https://dms-sbs.s3.amazonaws.com/Oracle_Aurora_RDS_For_DMSDemo.template.

4. Elija Next. En la página Specify Details, proporcione los valores de los parámetros según se muestra a
continuación.

Version 1/1/2016
32
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

Para este parámetro Haga lo siguiente

Stack Name Escriba DMSdemo.

OracleDBName Facilite un nombre único para la base de datos. El nombre


debe comenzar con una letra. El valor predeterminado es
ORCL.

OracleDBUsername Indique el usuario administrador (DBA) para administrar


la instancia de Oracle. El valor predeterminado es
oraadmin.

OracleDBPassword Especifique la contraseña para el usuario administrador.

AuroraDBUsername Indique el usuario administrador (DBA) para administrar


la instancia de Aurora. El valor predeterminado es
auradmin.

AuroraDBPassword Especifique la contraseña para el usuario administrador.

ClientIP Especifique la dirección IP en formato CIDR (x.x.x.x/32)


para el equipo local. Puede obtener la dirección IP en
whatsmyip.org. El grupo de seguridad de instancias de
RDS permite entrar en esta dirección IP. Se puede tener
acceso al valor predeterminado desde cualquier lugar
(0.0.0.0/0), lo cual no se recomienda; en esta guía, debe
utilizar su dirección IP.

Version 1/1/2016
33
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

5. Elija Next. En la página Options que se muestra a continuación, seleccione Next.

Version 1/1/2016
34
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

6. En la página Review, compruebe la información y, si es correcta, seleccione Create Stack. Puede


obtener el costo estimado de la ejecución de esta plantilla de CloudFormation seleccionando Cost.

7. AWS puede tardar aproximadamente 20 minutos o más en crear la pila con instancias Amazon RDS
Oracle y Amazon Aurora.

Version 1/1/2016
35
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

8. Una vez creada la pila, seleccione Stack, la pila DMSdemo y, a continuación, la vista Outputs. Registre
las cadenas de conexión de JDBC, OracleJDBCConnectionString y AuroraJDBCConnectionString,
para un uso posterior en esta guía con el fin de conectarse a las instancias de bases de datos de
Oracle y Aurora.

Version 1/1/2016
36
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Instalar las herramientas de SQL y la herramienta
de conversión de esquemas de AWS en su equipo local

Note

Oracle 12c SE Two License versión 12.1.0.2.v4 está disponible en todas las regiones. Sin
embargo, Amazon Aurora no está disponible en todas las regiones. Amazon Aurora está
disponible actualmente en las regiones de EE.UU. Este (Norte de Virginia), EE.UU. Oeste
(Oregón), UE (Irlanda), Asia Pacífico (Tokio), Asia Pacífico (Mumbai), Asia Pacífico (Sídney) y
Asia Pacífico (Seúl). Si intenta crear una pila en una región en la que Aurora no está disponible, la
creación fallará y emitirá el error Invalid DB Engine for AuroraCluster.

Paso 2: Instalar las herramientas de SQL y la


herramienta de conversión de esquemas de AWS en
su equipo local
A continuación, instale un cliente SQL y la herramienta de conversión de esquemas de AWS (AWS SCT)
en su equipo local.

En esta guía, suponemos que va a utilizar el cliente SQL Workbench/J para conectarse a instancias RDS
para validar la migración. Le recomendamos que se plantee el uso de otras herramientas de software
como las siguientes:

• JACK DB, una interfaz web online para utilizar con bases de datos de RDS (Oracle y Aurora) a través de
JDBC
• DBVisualizer
• Oracle SQL Developer

Version 1/1/2016
37
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Instalar las herramientas de SQL y la herramienta
de conversión de esquemas de AWS en su equipo local
Para instalar el software de cliente SQL

1. Descargue SQL Workbench/J desde el sitio web de SQL Workbench/J e instálelo en su equipo local.
Este cliente SQL es gratuito y de código abierto, además es independiente del sistema de gestión de
bases de datos.
2. Descargue el controlador JDBC de Oracle Database 12.1.0.2 (ojdbc7.jar).
3. Descargue el controlador MySQL ( mysql-connector-java-5.1.39-bin.jar).
4. Al utilizar SQL Workbench/J, configure los controladores JDBC para Oracle y Aurora para poder
establecer la conectividad, tal como se describe a continuación.

1. En SQL Workbench/J, seleccione File y, después, Manage Drivers.


2. En la lista de controladores, seleccione Oracle.
3. Seleccione el icono de abrir y, a continuación, el archivo ojdbc.jar que descargó en el paso
anterior. Elija OK.

4. En la lista de controladores, seleccione MySQL.


5. Seleccione el icono de abrir y, a continuación, el controlador JDBC para MySQL que descargó en
el paso anterior. Elija OK.

Version 1/1/2016
38
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo
A continuación, instale la herramienta de migración de esquemas de AWS y los controladores JDBC
necesarios.

Para instalar la herramienta de migración de esquemas de AWS y los controladores JDBC

1. Descargue la herramienta de conversión de esquemas de AWS desde Instalación y actualización


de la herramienta de conversión de esquemas de AWS en la Guía del usuario de la herramienta de
conversión de esquemas de AWS. De forma predeterminada, la herramienta se instala en el directorio
C:\Program Files\AWS Schema Conversion Tool\AWS.
2. Inicie la herramienta de conversión de esquemas de AWS.
3. En la herramienta de conversión de esquemas de AWS, seleccione Global Settings en Settings.
4. En Global Settings, seleccione Driver y, luego, Browse para Oracle Driver Path. Busque el controlador
JDBC para Oracle y seleccione OK. A continuación, seleccione Browse para MySql Driver Path.
Localice el controlador JDBC para MySQL y seleccione OK. Seleccione OK para cerrar el cuadro de
diálogo.

Paso 3: Comprobar la conectividad de la instancia


de base de datos de Oracle y crear el esquema de
ejemplo
Después de crear la pila de CloudFormation, pruebe la conexión a la instancia de base de datos de Oracle
mediante SQL Workbench/J y, a continuación, cree el esquema de ejemplo.

Para probar la conexión a la instancia de base de datos de Oracle con SQL Workbench/J y crear
el esquema de ejemplo

1. En SQL Workbench/J, seleccione File y, después, Connect window. Cree un nuevo perfil de conexión
con la siguiente información, tal y como se muestra a continuación

Version 1/1/2016
39
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo

Para este parámetro Haga lo siguiente

New profile name Escriba RDSOracleConnection.

Driver Elija Oracle (oracle.jdbc.OracleDriver).

URL Utilice el valor OracleJDBCConnectionString que registró


al examinar la información sobre los resultados de la pila
de DMSdemo en un paso anterior.

Username Escriba oraadmin.

Password Proporcione la contraseña para el usuario administrador


que ha asignado al crear la instancia de base de datos de
Oracle con la plantilla de AWS CloudFormation.

2. Para probar la conexión, seleccione Test. Seleccione OK para cerrar el cuadro de diálogo y luego OK
para crear el perfil de conexión.

Note

Si la conexión no se realiza correctamente, asegúrese de que la dirección IP que asignó al


crear la plantilla de CloudFormation es aquella desde la que intenta establecer la conexión.
Este problema es el más habitual cuando intenta conectarse a una instancia.
3. Cree el esquema de HR que utilizará para la migración mediante un script personalizado. El script
SQL de AWS se encuentra en este sitio.

1. Abra el script SQL proporcionado en un editor de texto. Copie todo el script.


2. En SQL Workbench/J, pegue el script de SQL en la ventana Default.wksp donde aparece
Statement 1.

Version 1/1/2016
40
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo
3. Seleccione SQL y, después, Execute All.

Cuando ejecute el script, recibirá un mensaje de error en el que se indica que el usuario HR no
existe. Puede ignorar este error y ejecutar el script. El script borra el usuario antes de crearlo, lo
que genera el error.

4. Compruebe que los tipos de objeto y el recuento del esquema de HR se crearon correctamente. Para
ello, ejecute la siguiente consulta SQL. También puede comparar los resultados de las siguientes
consultas con los resultados que se enumeran en la hoja de cálculo que proporciona AWS en este
sitio.

Select OBJECT_TYPE, COUNT(*) from dba_OBJECTS where owner='HR'


GROUP BY OBJECT_TYPE;

Los resultados de esta consulta deben ser similares a los siguientes:

OBJECT_TYPE COUNT(*)
INDEX 7
PROCEDURE 2
SEQUENCE 3
TABLE 7

Version 1/1/2016
41
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo
VIEW 1

5. Compruebe el número de restricciones en el esquema de HR mediante la ejecución de la siguiente


consulta SQL:

Select CONSTRAINT_TYPE,COUNT(*) from dba_constraints where owner='HR'


AND (CONSTRAINT_TYPE IN ('P','R')OR SEARCH_CONDITION_VC NOT LIKE '%NOT NULL%')
GROUP BY CONSTRAINT_TYPE;

Los resultados de esta consulta deben ser similares a los siguientes:

CONSTRAINT_TYPE COUNT(*)
R 10
P 7
C 2

6. Compruebe el número total de tablas y el número de filas de cada tabla. Para ello, ejecute la siguiente
consulta SQL:

Select table_name, num_rows from dba_tables where owner='HR' order by 1;

Los resultados de esta consulta deben ser similares a los siguientes:

TABLE_NAME NUM_ROWS
COUNTRIES 25
DEPARTMENTS 27
EMPLOYEES 107
JOBS 19
JOB_HISTORY 10
LOCATIONS 23
REGIONS 4

Version 1/1/2016
42
AWS Database Migration Service
Guía de la migración paso a paso
Paso 4: Probar la conectividad con la
instancia de base de datos de Aurora

7. Compruebe la relación en las tablas. Vea los departamentos con más de 10 empleados mediante la
ejecución de la siguiente consulta SQL:

Select b.department_name,count(*) from HR.Employees a,HR.departments b where


a.department_id=b.department_id
group by b.department_name having count(*) > 10
order by 1;

Los resultados de esta consulta deben ser similares a los siguientes:

DEPARTMENT_NAME COUNT(*)
Sales 34
Shipping 45

Paso 4: Probar la conectividad con la instancia de


base de datos de Aurora
A continuación, pruebe la conexión a su instancia de base de datos de Aurora.

Para probar la conexión a su instancia de base de datos de Aurora mediante SQL Workbench/J

1. En SQL Workbench/J, seleccione File y, después, Connect window. Elija el icono de creación de un
nuevo perfil de conexión y utilice la siguiente información: Conéctese a la instancia de base de datos
de Aurora en SQL Workbench/J con la información que se muestra a continuación

Para este parámetro Haga lo siguiente

New profile name Indique RDSAuroraConnection.

Driver Elija MySQL (com.mysql.jdbc.Driver).

URL Utilice el valor AuroraJDBCConnectionString que registró


al examinar la información sobre los resultados de la pila
de DMSdemo en un paso anterior.

Username Indique auradmin.

Password Proporcione la contraseña para el usuario administrador


que ha asignado al crear la instancia de base de datos de
Aurora con la plantilla de AWS CloudFormation.

2. Para probar la conexión, seleccione Test. Seleccione OK para cerrar el cuadro de diálogo y luego OK
para crear el perfil de conexión.

Version 1/1/2016
43
AWS Database Migration Service
Guía de la migración paso a paso
Paso 4: Probar la conectividad con la
instancia de base de datos de Aurora

Note

Si la conexión no se realiza correctamente, asegúrese de que la dirección IP que asignó al


crear la plantilla de CloudFormation es aquella desde la que intenta establecer la conexión.
Este problema es el más habitual cuando intenta conectarse a una instancia.
3. Inicie sesión en la instancia de Aurora con las credenciales de administrador principal.
4. Compruebe la conectividad con la instancia de base de datos de Aurora. Para ello, ejecute un
comando SQL de ejemplo, como SHOW DATABASES;.

Version 1/1/2016
44
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para

Paso 5: Utilizar la herramienta de conversión de


convertir los esquemas de Oracle a Aurora

esquemas de AWS (AWS SCT) para convertir los


esquemas de Oracle a Aurora
Antes de migrar datos a Aurora, convierta el esquema de Oracle a un esquema de Aurora, tal como se
describe a continuación.

Para convertir un esquema de Oracle a un esquema de Aurora mediante la herramienta de


conversión de esquemas de AWS (AWS SCT)

1. Inicie la herramienta de conversión de esquemas de AWS (AWS SCT). En AWS SCT, seleccione
File y, a continuación, New Project. Cree un nuevo proyecto llamado DMSDemoProject. Indique la
siguiente información en la ventana de nuevo proyecto y, a continuación, seleccione OK.

Para este parámetro Haga lo siguiente

Project Name Indique DMSDemoProject.

Location Utilice la carpeta Projects y la opción Transactional


Database (OLTP) predeterminadas.

Source Database Engine Haga clic en Oracle.

Target Database Engine Haga clic en Amazon Aurora.

2. Elija Connect to Oracle. En el cuadro de diálogo Connect to Oracle, indique la siguiente información y
seleccione Test Connection.

Version 1/1/2016
45
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
convertir los esquemas de Oracle a Aurora
Para este parámetro Haga lo siguiente

Type Elija SID.

Server name Utilice el valor OracleJDBCConnectionString que


usó para conectarse a la instancia de base de
datos de Oracle, pero elimine la información del
prefijo JDBC. Un ejemplo de cadena de conexión
que se utilice con SQL Workbench/J puede ser
"jdbc:oracle:thin:@do1xa4grferti8y.cqiw4tcs0mg7.us-
west-2.rds.amazonaws.com:1521:ORCL". Para
el Server name de AWS SCT, debe eliminar
"jdbc:oracle:thin:@" y utilizar solo el nombre de
servidor: "do1xa4grferti8y.cqiw4tcs0mg7.us-
west-2.rds.amazonaws.com".

Server port Escriba 1521.

Oracle SID Escriba ORCL.

User name Escriba oraadmin.

Password Proporcione la contraseña para el usuario administrador


que ha asignado al crear la instancia de base de datos de
Oracle con la plantilla de AWS CloudFormation.

3. Seleccione OK para cerrar la alerta y, a continuación, seleccione OK para cerrar el cuadro de diálogo
e iniciar la conexión a la instancia de base de datos de Oracle. A continuación se muestra la estructura
de base de datos en la instancia de base de datos de Oracle. Seleccione solo el esquema de HR.

Version 1/1/2016
46
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
convertir los esquemas de Oracle a Aurora

4. Elija Connect to Amazon Aurora. En el cuadro de diálogo Connect to Amazon Aurora, indique la
siguiente información y seleccione Test Connection.

Para este parámetro Haga lo siguiente

Type Elija SID.

Server name Utilice el valor AuroraJDBCConnectionString que ha


utilizado para conectarse a la instancia de base de
datos de Aurora, pero quite la información del prefijo
JDBC y el sufijo del puerto. Un ejemplo de cadena de
conexión que se utilice con SQL Workbench/J puede ser
"jdbc:mysql://dmsdemo-auroracluster-1u1ogdfg35v.cluster-
cqiw4tcs0mg7.us-west-2.rds.amazonaws.com:3306". Para
el Server name de AWS SCT, elimine "jdbc:oracle:thin:@"
y ":3306", y utilice únicamente el nombre de servidor:
"dmsdemo-auroracluster-1u1ogdfg35v.cluster-
cqiw4tcs0mg7.us-west-2.rds.amazonaws.com".

Server port Escriba 3306.

User name Indique auradmin.

Password Proporcione la contraseña para el usuario administrador


que ha asignado al crear la instancia de base de datos de
Oracle con la plantilla de AWS CloudFormation.

Version 1/1/2016
47
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
convertir los esquemas de Oracle a Aurora

AWS SCT analiza el esquema de HR y crea un informe de evaluación de migración de base de datos
para la conversión a Amazon Aurora.
5. Seleccione OK para cerrar la alerta y, a continuación, seleccione OK para cerrar el cuadro de diálogo
e iniciar la conexión a la instancia de base de datos de Amazon Aurora.
6. Haga clic con el botón derecho en el esquema de HR y seleccione Create Report.

Version 1/1/2016
48
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
7. Compruebe el informeconvertir
y los elementos de acción
los esquemas que sugiere.
de Oracle El informe describe el tipo de objetos
a Aurora
que se pueden convertir mediante AWS SCT, junto con los posibles problemas de migración y las
medidas para resolver estos problemas. Para esta guía, debería aparecer algo similar a lo siguiente.

8. Guarde el informe en formato .pdf o .csv para realizar un análisis detallado y, a continuación,
seleccione la pestaña Action Items. En los elementos de acción, verá dos cuestiones: 1. MySQL no es
compatible con las restricciones de comprobación y 2. MySQL no admite secuencias.

En cuanto al elemento de acción número 1, SCT proporciona automáticamente disparadores para


simular limitaciones de comprobación en la base de datos de Aurora (disparadores emuladores). Por
ejemplo, una limitación de comprobación para SAL > 0 en la tabla EMPLOYEES (en Oracle) se aplica
con la ayuda de instrucciones disparadoras tipo "before" y "update" en Aurora. Si desea que esta
lógica se gestione en la capa de la aplicación, podrá rechazar o actualizar los disparadores cuando
sea necesario.

En cuanto al elemento de acción número 2, existen tres objetos de secuencia en la base de datos de
origen que se utilizan para generar claves primarias para las tablas EMPLOYEES (EMPLOYEE_ID),
DEPARTMENTS (DEPARTMENT_ID) y LOCATIONS (LOCATION_ID). Tal como se ha descrito
anteriormente en esta guía, una alternativa al uso de secuencias para claves sustitutas en Aurora
es usar la característica auto_increment. Para activar la característica auto_increment, debe cambiar
la configuración de SCT. Para no extendernos demasiado, los siguientes subpasos muestran cómo
activar auto_increment únicamente para la columna EMPLOYEE_ID en la tabla EMPLOYEES. El
mismo procedimiento se puede repetir para el resto de objetos de secuencia.

Antes de empezar, tenga en cuenta que activar la opción auto_increment requiere algunos pasos
adicionales a través de SCT por los siguientes motivos:

Version 1/1/2016
49
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
• De forma predeterminada, SCT
convertir los convierte
esquemastodos los tipos
de Oracle de datos NUMBER (Oracle) a DECIMAL en
a Aurora
Aurora (http://docs.aws.amazon.com/dms/latest/userguide/ SchemaConversionTool/latest/userguide/
CHAP_SchemaConversionTool.Reference.ConversionSupport.Oracle.html#d0e50104).
• Aurora no admite auto_increment para el tipo de datos DECIMAL. Por lo tanto, el tipo de datos de la
columna de la clave primaria y de las columnas de clave externa correspondientes deben cambiarse
por uno de los tipos de datos INTEGER como INT, SMALLINT, MEDIUMINT o BIGINT como parte
del esquema de conversión.

La buena noticia es que la última versión de SCT proporciona una característica Mapping Rules que
se puede utilizar para lograr la transformación citada si se llevan a cabo los siguientes pasos:

1. Para la tabla EMPLOYEES, debe identificar la clave primaria y las relaciones de claves externas
al ejecutar la siguiente consulta en la base de datos de origen de Oracle. Tenga en cuenta que las
columnas deben especificarse en las reglas de mapeo de SCT.

SELECT * FROM
(SELECT
PK.TABLE_NAME,
C.COLUMN_NAME,
PK.CONSTRAINT_TYPE
FROM DBA_CONSTRAINTS PK,
DBA_CONS_COLUMNS C
WHERE PK.CONSTRAINT_NAME = C.CONSTRAINT_NAME
AND PK.OWNER = 'HR' AND PK.TABLE_NAME = 'EMPLOYEES' AND PK.CONSTRAINT_TYPE =
'P'
UNION
SELECT
FK.TABLE_NAME,
COL.COLUMN_NAME,
FK.CONSTRAINT_TYPE
FROM DBA_CONSTRAINTS PK,
DBA_CONSTRAINTS FK,
DBA_CONS_COLUMNS COL
WHERE PK.CONSTRAINT_NAME = FK.R_CONSTRAINT_NAME
AND FK.CONSTRAINT_TYPE = 'R'
AND FK.CONSTRAINT_NAME = COL.CONSTRAINT_NAME
AND PK.OWNER = 'HR' AND PK.TABLE_NAME = 'EMPLOYEES' AND PK.CONSTRAINT_TYPE =
'P' )
ORDER BY 3 ASC;

Los resultados de la consulta deben ser similares a los siguientes:

TABLE_NAME COLUMN_NAME CONSTRAINT_TYPE


EMPLOYEES EMPLOYEE_ID P
JOB_HISTORY EMPLOYEE_ID R
EMPLOYEES MANAGER_ID R
DEPARTMENTS MANAGER_ID R

2. Elija Settings y luego Mapping Rules.


3. Especifique la regla de mapeo para las conversiones de tipos de datos para la lista de columnas
identificadas en el Paso 1. Tendrá que especificar 4 reglas, una para cada columna, tal y como se
describe a continuación.

Para este parámetro Regla 1 Regla 2 Regla 3 Regla 4

Nombre EMP_SEQ1 EMP_SEQ2 JOB_SEQ1 DEPT_SEQ1

Version 1/1/2016
50
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
convertir los esquemas
Para este parámetro Regla 1de OracleRegla
a Aurora
2 Regla 3 Regla 4

Para Seleccione Seleccione Seleccione Seleccione


Column Column Column Column

Donde HR HR HR HR

(nombre de esquema) y EMPLOYEES EMPLOYEES JOB_HISTORY DEPARTMENTS


(nombre de tabla) y (nombre
de columna) EMPLOYEE_ID MANAGER_ID EMPLOYEE_ID MANAGER_ID

Acciones Seleccione Seleccione Seleccione Seleccione


Change data Change data Change data Change data
type type type type

Para SMALLINT SMALLINT SMALLINT SMALLINT

Tenga en cuenta que en una situación real elegiría el tipo de datos en función de sus requisitos.

4. Elija Yes para responder a “Would you like to save Mapping Rule settings?”
9. Haga clic con el botón derecho en el esquema de HR y, a continuación, seleccione Convert schema.

Version 1/1/2016
51
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
convertir los esquemas de Oracle a Aurora

10. Haga clic en Yes para el mensaje de confirmación. AWS SCT convierte el esquema al formato de la
base de datos de destino.

11. Elija el esquema de HR y, a continuación, seleccione Apply to database para aplicar los scripts de
esquema a la instancia de destino de Aurora, tal como se muestra a continuación.

Version 1/1/2016
52
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar la herramienta de conversión
de esquemas de AWS (AWS SCT) para
convertir los esquemas de Oracle a Aurora

12. Elija el esquema de HR y, a continuación, Refresh from Database para actualizar desde la base de
datos de destino, tal y como se muestra a continuación.

Version 1/1/2016
53
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Validar la conversión de esquemas

El esquema de base de datos ya se ha convertido e importado desde el origen al destino.

Paso 6: Validar la conversión de esquemas


Para validar la conversión de esquemas, compare los objetos que se encuentran en las bases de datos de
Oracle y Aurora mediante SQL Workbench/J.

Para validar la conversión de esquemas con SQL Workbench/J

1. En SQL Workbench/J, seleccione File y, después, Connect window. Seleccione la


RDSAuroraConnection que creó en el paso anterior. Haga clic en OK.
2. Ejecute el siguiente script para verificar el número de tipos de objeto y añadir al recuento el esquema
de HR en la base de datos de destino de Aurora. Estos valores deben coincidir con el número de
objetos en la base de datos de origen de Oracle:

SELECT a.OBJECT_TYPE, COUNT(*)


FROM
(
SELECT OBJECT_TYPE
,OBJECT_SCHEMA
,OBJECT_NAME
FROM (
SELECT 'TABLE' AS OBJECT_TYPE
,TABLE_NAME AS OBJECT_NAME

Version 1/1/2016
54
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Validar la conversión de esquemas

,TABLE_SCHEMA AS OBJECT_SCHEMA
FROM information_schema.TABLES
where TABLE_TYPE='BASE TABLE'
UNION
SELECT 'VIEW' AS OBJECT_TYPE
,TABLE_NAME AS OBJECT_NAME
,TABLE_SCHEMA AS OBJECT_SCHEMA
FROM information_schema.VIEWS
UNION

SELECT 'INDEX' AS OBJECT_TYPE


,CONCAT (
CONSTRAINT_TYPE
,' : '
,CONSTRAINT_NAME
,' : '
,TABLE_NAME
) AS OBJECT_NAME
,TABLE_SCHEMA AS OBJECT_SCHEMA
FROM information_schema.TABLE_CONSTRAINTS
where constraint_type='PRIMARY KEY'
UNION
SELECT ROUTINE_TYPE AS OBJECT_TYPE
,ROUTINE_NAME AS OBJECT_NAME
,ROUTINE_SCHEMA AS OBJECT_SCHEMA
FROM information_schema.ROUTINES
UNION
SELECT 'TRIGGER' AS OBJECT_TYPE
,CONCAT (
TRIGGER_NAME
,' : '
,EVENT_OBJECT_SCHEMA
,' : '
,EVENT_OBJECT_TABLE
) AS OBJECT_NAME
,TRIGGER_SCHEMA AS OBJECT_SCHEMA
FROM information_schema.triggers
) R
WHERE R.OBJECT_SCHEMA ='HR'
order by 1) a
GROUP BY a.OBJECT_TYPE;

El resultado de esta consulta debe ser similar al siguiente:

OBJECT_TYPE COUNT(*)
INDEX 7
PROCEDURE 2
TABLE 7
TRIGGER 4
VIEW 1

A continuación, ejecute la siguiente consulta para obtener información sobre las restricciones de
tablas:

SELECT CONSTRAINT_TYPE,COUNT(*)
FROM information_schema.TABLE_CONSTRAINTS where constraint_schema='HR'
GROUP BY CONSTRAINT_TYPE;

Version 1/1/2016
55
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Validar la conversión de esquemas

El resultado de esta consulta debe ser similar al siguiente:

CONSTRAINT_TYPE COUNT(*)
FOREIGN KEY 10
PRIMARY KEY 7

3. Realice los siguientes pasos para activar la opción auto_increment en la tabla EMPLOYEES para
emular la funcionalidad de la secuencia de la base de datos de origen de Oracle.

1. Compruebe que la reglas de mapeo para la conversión de tipo de datos se ejecutaron


correctamente para EMPLOYEES y para las tablas dependientes mediante la ejecución de la
siguiente consulta en la base de datos de destino de Aurora.

SELECT
kcu.constraint_name,
kcu.column_name,
col.data_type,
kcu.table_schema,
kcu.table_name,
kcu.referenced_column_name
FROM
information_schema.key_column_usage kcu,
information_schema.table_constraints tc,
information_schema.columns col
WHERE kcu.referenced_table_schema = 'HR'
AND kcu.referenced_table_name = 'EMPLOYEES'
AND kcu.referenced_table_name=tc.table_name
AND kcu.referenced_table_schema=tc.table_schema
AND tc.constraint_type='PRIMARY KEY'
AND col.column_name=kcu.column_name
and col.table_name=kcu.table_name
ORDER BY kcu.table_name,kcu.column_name;

Los resultados de la consulta debe ser similares a los siguientes:

constraint_name column_name data_type table_schema table_name


referenced_column_name
DEPT_MGR_FK MANAGER_ID Smallint HR DEPARTMENTS EMPLOYEE_ID
EMP_MANAGER_FK MANAGER_ID Smallint HR EMPLOYEES EMPLOYEE_ID
JHIST_EMP_FK EMPLOYEE_ID Smallint HR JOB_HISTORY EMPLOYEE_ID

2. Desactive las comprobaciones de claves externas para la tabla EMPLOYEES mediante la


ejecución del siguiente comando. Este paso es necesario para poder modificar la columna de
clave primaria. Puede ignorar los mensajes de advertencia.

SET FOREIGN_KEY_CHECKS=0;

3. Modifique la columna de clave primaria para activar la opción auto_increment mediante la


ejecución del siguiente comando:

Alter table HR.EMPLOYEES modify column employee_id smallint auto_increment;

4. Compruebe la información detallada de la columna mediante la ejecución de la siguiente consulta:

SELECT column_name, column_type,column_key,extra


from information_schema.columns

Version 1/1/2016
56
AWS Database Migration Service
Guía de la migración paso a paso
Paso 7: Crear una instancia de replicación de AWS DMS

where table_name = 'EMPLOYEES' AND COLUMN_NAME='EMPLOYEE_ID';

Los resultados de la consulta debe ser similares a los siguientes:

column_name column_type column_key extra


employee_id smallint(6) PRI auto_increment

4. La siguiente tabla muestra el número de objetos esperado y si las migró AWS SCT.

Parámetro Número en Número en Migrado por Recomendación SCT


Oracle Amazon AWS SCT
Aurora

INDEX 7 7 Sí  

PROCEDURE 2 2 Sí  

SEQUENCE 3 3 Sí, La funcionalidad de la


mediante secuencia se implementa
las reglas mediante la característica
de mapeo auto_increment de Aurora.

TABLE 7 7 Sí  

VIEW 1 1 Sí  

Clave primaria 10 10 Sí  

Clave externa 7 7 Sí  

Restricciones de 2 4 Conversión Aurora no admite


comprobación (disparadores) de códigos las restricciones de
comprobación. AWS
SCT crea disparadores
antes de las instrucciones
insert o update para
imitar las restricciones
de comprobación en las
tablas que tenían dichas
restricciones.

5. Valide los resultados mencionados en la hoja de cálculo que proporciona AWS en este sitio o el
documento de texto que proporciona AWS en este sitio.

Paso 7: Crear una instancia de replicación de AWS


DMS
Después de validar la estructura de los esquemas entre las bases de datos de origen y de destino, tal
como se ha descrito antes, puede pasar a la parte fundamental de esta guía, que es la migración de datos.
La siguiente ilustración muestra una vista detallada del proceso de migración.

Version 1/1/2016
57
AWS Database Migration Service
Guía de la migración paso a paso
Paso 8: Crear los puntos de enlace
de origen y destino de AWS DMS

Las instancias de replicación de DMS realizan la migración de datos real entre el origen y el destino. La
instancia de replicación también almacena en caché los registros de transacción durante la migración. La
capacidad de la CPU y de la memoria de una instancia de replicación influirá en el tiempo necesario para
llevar a cabo la migración.

Para crear una instancia de replicación de AWS DMS

1. Inicie sesión en la consola de administración de AWS y seleccione AWS DMS en https://


console.aws.amazon.com/ dms/ y seleccione Create Migration. Si se ha registrado como usuario de
AWS Identity and Access Management (IAM), debe disponer de los permisos adecuados para acceder
a AWS DMS. Para obtener más información sobre los permisos necesarios, consulte la sección sobre
permisos de IAM necesarios para utilizar AWS DMS.
2. Seleccione Next para iniciar la migración de una base de datos desde la página de bienvenida de la
consola.
3. En la página Create replication instance, especifique la información de la instancia de replicación de la
siguiente manera.

Para este parámetro Haga lo siguiente

Name Escriba DMSdemo-repserver.

Description Incluya una descripción breve, como Servidor de


replicación para demostraciones de DMS.

Instance class Elija dms.t2.medium. Esta clase de instancia es lo


suficientemente grande como para migrar un conjunto
pequeño de tablas.

VPC Seleccione DMSDemoVPC, que es la VPC que creó la pila


de CloudFormation.

Multi-AZ Haga clic en No.

Publicly accessible Deje este elemento seleccionado.

4. Para la sección Advanced, no toque los valores predeterminados y seleccione Next.

Paso 8: Crear los puntos de enlace de origen y destino


de AWS DMS
Mientras se está creando la instancia de replicación, puede especificar los puntos de enlace de la base
de datos de origen y destino con la consola de administración de AWS. Sin embargo, solo podrá probar la
conectividad después de que se haya creado la instancia de replicación, porque esta instancia se utiliza en
la conexión.

Version 1/1/2016
58
AWS Database Migration Service
Guía de la migración paso a paso
Paso 8: Crear los puntos de enlace
de origen y destino de AWS DMS
Para especificar los puntos de enlace de la base de datos de origen o de destino a con la consola
de AWS

1. Especifique su información de conexión de la base de datos de origen de Oracle y la base de datos de


destino de Amazon Aurora. La siguiente tabla describe la configuración del origen.

Para este parámetro Haga lo siguiente

Endpoint Identifier Escriba Orasource (el punto de enlace de Amazon RDS


para Oracle).

Source Engine Elija oracle.

Server name Facilite el nombre de instancia de la base de datos


de Oracle. Este es el Server name que utilizó para
AWS SCT, como "do1xa4grferti8y.cqiw4tcs0mg7.us-
west-2.rds.amazonaws.com".

Port Escriba 1521.

SSL mode Elija None.

Username Escriba oraadmin.

Password Proporcione la contraseña para la instancia de base de


datos de Oracle.

SID Proporcione el nombre de la base de datos de Oracle.

La tabla siguiente describe la configuración del destino.

Para este parámetro Haga lo siguiente

Endpoint Identifier Escriba Aurtarget (el punto de enlace de Amazon


Aurora).

Target Engine Elija aurora.

Servername Proporcione el nombre de la instancia de base de datos de


Aurora. Este es el Server name que utilizó para AWS SCT,
como "dmsdemo-auroracluster-1u1oyqny35jwv.cluster-
cqiw4tcs0mg7.us-west-2.rds.amazonaws.com"
.

Port Escriba 3306.

SSL mode Elija None.

Username Escriba auraadmin.

Password Proporcione la contraseña para la instancia de base de


datos de Aurora.

La página completada debe ser similar a la siguiente:

Version 1/1/2016
59
AWS Database Migration Service
Guía de la migración paso a paso
Paso 8: Crear los puntos de enlace
de origen y destino de AWS DMS

2. Para desactivar las comprobaciones de claves externas durante la carga inicial de datos, debe
agregar los siguientes comandos en la instancia de base de datos de destino de Aurora. En la
siguiente sección Advanced que se muestra a continuación, escriba los siguientes comandos para
Extra connection attributes: initstmt=SET FOREIGN_KEY_CHECKS=0, autocommit=1

El primer comando desactiva las comprobaciones de claves externas durante una carga y el segundo
comando confirma las transacciones que ejecuta DMS.

Version 1/1/2016
60
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

3. Elija Next.

Paso 9: Crear y ejecutar la tarea de migración de AWS


DMS
Con una tarea de AWS DMS, puede especificar qué esquema se va a migrar y el tipo de migración. Puede
migrar los datos existentes, migrar los datos existentes y replicar los cambios en curso o bien solo replicar
los cambios. En esta guía solo se migran los datos existentes.

Para crear una tarea de migración

1. En la página Create Task, especifique las opciones de la tarea. La tabla siguiente describe la
configuración.

Para este parámetro Haga lo siguiente

Task name Escriba migratehrschema.

Task description Escriba una descripción para la tarea.

Source endpoint Muestra orasource (el punto de enlace de Amazon RDS


Oracle).

Version 1/1/2016
61
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

Para este parámetro Haga lo siguiente

Target endpoint Muestra aurtarget (el punto de enlace de Amazon


Aurora).

Replication instance Muestra DMSdemo-repserver (la instancia de replicación


de AWS DMS que se creó en uno de los pasos anteriores).

Migration type Seleccione la opción Migrate existing data.

Start task on create Seleccione esta opción.

La página debe ser similar a la siguiente:

2. Bajo Task Settings, seleccione Do nothing para Target table preparation mode, porque ya ha creado
las tablas mediante la herramienta de migración de esquemas. Dado que esta migración no contiene
ningún LOB, puede dejar la configuración predeterminada de los LOB.

De forma opcional, puede seleccionar Enable logging. Si activa el registro, se le cobrarán cargos
adicionales de Amazon CloudWatch por la creación de los registros de CloudWatch. En esta guía, los
registros no son necesarios.

Version 1/1/2016
62
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

3. No cambie los valores predeterminados de la configuración avanzada.


4. Elija Table mappings, después Default para Mapping method y, a continuación, HR para Schema to
migrate.

La sección completa debe ser similar a la siguiente:

5. Elija Create task. La tarea comenzará inmediatamente.

Version 1/1/2016
63
AWS Database Migration Service
Guía de la migración paso a paso
Paso 10: Comprobar que la migración
de datos se realizó correctamente
La sección Tasks le muestra el estado de la tarea de migración.

Puede supervisar su tarea si elige Enable logging al configurar la tarea. A continuación, puede ver las
métricas de CloudWatch haciendo lo siguiente:

Para supervisar una tarea de migración de datos en curso

1. En el panel de navegación, seleccione Tasks.


2. Seleccione la tarea de migración (migratehrschema).
3. Seleccione la pestaña Task monitoring y supervise la tarea en curso en esa pestaña.

Paso 10: Comprobar que la migración de datos se


realizó correctamente
Cuando la migración se complete, puede comparar los resultados de la tarea con los resultados
esperados.

Para comparar los resultados de la tarea de migración con los resultados esperados

1. En el panel de navegación, seleccione Tasks.


2. Seleccione la tarea de migración (migratehrschema).
3. Seleccione la pestaña Table statistics, que aparece a continuación.

Version 1/1/2016
64
AWS Database Migration Service
Guía de la migración paso a paso
Paso 10: Comprobar que la migración
de datos se realizó correctamente

4. Conéctese a la instancia de Amazon Aurora mediante SQL Workbench/J y, a continuación, compruebe


si las tablas de la base de datos se han migrado correctamente desde Oracle a Aurora al ejecutar el
script SQL que se muestra a continuación.

Show databases;
Use HR;
SELECT TABLE_NAME,TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'HR' and TABLE_TYPE='BASE TABLE' order by 1;

Version 1/1/2016
65
AWS Database Migration Service
Guía de la migración paso a paso
Paso 11: Eliminar los recursos de la guía

5. Para verificar si el resultado de las tablas y el número de filas de la consulta anterior coincide con lo
que se espera de RDS Oracle, compare sus resultados con los de la hoja de cálculo proporcionada
por AWS en este sitio.
6. Ejecute la siguiente consulta para comprobar la relación en las tablas; esta consulta comprueba los
departamentos con empleados con un valor superior a 10.

SELECT B.DEPARTMENT_NAME,COUNT(*)
FROM HR.EMPLOYEES A,HR.DEPARTMENTS B
WHERE A.DEPARTMENT_ID=B.DEPARTMENT_ID
GROUP BY B.DEPARTMENT_NAME HAVING COUNT(*) > 10
ORDER BY 1;

El resultado de esta consulta debe ser similar al siguiente.

department_name count(*)
Sales 34
Shipping 45

Ahora ha completado correctamente una migración de base de datos desde una instancia de base de
datos de Amazon RDS Oracle a Amazon Aurora.

Paso 11: Eliminar los recursos de la guía


Una vez que haya completado esta guía, lleve a cabo los pasos siguientes para evitar que se le apliquen
otros cargos por los recursos de AWS que utilice en la guía. Es necesario realizar los pasos por orden,
porque algunos recursos no se pueden eliminar si dependen de otros recursos.

Para eliminar los recursos de AWS DMS

1. En el panel de navegación, haga clic en Tasks, seleccione la tarea de migración (migratehrschema)


y, a continuación, Delete.

Version 1/1/2016
66
AWS Database Migration Service
Guía de la migración paso a paso
Pasos siguientes

2. En el panel de navegación, haga clic en Endpoints, seleccione el punto de enlace de Oracle


(orasource) y, a continuación, Delete.
3. Elija el punto de enlace de destino de Amazon Aurora (aurtarget) y, a continuación, Delete.
4. En el panel de navegación, haga clic en Replication instances, seleccione la instancia de replicación
(DMSdemo-repserver) y, a continuación, Delete.

A continuación, es preciso que elimine la pila de AWS CloudFormation, DMSdemo.

Para eliminar la pila de AWS CloudFormation

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS CloudFormation en


https://console.aws.amazon.com/cloudformation.

Tenga en cuenta que si está registrado como usuario de AWS Identity and Access Management (IAM),
debe disponer de los permisos adecuados para acceder a AWS CloudFormation.
2. Elija su pila de CloudFormation, DMSdemo.
3. En Actions, elija Delete stack.

El estado de la pila cambia a DELETE_IN_PROGRESS mientras AWS CloudFormation limpia los recursos
asociados a la pila de DMSdemo. Cuando AWS CloudFormation termina de limpiar recursos, quita la pila de
la lista.

Pasos siguientes
Puede explorar otras características de AWS DMS que no se incluyeron en esta guía, como, por ejemplo,
las siguientes:

• La captura de datos de cambios (CDC) de AWS DMS, para la replicación de datos continuada.
• Las acciones de transformación que le permiten especificar y aplicar transformaciones a la tabla o
esquema seleccionados como parte del proceso de migración.

Para obtener más información, consulte la documentación de AWS DMS.

Plantilla de AWS CloudFormation, scripts SQL y


otros recursos
Puede encontrar la plantilla de AWS CloudFormation, los scripts SQL y los otros recursos que se utilizan
en este guía en el sitio de AWS tal como se enumeran a continuación:

• Script SQL del esquema de Oracle


• Plantilla de AWS CloudFormation
• Script de validación SQL en formato de hoja de cálculo
• Script de validación SQL en formato de texto
• Diagrama de la arquitectura en formato .jpg o Diagrama de la arquitectura en formato .vsd
• Controlador JDBC de MySQL en formato .jar
• Controlador JDBC de la base de datos de Oracle 12.1.0.2 en formato de archivo .jar

Version 1/1/2016
67
AWS Database Migration Service
Guía de la migración paso a paso
Referencias

Referencias
La documentación y esquemas de ejemplo siguientes son referencias útiles para esta guía:

• Documentación de AWS DMS


• Documentación de AWS SCT
• Esquemas de ejemplo de Oracle

Version 1/1/2016
68
AWS Database Migration Service
Guía de la migración paso a paso

Migrar una base de datos Amazon


RDS for Oracle Database a Amazon
Redshift con AWS Database
Migration Service

Esta guía le servirá de introducción para la migración de bases de datos heterogéneas de Amazon
RDS for Oracle a Amazon Redshift con AWS Database Migration Service (AWS DMS) y la herramienta
de conversión de esquemas de AWS (AWS SCT). Este ejercicio de introducción no cubre todas las
situaciones, pero ofrece una buena descripción de los pasos que se deben seguir en la migración.

Es importante saber que AWS DMS y AWS SCT son dos herramientas diferentes y atienden a diferentes
necesidades. No interactúan entre sí en el proceso de migración. A grandes rasgos, los pasos de esta
migración son los siguientes:

1. Usar AWS SCT para lo siguiente:


• Ejecutar el informe de conversión de Oracle a Amazon Redshift para identificar los problemas, las
limitaciones y las acciones necesarios en la conversión de esquemas.
• Generar los scripts de esquema y aplicarlos al destino antes de realizar la carga de datos
mediante AWS DMS. AWS SCT realiza las conversiones de código necesarias para objetos como
procedimientos y vistas.
2. Identificar e implementar soluciones para los problemas que notifica AWS SCT.
3. Desactivar claves externas u otras restricciones que podrían influir en la carga de datos de AWS DMS.
4. AWS DMS carga los datos desde el origen al destino mediante el método Full Load. Pese a que AWS
DMS es capaz de crear objetos en el destino durante la carga, se basa en un enfoque minimalista para
migrar los datos de forma eficiente por lo que no copia la totalidad de la estructura del esquema desde
el origen al destino.
5. Tras la migración, puede realizar actividades como crear índices adicionales, habilitar claves externas y
realizar los cambios necesarios en la aplicación para que apunte a la nueva base de datos.

Esta guía utiliza una plantilla de AWS CloudFormation personalizada para crear instancias de base de
datos de RDS para Oracle y Amazon Redshift. Después utiliza un script de comando de SQL para instalar
un esquema de ejemplo y datos en la instancia de base de datos de Oracle RDS que se va a migrar a
Amazon Redshift más adelante.

Version 1/1/2016
69
AWS Database Migration Service
Guía de la migración paso a paso
Requisitos previos

Para completar esta guía se necesitan dos horas aproximadamente. Asegúrese de seguir las instrucciones
para eliminar los recursos al final de esta guía con el fin de evitar cargos adicionales.

Temas
• Requisitos previos (p. 70)
• Arquitectura de migración (p. 70)
• Migración paso a paso (p. 72)
• Pasos siguientes (p. 106)
• Referencias (p. 106)

Requisitos previos
Los siguientes requisitos previos también son necesarios para completar esta guía:

• Conocer Amazon RDS, Amazon Redshift, las tecnologías de base de datos aplicables y SQL.
• Los scripts personalizados que incluyen la creación de las tablas que se van a migrar y las consultas
SQL para confirmar la migración se enumeran a continuación:
• Instrucciones de SQL para generar un esquema de SH
• Plantilla de AWS CloudFormation

Cada uno de los pasos de la guía también contiene un enlace para descargar el archivo relevante o
incluye la consulta exacta del paso.
• Una cuenta de AWS con las credenciales de AWS Identity and Access Management (IAM) con las que
podrá iniciar instancias de RDS, AWS Database Migration Service (AWS DMS) y clústeres de Amazon
Redshift en su región de AWS. Para obtener información sobre las credenciales de IAM, consulte la
información sobre cómo crear un usuario de IAM.
• Conocimientos básicos del servicio Amazon Virtual Private Cloud (Amazon VPC) y de los grupos de
seguridad. Para obtener información sobre cómo utilizar Amazon VPC con Amazon RDS, consulte la
sección sobre Virtual Private Cloud (VPC) y Amazon RDS. Para obtener información sobre los grupos
de seguridad de Amazon RDS, consulte la sección sobre grupos de seguridad de Amazon RDS. Para
obtener información sobre cómo utilizar Amazon Redshift en una VPC, consulte la sección sobre
administración de clústeres en Amazon Virtual Private Cloud (VPC).
• Conocimiento de las características compatibles y las limitaciones de AWS DMS. Para obtener
información, consulte la sección que explica qué es AWS Database Migration Service.
• Conocimientos sobre las opciones conversión del tipo de datos admitidas para Oracle y Amazon
Redshift. Para obtener información sobre los tipos de datos para Oracle como origen, consulte la sección
sobre cómo usar una base de datos de Oracle como origen para AWS Database Migration Service. Para
obtener información sobre los tipos de datos para Amazon Redshift como destino, consulte la sección
sobre cómo usar una base de datos de Amazon Redshift como destino para AWS Database Migration
Service .

Para obtener más información sobre AWS DMS, consulte la documentación de AWS DMS.

Arquitectura de migración
Esta guía utiliza AWS CloudFormation para crear una topología de red sencilla para la migración de bases
de datos que incluya la base de datos de origen, la instancia de replicación y la base de datos de destino
en la misma VPC. Para obtener más información sobre AWS CloudFormation, consulte la documentación
de CloudFormation.

Version 1/1/2016
70
AWS Database Migration Service
Guía de la migración paso a paso
Arquitectura de migración

Aprovisionamos los recursos de AWS que se necesitan para esta guía de AWS DMS través de AWS
CloudFormation. Estos recursos incluyen una VPC y una instancia de Amazon RDS para Oracle y un
clúster de Amazon Redshift. Realizamos el aprovisionamiento a través de CloudFormation porque
simplifica el proceso, por lo que podemos concentrarnos en tareas relacionadas con la migración de datos.
Cuando crea una pila a partir de una plantilla de CloudFormation, esta aprovisiona los siguientes recursos:

• Una VPC con CIDR (10.0.0.0/24) con dos subredes públicas en su región, DBSubnet1 en la dirección
10.0.0.0/26 en la zona de disponibilidad (AZ) 1 y DBSubnet2 en la dirección 10.0.0.64/26, en AZ 12.
• Un grupo de subred de base de datos que incluye DBSubnet1 y DBSubnet2.
• Oracle RDS Standard Edition Two con estas opciones de implementación:
• Licencia incluida
• Configuración de Single-AZ
• db.m3.medium o clase de instancia equivalente
• Puerto 1521
• Opción y grupos de parámetros predeterminados
• Clúster de Amazon Redshift con estas opciones de implementación:
• dc1.large
• Puerto 5439
• Grupo de parámetros predeterminado
• Un grupo de seguridad con acceso desde un equipo o 0.0.0.0/0 (acceso desde cualquier lugar) en
función del parámetro de entrada

Hemos diseñado la plantilla CloudFormation para que el usuario no tenga que intervenir demasiado.
Aprovisiona los recursos necesarios de AWS con las configuraciones mínimas recomendadas. Sin
embargo, si desea cambiar algunas de las configuraciones y parámetros, como el bloque de VPC CIDR y
los tipos de instancia de Amazon RDS, no dude en actualizar la plantilla.

Utilizamos la consola de administración de AWS para aprovisionar los recursos de AWS DMS, como la
instancia de replicación, los puntos de enlace y las tareas. Puede instalar herramientas de cliente, como
SQL Workbench/J y la herramienta de conversión de esquemas de AWS (AWS SCT) en su equipo local
para conectarse a las instancias de Amazon RDS.

A continuación se presenta un ejemplo de la arquitectura de migración para esta guía.

Version 1/1/2016
71
AWS Database Migration Service
Guía de la migración paso a paso
Migración paso a paso

Migración paso a paso


En las secciones siguientes, puede encontrar instrucciones paso a paso para migrar una base de datos
Amazon RDS for Oracle Database a Amazon Redshift. Se presupone que antes de emprender estos pasos
ya ha preparado la base de datos de origen tal como se describe en las secciones anteriores.

Temas
• Paso 1: Iniciar las instancias de RDS en una VPC con la plantilla de CloudFormation (p. 73)
• Paso 2: Instalar las herramientas de SQL y la herramienta de conversión de esquemas de AWS en su
equipo local (p. 78)
• Paso 3: Comprobar la conectividad de la instancia de base de datos de Oracle y crear el esquema de
ejemplo (p. 81)
• Paso 4: Probar la conectividad a la base de datos de Amazon Redshift (p. 85)
• Paso 5: Utilizar AWS SCT para convertir un esquema de Oracle a Amazon Redshift (p. 86)
• Paso 6: Validar la conversión de esquemas (p. 94)
• Paso 7: Crear una instancia de replicación de AWS DMS (p. 95)

Version 1/1/2016
72
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation
• Paso 8: Crear los puntos de enlace de origen y destino de AWS DMS (p. 96)
• Paso 9: Crear y ejecutar la tarea de migración de AWS DMS (p. 99)
• Paso 10: Comprobar que la migración de datos se realizó correctamente (p. 103)
• Paso 11: Eliminar los recursos de la guía (p. 105)

Paso 1: Iniciar las instancias de RDS en una VPC con


la plantilla de CloudFormation
En primer lugar, necesita aprovisionar los recursos de AWS necesarios para esta guía.

Para utilizar AWS CloudFormation con el fin de crear recursos de Amazon RDS para esta guía

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS CloudFormation en


https://console.aws.amazon.com/cloudformation.
2. Elija Create New Stack.
3. En la página Select Template , seleccione Specify an Amazon S3 template URL y pegue la siguiente
dirección URL en el cuadro de texto adyacente:

https://dms-sbs.s3.amazonaws.com/Oracle_Redshift_For_DMSDemo.template

Version 1/1/2016
73
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

4. Elija Next. En la página Specify Details, proporcione los valores de los parámetros según se muestra a
continuación.

Para este parámetro Haga lo siguiente

Stack Name Escriba OracletoRedshiftDWusingDMS.

OracleDBName Facilite un nombre único para la base de datos. El nombre


debe comenzar con una letra. El valor predeterminado es
ORCL.

Version 1/1/2016
74
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation
Para este parámetro Haga lo siguiente

OracleDBUsername Indique el usuario administrador (DBA) para administrar


la instancia de Oracle. El valor predeterminado es
oraadmin.

OracleDBPassword Especifique la contraseña para el usuario administrador. El


valor predeterminado es oraadmin123

RedshiftDBName Facilite un nombre único para la base de datos. El nombre


debe comenzar con una letra. El valor predeterminado es
test.

RedshiftDBUsername Especifique la contraseña para el usuario maestro. El valor


predeterminado es Redshift#123.

ClientIP Especifique la dirección IP en formato CIDR (x.x.x.x/32)


para el equipo local. Puede obtener la dirección IP en
whatsmyip.org. El grupo de seguridad de instancias de
RDS permite entrar en esta dirección IP. Se puede tener
acceso al valor predeterminado desde cualquier lugar
(0.0.0.0/0), lo cual no se recomienda; en esta guía, debe
utilizar su dirección IP.

Version 1/1/2016
75
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

5. Elija Next. En la página Options, elija Next.


6. En la página Review, compruebe la información y si es correcta, seleccione Create.

Version 1/1/2016
76
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Iniciar las instancias de RDS en
una VPC con la plantilla de CloudFormation

Version 1/1/2016
77
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Instalar las herramientas de SQL y la herramienta
de conversión de esquemas de AWS en su equipo local
7. AWS puede tardar aproximadamente 20 minutos o más en crear la pila con una instancia Amazon
RDS para Oracle y un clúster de Amazon Redshift.

8. Una vez creada la pila, seleccione la pila OracletoRedshiftDWusingDMS y, a continuación, seleccione


la vista Outputs. Registre las cadenas de conexión de JDBC, OracleJDBCConnectionString y
RedshiftJDBCConnectionString, para un uso posterior en esta guía con el fin de conectarse a las
bases de datos de Oracle y Amazon Redshift.

Paso 2: Instalar las herramientas de SQL y la


herramienta de conversión de esquemas de AWS en
su equipo local
A continuación, debe instalar un cliente SQL y AWS SCT en el equipo local.

Version 1/1/2016
78
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Instalar las herramientas de SQL y la herramienta
de conversión de esquemas de AWS en su equipo local
En esta guía, suponemos que va a utilizar el cliente SQL Workbench/J para conectarse a instancias RDS
para validar la migración.

Para instalar el software de cliente SQL

1. Descargue SQL Workbench/J desde el sitio web de SQL Workbench/J e instálelo en su equipo local.
Este cliente SQL es gratuito y de código abierto, además es independiente del sistema de gestión de
bases de datos.
2. Descargue el controlador JDBC de Oracle Database 12.1.0.2 (ojdbc7.jar).
3. Descargue el controlador de Amazon Redshift (RedshiftJDBC41-1.1.17.1017.jar).
4. Cuando se utiliza SQL Workbench/J, hay que configurar controladores de JDBC para Oracle y
Amazon Redshift para poder establecer la conectividad, tal como se describe a continuación.

1. En SQL Workbench/J, seleccione File y, después, Manage Drivers.


2. En la lista de controladores, seleccione Oracle.
3. Seleccione el icono Open y, a continuación, el archivo ojdbc.jar que descargó en el paso
anterior. Elija OK.

4. En la lista de controladores, seleccione Redshift.


5. Seleccione el icono Open y, a continuación, el controlador JDBC para Amazon Redshift que
descargó en el paso anterior. Elija OK.

Version 1/1/2016
79
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Instalar las herramientas de SQL y la herramienta
de conversión de esquemas de AWS en su equipo local

A continuación, instale AWS SCT y los controladores de JDBC necesarios.

Para instalar AWS SCT y los controladores de JDBC necesarios

1. Descargue AWS SCT desde Instalar y actualizar la herramienta de conversión de esquemas de AWS
en la Guía del usuario de la herramienta de conversión de esquemas de AWS.
2. Siga las instrucciones para instalar AWS SCT. De forma predeterminada, la herramienta se instala en
el directorio C:\Program Files\AWS Schema Conversion Tool\AWS.
3. Iniciar AWS SCT.
4. En AWS SCT, seleccione Global Settings en Settings.
5. Seleccione Settings, Global Settings y, a continuación, Drivers y Browse para Oracle Driver Path.
Busque el controlador JDBC para Oracle y seleccione OK.
6. Seleccione Browse para Amazon Redshift Driver Path. Busque el controlador JDBC para Amazon
Redshift y seleccione OK. Seleccione OK para cerrar el cuadro de diálogo.

Version 1/1/2016
80
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo

Paso 3: Comprobar la conectividad de la instancia


de base de datos de Oracle y crear el esquema de
ejemplo
Después de crear la pila de CloudFormation, pruebe la conexión a la instancia de base de datos de Oracle
mediante SQL Workbench/J y, a continuación, cree el esquema de ejemplo.

Para probar la conexión a la instancia de base de datos de Oracle con SQL Workbench/J y crear
el esquema de ejemplo

1. En SQL Workbench/J, seleccione File y, después, Connect window. Cree un nuevo perfil de conexión
con la información siguiente.

Para este parámetro Haga lo siguiente

New profile name Escriba RDSOracleConnection.

Driver Elija Oracle (oracle.jdbc.OracleDriver).

Version 1/1/2016
81
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo
Para este parámetro Haga lo siguiente

URL Utilice el valor OracleJDBCConnectionString que registró


al examinar la información sobre los resultados de la pila
de DMSdemo en un paso anterior.

Username Escriba oraadmin.

Password Type oraadmin123.

2. Para probar la conexión, seleccione Test. Seleccione OK para cerrar el cuadro de diálogo y luego OK
para crear el perfil de conexión.

Version 1/1/2016
82
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo
Note

Si la conexión no se realiza correctamente, asegúrese de que la dirección IP que asignó al


crear la plantilla de CloudFormation es aquella desde la que intenta establecer la conexión.
Este problema es el más habitual cuando intenta conectarse a una instancia.
3. Cree el esquema de SH que utilizará para la migración mediante un script personalizado. El
script de SQL que proporcionó AWS se encuentra en https://dms-sbs.s3.amazonaws.com/
Oraclesalesstarschema.sql.

1. Abra el script SQL proporcionado en un editor de texto. Copie todo el script.


2. En SQL Workbench/J, pegue el script de SQL en la ventana Default.wksp donde aparece
Statement 1.
3. Seleccione SQL y, después, Execute All.

Version 1/1/2016
83
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Comprobar la conectividad de la instancia de
base de datos de Oracle y crear el esquema de ejemplo

4. Compruebe que los tipos de objeto y el recuento del esquema de SH se crearon correctamente; para
ello, ejecute la siguiente consulta SQL.

Select OBJECT_TYPE, COUNT(*) from dba_OBJECTS where owner='SH'


GROUP BY OBJECT_TYPE;

Los resultados de esta consulta deben ser similares a los siguientes.

Version 1/1/2016
84
AWS Database Migration Service
Guía de la migración paso a paso
Paso 4: Probar la conectividad a la
base de datos de Amazon Redshift
OBJECT_TYPE | COUNT(*)
----------------+---------
INDEX PARTITION | 40
TABLE PARTITION | 8
TABLE | 5
INDEX | 15

5. Compruebe el número total de tablas y el número de filas de cada tabla; para ello, ejecute la siguiente
consulta SQL.

Select table_name, num_rows from dba_tables where owner='SH' order by 1;

Los resultados de esta consulta deben ser similares a los siguientes.

TABLE_NAME | NUM_ROWS
-----------+---------
CHANNELS | 5
CUSTOMERS | 8
PRODUCTS | 66
PROMOTIONS | 503
SALES | 553

6. Compruebe la integridad de las tablas. Compruebe el número de ventas realizadas en los diferentes
canales; para ello, ejecute la siguiente consulta SQL.

Select b.channel_desc,count(*) from SH.SALES a,SH.CHANNELS b where


a.channel_id=b.channel_id
group by b.channel_desc
order by 1;

Los resultados de esta consulta deben ser similares a los siguientes.

CHANNEL_DESC | COUNT(*)
-------------+---------
Direct Sales | 710
Internet | 52
Partners | 344

Note

Los ejemplos anteriores son representativos de las consultas de validación. Cuando lleve a cabo
una migración real, debe desarrollar consultas similares para validar el esquema y la integridad de
los datos.

Paso 4: Probar la conectividad a la base de datos de


Amazon Redshift
A continuación, pruebe la conexión a la base de datos de Amazon Redshift.

Para probar la conectividad a la base de datos de Amazon Redshift con SQL Workbench/J

1. En SQL Workbench/J, seleccione File y, después, Connect window. Seleccione el icono Create a new
connection profile. Conéctese a la base de datos de Amazon Redshift en SQL Workbench/J con la
información que se indica a continuación.

Version 1/1/2016
85
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift

Para este parámetro Haga lo siguiente

New profile name Escriba RedshiftConnection.

Driver Elija Redshift


(com.amazon.redshift.jdbc42.Driver).

URL Utilice el valor RedshiftJDBCConnectionString que registró


al examinar la información sobre los resultados de la pila
de DMSdemo en un paso anterior.

Username Escriba redshiftadmin.

Password Escriba Redshift#123.

2. Para probar la conexión, seleccione Test. Seleccione OK para cerrar el cuadro de diálogo y luego OK
para crear el perfil de conexión.

Note

Si la conexión no se realiza correctamente, asegúrese de que la dirección IP que asignó al


crear la plantilla de CloudFormation es aquella desde la que intenta establecer la conexión.
Este problema es el más habitual cuando intenta conectarse a una instancia.
3. Compruebe la conectividad a la instancia de base de datos de Amazon Redshift; para ello, ejecute un
comando SQL de ejemplo, como select current_date;.

Paso 5: Utilizar AWS SCT para convertir un esquema


de Oracle a Amazon Redshift
Antes de migrar datos a Amazon Redshift, convierta el esquema de Oracle a un esquema de Amazon
Redshift, tal como se describe a continuación.

Version 1/1/2016
86
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift
Para convertir un esquema de Oracle a un esquema de Amazon Redshift con AWS SCT

1. Iniciar AWS SCT. En AWS SCT, seleccione File, a continuación, seleccione New Project. Cree un
nuevo proyecto llamado DWSchemaMigrationDemoProject. Indique la siguiente información en la
ventana New Project y, a continuación, seleccione OK.

Para este parámetro Haga lo siguiente

Project Name Escriba DWSchemaMigrationDemoProject.

Location Utilice la carpeta Projects y la opción Data Warehouse


(OLAP) predeterminadas.

Source Database Engine Haga clic en Oracle DW.

Target Database Engine Haga clic en Amazon Redshift.

2. Elija Connect to Oracle. En el cuadro de diálogo Connect to Oracle, indique la siguiente información y
seleccione Test Connection.

Para este parámetro Haga lo siguiente

Type Elija SID.

Server name Utilice el valor OracleJDBCConnectionString que había


utilizado para conectarse a la instancia de base de
datos de Oracle, pero quite la información del prefijo
de JDBC y el sufijo del puerto y nombre de la base
de datos. Por ejemplo, una cadena de conexión de
ejemplo que se utilice con SQL Workbench/J puede ser
"jdbc:oracle:thin:@abc12345678.cqi87654abc.us-
west-2.rds.amazonaws.com:1521:ORCL". Para AWS
SCT Server name, debe quitar "jdbc:oracle:thin:@"
y ":1521:ORCL" y utilice tan solo el nombre del

Version 1/1/2016
87
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift
Para este parámetro Haga lo siguiente
servidor: "abc12345678.cqi87654abc.us-
west-2.rds.amazonaws.com".

Server port Escriba 1521.

Oracle SID Escriba ORCL.

User name Escriba oraadmin.

Password Escriba oraadmin123.

3. Seleccione OK para cerrar la alerta y, a continuación, seleccione OK para cerrar el cuadro de diálogo
e iniciar la conexión a la instancia de base de datos de Oracle. La estructura de la base de datos en la
instancia de base de datos de Oracle se muestra a continuación. Seleccione solo el esquema de SH.

Version 1/1/2016
88
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift
Note

Si el esquema de SH no aparece en la lista, seleccione Actions y, a continuación, seleccione


Refresh from Database.

4. Elija Connect to Amazon Redshift. En el cuadro de diálogo Connect to Amazon Redshift, indique la
siguiente información y seleccione Test Connection.

Para este parámetro Haga lo siguiente

Type Elija SID.

Server name Utilice el valor RedshiftJDBCConnectionString que había


utilizado para conectarse al clúster de Amazon Redshift,
pero quite la información del prefijo JDBC y el sufijo
del puerto. Por ejemplo, una cadena de conexión de
ejemplo que se puede utilizar con SQL Workbench/J
puede ser " jdbc:redshift://oracletoredshiftdwusingdms-
redshiftcluster-abc123567.abc87654321.us-
west-2.redshift.amazonaws.com:5439/test".
Para AWS SCT Server name, elimine " jdbc:
redshift://" y: 5439/test" y deje solo el nombre
del servidor: "oracletoredshiftdwusingdms-

Version 1/1/2016
89
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift
Para este parámetro Haga lo siguiente
redshiftcluster-abc123567.abc87654321.us-
west-2.redshift.amazonaws.com"

Server port Escriba 5439.

User name Escriba redshiftadmin.

Password Escriba Redshift#123.

AWS SCT analiza el esquema de SH y crea un informe sobre la evaluación de la migración de la base
de datos para la conversión a Amazon Redshift.
5. Seleccione OK para cerrar la alerta y, a continuación, seleccione OK para cerrar el cuadro de diálogo
e iniciar la conexión a la instancia de base de datos de Amazon Redshift.
6. En la vista Oracle DW, abra el menú contextual (clic con el botón secundario) para el esquema SH y
seleccione Create Report.
7. Revise el resumen del informe. Para guardar el informe, seleccione Save to CSV o Save to PDF.

El informe describe el tipo de objetos que se pueden convertir mediante AWS SCT, junto con los
posibles problemas de migración y las medidas para resolver estos problemas. Para esta guía,
debería aparecer algo similar a lo siguiente.

Version 1/1/2016
90
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift

Version 1/1/2016
91
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift
8. Seleccione la pestaña Action Items. El informe describe el tipo de objetos que se pueden convertir
mediante AWS SCT, junto con los posibles problemas de migración y las medidas para resolver estos
problemas. Para esta guía, debería aparecer algo similar a lo siguiente.

9. Abra el menú contextual (clic con el botón secundario) para el elemento SH de la lista Schemas y,
a continuación, seleccione Collect Statistics. AWS SCT analiza el origen de datos para recomendar
las mejores claves para el destino de la base de datos de Amazon Redshift. Para obtener más
información, consulte la sección sobre cómo recopilar o cargar estadísticas para la herramienta de
conversión de esquemas de AWS.
10. Abra el menú contextual (clic con el botón secundario) para el esquema de SH y, después, seleccione
Convert schema.
11. Haga clic en Yes para el mensaje de confirmación. AWS SCT convierte el esquema al formato de la
base de datos de destino.

Version 1/1/2016
92
AWS Database Migration Service
Guía de la migración paso a paso
Paso 5: Utilizar AWS SCT para convertir
un esquema de Oracle a Amazon Redshift

Note

La selección de las claves de ordenación y las claves de distribución de Amazon Redshift


es fundamental para conseguir un rendimiento óptimo. Puede utilizar la administración de
claves en AWS SCT para personalizar la selección de claves. Para esta guía, usamos los
valores predeterminados que recomienda AWS SCT. Para obtener más información, consulte
la sección que habla de optimizar Amazon Redshift mediante la utilización de la herramienta
de conversión de esquemas de AWS.

Version 1/1/2016
93
AWS Database Migration Service
Guía de la migración paso a paso
Paso 6: Validar la conversión de esquemas

12. En la vista de Amazon Redshift, abra el menú contextual (clic con el botón secundario) para el
esquema de SH y, a continuación, seleccione Apply to database para aplicar los scripts del esquema
en la instancia de Amazon Redshift de destino.
13. Abra el menú contextual (clic con el botón secundario) del esquema de SH y, a continuación,
seleccione Refresh from Database para actualizar desde la base de datos de destino.

El esquema de base de datos ya se ha convertido e importado desde el origen al destino.

Paso 6: Validar la conversión de esquemas


Para validar la conversión de esquemas, compare los objetos que se encuentra en las bases de datos de
Oracle y Amazon Redshift mediante SQL Workbench/J.

Para validar la conversión de esquemas con SQL Workbench/J

1. En SQL Workbench/J, seleccione File y, después, Connect window. Seleccione el RedshiftConnection


que ha creado en el paso anterior. Elija OK.
2. Ejecute el siguiente script para verificar el número de tipos de objeto y añadir al recuento el esquema
de SH en la base de datos de destino de Amazon Redshift. Estos valores deben coincidir con el
número de objetos en la base de datos de origen de Oracle.

SELECT 'TABLE' AS OBJECT_TYPE,


TABLE_NAME AS OBJECT_NAME,
TABLE_SCHEMA AS OBJECT_SCHEMA
FROM information_schema.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND OBJECT_SCHEMA = 'sh';

El resultado de esta consulta debe ser similar al siguiente.

object_type | object_name | object_schema


------------+-------------+--------------
TABLE | channels | sh
TABLE | customers | sh
TABLE | products | sh
TABLE | promotions | sh
TABLE | sales | sh

3. Compruebe las claves de ordenación y distribución que se crearon en el clúster de Amazon Redshift
con la siguiente consulta.

set search_path to '$user', 'public', 'sh';

SELECT tablename,
"column",
TYPE,
encoding,
distkey,
sortkey,
"notnull"
FROM pg_table_def
WHERE (distkey = TRUE OR sortkey <> 0);

Los resultados de la consulta reflejan las selecciones de claves de distribución (distkey) y claves de
ordenación (sortkey) mediante la administración de claves de AWS SCT.

Version 1/1/2016
94
AWS Database Migration Service
Guía de la migración paso a paso
Paso 7: Crear una instancia de replicación de AWS DMS

tablename | column | type | encoding | distkey |


sortkey | notnull
-----------+---------------------+-----------------------------+----------+---------
+---------+--------
channels | channel_id | numeric(38,18) | none | true |
1 | true
customers | cust_id | numeric(38,18) | none | false |
4 | true
customers | cust_gender | character(2) | none | false |
1 | true
customers | cust_year_of_birth | smallint | none | false |
3 | true
customers | cust_marital_status | character varying(40) | none | false |
2 | false
products | prod_id | integer | none | true |
4 | true
products | prod_subcategory | character varying(100) | none | false |
3 | true
products | prod_category | character varying(100) | none | false |
2 | true
products | prod_status | character varying(40) | none | false |
1 | true
promotions | promo_id | integer | none | true |
1 | true
sales | prod_id | numeric(38,18) | none | false |
4 | true
sales | cust_id | numeric(38,18) | none | false |
3 | true
sales | time_id | timestamp without time zone | none | true |
1 | true
sales | channel_id | numeric(38,18) | none | false |
2 | true
sales | promo_id | numeric(38,18) | none | false |
5 | true

Paso 7: Crear una instancia de replicación de AWS


DMS
Después de validar la estructura de los esquemas entre las bases de datos de origen y de destino, tal
como se ha descrito antes, puede pasar a la parte fundamental de esta guía, que es la migración de datos.
La siguiente ilustración muestra una vista detallada del proceso de migración.

Las instancias de replicación de DMS realizan la migración de datos real entre el origen y el destino. La
instancia de replicación también almacena en caché los registros de transacción durante la migración. La
capacidad de la CPU y de la memoria de una instancia de replicación influirá en el tiempo necesario para
llevar a cabo la migración.

Version 1/1/2016
95
AWS Database Migration Service
Guía de la migración paso a paso
Paso 8: Crear los puntos de enlace
de origen y destino de AWS DMS
Para crear una instancia de replicación de AWS DMS

1. Inicie sesión en la consola de administración de AWS y abra la consola de AWS DMS en https://
console.aws.amazon.com/dms/, a continuación, seleccione Create Migration. Si ha iniciado sesión
como usuario de AWS Identity and Access Management (IAM), será preciso que disponga de los
permisos adecuados para tener acceso a AWS DMS. Para obtener más información sobre los
permisos necesarios, consulte la sección sobre permisos de IAM necesarios para utilizar AWS DMS.
2. Haga clic en Create migration para iniciar la migración de una base de datos.
3. En la página Welcome, elija Next.
4. En la página Create replication instance, especifique la información de la instancia de replicación de la
siguiente manera.

Para este parámetro Haga lo siguiente

Name Escriba DMSdemo-repserver.

Description Incluya una descripción breve, como Servidor de


replicación para demostraciones de DMS.

Instance class Elija dms.t2.medium. Esta clase de instancia es lo


suficientemente grande como para migrar un conjunto
pequeño de tablas.

VPC Seleccione OracletoRedshiftusingDMS, que es la


VPC que creó la pila de CloudFormation.

Multi-AZ Haga clic en No.

Publicly accessible Deje este elemento seleccionado.


5. Para la sección Advanced, no toque los valores predeterminados y seleccione Next.

Paso 8: Crear los puntos de enlace de origen y destino


de AWS DMS
Mientras se está creando la instancia de replicación, puede especificar los puntos de enlace de la base
de datos de origen y destino con la consola de administración de AWS. Sin embargo, solo podrá probar la
conectividad después de que se haya creado la instancia de replicación, porque esta instancia se utiliza en
la conexión.

Para especificar los puntos de enlace de la base de datos de origen o de destino a con la consola
de AWS

1. Especifique la información de la conexión para la base de datos de origen de Oracle y la base de


datos de destino de Amazon Redshift. La siguiente tabla describe la configuración del origen.

Para este parámetro Haga lo siguiente

Endpoint Identifier Escriba Orasource (el punto de enlace de Amazon RDS


para Oracle).

Source Engine Elija oracle.

Server name Facilite el nombre de instancia de la base de


datos de Oracle. Este nombre es el valor de

Version 1/1/2016
96
AWS Database Migration Service
Guía de la migración paso a paso
Paso 8: Crear los puntos de enlace
de origen y destino de AWS DMS
Para este parámetro Haga lo siguiente
Server name que utilizó para AWS SCT, como,
por ejemplo, "abc123567.abc87654321.us-
west-2.rds.amazonaws.com".

Port Escriba 1521.

SSL mode Elija None.

Username Escriba oraadmin.

Password Escriba oraadmin123.

SID Escriba ORCL.

La tabla siguiente describe la configuración del destino.

Para este parámetro Haga lo siguiente

Endpoint Identifier Escriba Redshifttarget (el punto de enlace de


Amazon Redshift).

Target Engine Elija redshift.

Servername Facilite el nombre de la instancia de la base de


datos de Amazon Redshift. Este nombre es el valor
de Server name que utilizó para AWS SCT, como,
por ejemplo "oracletoredshiftdwusingdms-
redshiftcluster-abc123567.abc87654321.us-
west-2.redshift.amazonaws.com".
.

Port Escriba 5439.

SSL mode Elija None.

Username Escriba redshiftadmin.

Password Escriba Redshift#123.

Database name Escriba test.

La página completada debe ser similar a la siguiente.

Version 1/1/2016
97
AWS Database Migration Service
Guía de la migración paso a paso
Paso 8: Crear los puntos de enlace
de origen y destino de AWS DMS

2. Espere a que el estado indique Replication instance created successfully..


3. Para probar las conexiones de origen y de destino, seleccione Run Test para las conexiones de origen
y de destino.
4. Elija Next.

Version 1/1/2016
98
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

Paso 9: Crear y ejecutar la tarea de migración de AWS


DMS
Con una tarea de AWS DMS, puede especificar qué esquema se va a migrar y el tipo de migración. Puede
migrar los datos existentes, migrar los datos existentes y replicar los cambios en curso o bien solo replicar
los cambios. En esta guía solo se migran los datos existentes.

Para crear una tarea de migración

1. En la página Create Task, especifique las opciones de la tarea. La tabla siguiente describe la
configuración.

Para este parámetro Haga lo siguiente

Task name Escriba migrateSHschema.

Replication instance Muestra DMSdemo-repserver (la instancia de replicación


de AWS DMS que se creó en uno de los pasos anteriores).

Source endpoint Muestra orasource (el punto de enlace de Amazon RDS


for Oracle).

Target endpoint Muestra redshifttarget (el punto de enlace de


Amazon Redshift).

Migration type Seleccione la opción Migrate existing data.

Start task on create Seleccione esta opción.

La página debe ser similar a la siguiente.

Version 1/1/2016
99
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

2. En la sección Task Settings, especifique la configuración tal y como se muestra en la siguiente tabla.

Para este parámetro Haga lo siguiente

Target table preparation mode Haga clic en Do nothing.

Include LOB columns in replication Haga clic en Limited LOB mode.

Max LOB size (kb) Acepte los valores predeterminados (32).

La sección debe ser similar a la siguiente.

Version 1/1/2016
100
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

3. En la sección Selection rules, especifique la configuración tal y como se muestra en la siguiente tabla.

Para este parámetro Haga lo siguiente

Schema name is Seleccione Especificar un esquema.

Schema name is like Escriba SH%.

Table name is like Type %.

Action Seleccione Incluir.

La sección debe ser similar a la siguiente:

Version 1/1/2016
101
AWS Database Migration Service
Guía de la migración paso a paso
Paso 9: Crear y ejecutar la tarea de migración de AWS DMS

4. Haga clic en Add selection rule.


5. Haga clic en Create task.

5. Haga clic en Create task. La tarea comienza inmediatamente. La sección Tasks le muestra el estado de
la tarea de migración.

Version 1/1/2016
102
AWS Database Migration Service
Guía de la migración paso a paso
Paso 10: Comprobar que la migración
de datos se realizó correctamente

Paso 10: Comprobar que la migración de datos se


realizó correctamente
Cuando la migración se complete, puede comparar los resultados de la tarea con los resultados
esperados.

Para comparar los resultados de la tarea de migración con los resultados esperados

1. En el panel de navegación, seleccione Tasks.


2. Seleccione la tarea de migración (migrateSHschema).
3. Seleccione la pestaña Table statistics, que aparece a continuación.

Version 1/1/2016
103
AWS Database Migration Service
Guía de la migración paso a paso
Paso 10: Comprobar que la migración
de datos se realizó correctamente

4. Conéctese a la instancia de Amazon Redshift mediante SQL Workbench/J y, a continuación,


compruebe si se han migrado correctamente las tablas de la base de datos desde Oracle a Amazon
Redshift; para ello, ejecute el script de SQL que se muestra a continuación.

select "table", tbl_rows


from svv_table_info
where
SCHEMA = 'sh'

Version 1/1/2016
104
AWS Database Migration Service
Guía de la migración paso a paso
Paso 11: Eliminar los recursos de la guía

order by 1;

Los resultados deben ser similares a los siguientes.

table | tbl_rows
-----------+---------
channels | 5
customers | 8
products | 66
promotions | 503
sales | 1106

5. Para comprobar si los resultados de las tablas y el número de filas de la consulta anterior coinciden
con lo que se esperaba para RDS Oracle, compare los resultados con los de los pasos anteriores.
6. Ejecute la siguiente consulta para comprobar la relación en las tablas; esta consulta comprueba los
departamentos con empleados con un valor superior a 10.

Select b.channel_desc,count(*) from SH.SALES a,SH.CHANNELS b where


a.channel_id=b.channel_id
group by b.channel_desc
order by 1;

El resultado de esta consulta debe ser similar al siguiente.

channel_desc | count
-------------+------
Direct Sales | 355
Internet | 26
Partners | 172

7. Compruebe la columna de codificación de compresión.

DMS utilizar una operación COPY de Amazon Redshift para cargar los datos. De forma
predeterminada, el comando COPY se aplica automáticamente a la compresión cuando se realiza
una carga en una tabla de destino vacía. Los datos de ejemplo en esta guía no son lo suficientemente
grandes para aplicar la compresión automática. Cuando migre conjuntos de datos más grandes, con
COPY, se aplica la compresión automática.

Para obtener más información sobre la compresión automática en las tablas de Amazon Redshift,
consulte la sección sobre cómo cargar tablas con compresión automática.

Para ver las codificaciones de compresión, ejecute la siguiente consulta.

SELECT *
FROM pg_table_def
WHERE schemaname = 'sh’;

Ahora ya ha completado correctamente la migración de una base de datos desde una instancia de la
bases de datos Amazon RDS for Oracle a Amazon Redshift.

Paso 11: Eliminar los recursos de la guía


Una vez que haya completado esta guía, lleve a cabo los pasos siguientes para evitar que se le apliquen
otros cargos por los recursos de AWS que utilice en la guía. Es necesario realizar los pasos por orden,
porque algunos recursos no se pueden eliminar si dependen de otros recursos.
Version 1/1/2016
105
AWS Database Migration Service
Guía de la migración paso a paso
Pasos siguientes

Para eliminar los recursos de AWS DMS

1. En el panel de navegación, haga clic en Tasks, seleccione la tarea de migración (migratehrschema)


y, a continuación, Delete.
2. En el panel de navegación, haga clic en Endpoints, seleccione el punto de enlace de Oracle
(orasource) y, a continuación, Delete.
3. Seleccione el punto de enlace de destino de Amazon Redshift (redshifttarget) y, a continuación,
seleccione Delete.
4. En el panel de navegación, haga clic en Replication instances, seleccione la instancia de replicación
(DMSdemo-repserver) y, a continuación, Delete.

A continuación, es preciso que elimine la pila de AWS CloudFormation, DMSdemo.

Para eliminar la pila de AWS CloudFormation

1. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS CloudFormation en


https://console.aws.amazon.com/cloudformation.

Si ha iniciado sesión como usuario de IAM, será preciso que disponga de los permisos adecuados
para tener acceso a AWS CloudFormation.
2. Seleccione la pila de CloudFormation, OracletoRedshiftDWusingDMS.
3. En Actions, elija Delete stack.

El estado de la pila cambia a DELETE_IN_PROGRESS mientras AWS CloudFormation limpia los recursos
asociados a la pila de OracletoRedshiftDWusingDMS. Cuando AWS CloudFormation termina de
limpiar recursos, quita la pila de la lista.

Pasos siguientes
Puede explorar otras características de AWS DMS que no se incluyeron en esta guía, como, por ejemplo,
las siguientes:

• La captura de datos de cambios (CDC) de AWS DMS, para la replicación de datos continuada.
• Las acciones de transformación que le permiten especificar y aplicar transformaciones a la tabla o
esquema seleccionados como parte del proceso de migración.

Para obtener más información, consulte la documentación de AWS DMS.

Referencias
La documentación y esquemas de ejemplo siguientes son referencias útiles para esta guía:

• Documentación de AWS DMS


• Documentación de AWS SCT
• Documentación de Amazon Redshift
• Instrucciones de SQL para generar un esquema de SH
• Plantilla de AWS CloudFormation
• Esquemas de ejemplo de Oracle

Version 1/1/2016
106
AWS Database Migration Service
Guía de la migración paso a paso

Migrar bases de datos compatibles


con MySQL a AWS

Amazon Web Services (AWS) ofrece varios servicios que le permiten ejecutar una base de datos
compatible con MySQL en AWS. Amazon Relational Database Service (Amazon RDS) admite bases
de datos compatibles con MySQL, incluidas MySQL, MariaDB y Amazon Aurora. AWS Elastic Cloud
Computing Service (EC2) proporciona plataformas para la ejecución de bases de datos compatibles con
MySQL.

Migrar desde Solución

Instancias de base de datos Puede migrar datos directamente a partir de una instantánea de base
MySQL de RDS de datos MySQL de Amazon RDS a un clúster de base de datos de
Amazon Aurora. Para obtener más información, consulte Migración de
datos de una instancia de base de datos de Amazon RDS MySQL a un
clúster de base de datos de Amazon Aurora (p. 120).

Bases de datos MySQL ajenas Si la base de datos admite espacios de tablas InnoDB o MyISAM,
a Amazon RDS dispone de estas opciones para migrar sus datos a un clúster de base
de datos de Amazon Aurora:

• Puede crear un volcado de los datos con la utilidad mysqldump y,


a continuación, importar los datos a un clúster de base de datos de
Amazon Aurora existente.
• Puede copiar los archivos de origen de la base de datos en un
bucket de Amazon S3 (S3) y, a continuación, restablecer un clúster
de base de datos de Amazon Aurora a partir de dichos archivos.
Esta opción puede ser bastante más rápida que migrar los datos con
mysqldump.

Para obtener más información, consulte Migración de MySQL a


Amazon Aurora con mysqldump (p. 120).

Version 1/1/2016
107
AWS Database Migration Service
Guía de la migración paso a paso

Migrar desde Solución

Bases de datos que no son También puede utilizar AWS Database Migration Service (AWS DMS)
compatibles con MySQL para migrar datos desde una base de datos MySQL. Sin embargo,
en el caso de las bases de datos de gran tamaño, se puede reducir
bastante el tiempo necesario para migrar los datos si se copian los
archivos de origen para la base de datos y se restauran estos archivos
a una instancia de base de datos de Amazon Aurora tal y como se
describe en Migración de datos desde una base de datos MySQL
externa a Amazon Aurora mediante Amazon S3 (p. 109).

Para obtener más información sobre AWS DMS, consulte la sección


que explica qué es AWS Database Migration Service.

Version 1/1/2016
108
AWS Database Migration Service
Guía de la migración paso a paso
Migración de datos desde una base de datos MySQL
externa a Amazon Aurora mediante Amazon S3

Migración de una base de datos


compatible con MySQL a Amazon
Aurora

Si la base de datos admite espacios de tablas InnoDB o MyISAM, dispone de estas opciones para migrar
sus datos a un clúster de base de datos de Amazon Aurora:

• Puede crear un volcado de los datos con la utilidad mysqldump y, a continuación, importar los datos
a un clúster de base de datos de Amazon Aurora existente. Para obtener más información, consulte
Migración de MySQL a Amazon Aurora con mysqldump (p. 120).
• Puede copiar los archivos de origen de la base de datos en un bucket de S3 y, a continuación,
restablecer un clúster de base de datos de Amazon Aurora a partir de dichos archivos. Esta opción
puede ser bastante más rápida que migrar los datos con mysqldump. Para obtener más información,
consulte Migración de datos desde una base de datos MySQL externa a Amazon Aurora mediante
Amazon S3 (p. 109).

Migración de datos desde una base de datos


MySQL externa a Amazon Aurora mediante
Amazon S3
Puede copiar los archivos de origen de la base de datos MySQL de origen versión 5.5 o 5.6 en un bucket
de S3 y, a continuación, restaurar un clúster de base de datos de Amazon Aurora a partir de dichos
archivos.

Esta opción puede ser mucho más rápida que migrar datos mediante mysqldump, ya que mysqldump
repite todos los comandos para recrear el esquema y los datos a partir de la base de datos de origen en el
nuevo clúster de base de datos de Amazon Aurora. Al copiar los archivos de datos de origen de MySQL,
Amazon Aurora puede utilizar inmediatamente dichos archivos como datos para el clúster de base de
datos.

Version 1/1/2016
109
AWS Database Migration Service
Guía de la migración paso a paso
Requisitos previos

Note

La región Asia Pacífico (Mumbai) no admite el restablecimiento de un clúster de base de datos de


Amazon Aurora a partir de los archivos de copia de seguridad de un bucket de S3.

Amazon Aurora no restaura todo lo que contiene la base de datos. Debe guardar el esquema y los valores
de la base de datos correspondientes a los siguientes elementos de la base de datos de origen MySQL o
MariaDB y añadirlos a su clúster de base de datos de Amazon Aurora restaurado una vez creado.

• Cuentas de usuario
• Funciones
• Procedimientos almacenados
• Información de zona horaria. Esta información se carga desde el sistema operativo local de su clúster de
base de datos de Amazon Aurora.

Requisitos previos
Antes de copiar los datos en un bucket de S3 y restaurar un clúster de base de datos a partir de dichos
archivos, debe hacer lo siguiente:

• Instale Percona XtraBackup en su servidor local.


• Permita que Amazon Aurora acceda a su bucket de S3 por usted.

Instalación de Percona XtraBackup


Amazon Aurora puede restaurar un clúster de base de datos a partir de archivos creados con Percona
XtraBackup. Puede instalar Percona XtraBackup desde el sitio web de Percona https://www.percona.com/
doc/percona-xtrabackup/2.4/installation.

Permisos necesarios
Para migrar los datos de MySQL a un clúster de base de datos de Amazon Aurora, se requieren varios
permisos:

• El usuario que solicita que Amazon RDS cree un nuevo clúster a partir de un bucket de S3 debe tener
permiso para enumerar los buckets de su cuenta de AWS. Puede otorgar este permiso al usuario
mediante una política de AWS Identity and Access Management (IAM).
• Amazon RDS requiere permiso para realizar acciones por usted y acceder al bucket de S3 en el que
se almacenan los archivos utilizados para crear el clúster de base de datos de Amazon Aurora. Puede
otorgar los permisos necesarios a Amazon RDS mediante un rol de servicio de IAM.
• El usuario que realiza la solicitud también debe tener permiso para enumerar los roles de IAM para su
cuenta de AWS.
• Si el usuario solicitante crea el rol de servicio de IAM o solicita que Amazon RDS lo cree (mediante la
consola), entonces necesitará permiso para crear un rol de IAM para su cuenta de AWS.

Por ejemplo, las siguientes políticas de IAM otorgan a un usuario el número mínimo necesario de permisos
para usar la consola tanto para enumerar los roles de IAM, como para crear un rol de IAM y enumerar los
buckets de S3 para su cuenta.

{
"Version": "2012-10-17",
"Statement": [
{

Version 1/1/2016
110
AWS Database Migration Service
Guía de la migración paso a paso
Requisitos previos

"Effect": "Allow",
"Action": [
"iam:ListRoles",
"iam:CreateRole",
"iam:CreatePolicy",
"iam:AttachRolePolicy",
"s3:ListBucket",
"s3:ListObjects"
],
"Resource": "*"
}
]
}

Además, para que un usuario pueda asociar un rol de IAM a un bucket de S3, el usuario de IAM debe
disponer del permiso iam:PassRole para dicho rol de IAM. Este permiso hace que un administrador
pueda restringir los roles de IAM que un usuario puede asociar a buckets de S3.

Por ejemplo, la siguiente política de IAM permite a un usuario asociar el rol denominado S3Access a un
bucket de S3.

{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"AllowS3AccessRole",
"Effect":"Allow",
"Action":"iam:PassRole",
"Resource":"arn:aws:iam::123456789012:role/S3Access"
}
]
}

Creación del rol de servicio de IAM


Puede hacer que la consola de administración de Amazon RDS cree un rol por usted si marca la opción
Create a New Role (se explica más adelante en este tema). Si selecciona esta opción y especifica un
nombre para el nuevo rol, entonces Amazon RDS creará el rol de servicio de IAM necesario para que
Amazon RDS pueda acceder a su bucket de S3 con el nombre que usted indique.

Como alternativa, puede crear el rol manualmente realizando los siguientes pasos.

Para crear un rol de IAM para que Amazon RDS pueda acceder a S3

1. Inicie sesión en la Consola de administración de AWS y abra la consola de IAM en https://


console.aws.amazon.com/iam/.
2. En el panel de navegación izquierdo, seleccione Roles.
3. Elija Create New Role, especifique un valor en el campo Role Name para el nuevo rol y, a
continuación, seleccione Next Step.
4. Bajo AWS Service Roles, busque Amazon RDS y seleccione Select.
5. En el paso Attach Policy, no seleccione ninguna política. En su lugar, seleccione Next Step.
6. Revise la información del rol y, a continuación, seleccione Create Role.
7. En la lista de roles, seleccione el nombre del rol que acaba de crear. Seleccione la pestaña
Permissions.
8. Elija Inline Policies. Puesto que el nuevo rol no tiene ninguna política asignada, se le pedirá que la
cree. Haga clic en el enlace para crear una nueva política.
9. En la página Set Permissions, seleccione Custom Policy y, a continuación, Select.

Version 1/1/2016
111
AWS Database Migration Service
Guía de la migración paso a paso
Paso 1: Realizar copias de seguridad de archivos
para restaurarlos como clúster de base de datos
10. Introduzca un Policy Name del tipo S3-bucket-policy. Añada el siguiente código en Policy
Document, sustituyendo el <nombre del bucket> por el nombre del bucket de S3 al que otorga
permiso de acceso.

En el documento de política también puede incluir un prefijo para el nombre de archivo. Si especifica
un prefijo, Amazon Aurora creará el clúster de base de datos con los archivos del bucket de S3 que
empiecen con dicho prefijo. Si no especifica ningún prefijo, Amazon Aurora creará el clúster de base
de datos con todos los archivos del bucket de S3.

Para especificar un prefijo, sustituya <prefijo> según el prefijo de sus nombres de archivo. Incluya
el asterisco (*) después del prefijo. Si no desea especificar ningún prefijo, introduzca únicamente un
asterisco.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::<bucket name>"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::<bucket name>/<prefix>*"
]
}
]
}

11. Elija Apply Policy.

Paso 1: Realizar copias de seguridad de archivos para


restaurarlos como clúster de base de datos
Con la utilidad Percona Xtrabackup (innobackupex), cree primero una copia de seguridad de sus
archivos de base de datos MySQL que pueda restaurarse desde S3 para crear un clúster de base de datos
de Amazon Aurora.

Por ejemplo, el siguiente comando crea una copia de seguridad de una base de datos MySQL y almacena
los archivos en la carpeta /s3-restore/backup.

innobackupex --user=myuser --password=<password> --no-timestamp /s3-restore/backup

Si desea comprimir su copia de seguridad en un solo archivo (divisible, si es necesario), puede utilizar la
opción --stream para guardar las copias de seguridad en uno de los siguientes formatos:

• Gzip (.gz)
• tar (.tar)
• Percona xbstream (.xbstream)

Version 1/1/2016
112
AWS Database Migration Service
Guía de la migración paso a paso
Paso 2: Copiar archivos en un bucket de Amazon S3

Por ejemplo, el siguiente comando crea una copia de seguridad de la base de datos MySQL dividida en
varios archivos Gzip.

innobackupex --user=myuser --password=<password> --stream=tar \


/mydata/s3-restore/backup | split -d --bytes=512000 \
- /mydata/s3-restore/backup3/backup.tar.gz

Por ejemplo, el siguiente comando crea una copia de seguridad de la base de datos MySQL dividida en
varios archivos tar.

innobackupex --user=myuser --password=<password> --stream=tar \


/mydata/s3-restore/backup | split -d --bytes=512000 \
- /mydata/s3-restore/backup3/backup.tar

Por ejemplo, el siguiente comando crea una copia de seguridad de la base de datos MySQL dividida en
varios archivos xbstream.

innobackupex --stream=xbstream \
/mydata/s3-restore/backup | split -d --bytes=512000 \
- /mydata/s3-restore/backup/backup.xbstream

S3 limita el tamaño de un archivo cargado en un bucket a 5 terabytes (TB). Si los datos de la copia de
seguridad de su base de datos superan los 5 TB, entonces deberá utilizar el comando split para dividir
los archivos de copia de seguridad en varios archivos que ocupen menos de 5 TB.

Amazon Aurora no admite copias de seguridad parciales creadas con Percona Xtrabackup. No puede
utilizar las opciones --include, --tables-file o --databases para crear una copia de seguridad
parcial al realizar las copias de seguridad de los archivos de origen de su base de datos.

Para obtener más información, consulte The innobackupex Script.

Amazon Aurora consume sus archivos de copia de seguridad en función del nombre de archivo.
Asegúrese de asignar la extensión de archivo adecuada a los archivos de copia de seguridad según
el formato del fichero: por ejemplo, .xbstream para archivos almacenados con el formato Percona
xbstream.

Amazon Aurora consume sus archivos de copia de seguridad en orden alfabético, así como según la
numeración natural. Utilice siempre la opción split al emitir el comando innobackupex para asegurarse
de que sus archivos de copia de seguridad se escriban y denominen en el orden adecuado.

Paso 2: Copiar archivos en un bucket de Amazon S3


Una vez realizada la copia de seguridad de la base de datos MySQL con la utilidad Percona Xtrabackup,
ya podrá copiar los archivos de copia de seguridad en un bucket de S3.

Para obtener más información acerca de cómo crear y cargar un archivo en un bucket de S3, consulte la
sección sobre comenzar a utilizar Amazon Simple Storage Service en la Guía de introducción de Amazon
S3.

Paso 3: Restaurar un clúster de base de datos de


Aurora desde un bucket de S3
Puede restaurar los archivos de copia de seguridad desde su bucket de Amazon S3 para crear un nuevo
clúster de base de datos de Amazon Aurora mediante la consola de Amazon RDS.

Version 1/1/2016
113
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Restaurar un clúster de base de
datos de Aurora desde un bucket de S3
Para restaurar un clúster de base de datos de Amazon Aurora a partir de archivos en un bucket de
S3

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://
console.aws.amazon.com/rds/.
2. En el panel de RDS, seleccione Restore Aurora DB Cluster from S3.
3. En Specify Source Backup Details, especifique lo siguiente:

Para esta opción Haga lo siguiente

Source Engine Amazon Aurora actualmente solo admite la recuperación a


partir de archivos de copia de seguridad para el motor de
base de datos mysql.

Source Engine Version Especifique la versión de la base de datos MySQL a partir


de la que se crearon los archivos de copia de seguridad,
por ejemplo 5.6.22. Se admiten las versiones de MySQL
5.5 y 5.6.

Select S3 Bucket Seleccione el bucket de S3 donde se almacenan los


archivos de copia de seguridad.

S3 Bucket Prefix (Optional) Especifique un prefijo de ruta de archivo para los archivos
almacenados en el bucket de S3. El S3 Bucket Prefix es
opcional. Si no especifica un prefijo, Amazon Aurora creará
el clúster de base de datos con todos los archivos de la
carpeta raíz del bucket de S3. Si especifica un prefijo,
Amazon Aurora creará el clúster de base de datos con los
archivos del bucket de S3 donde la ruta completa para el
archivo comienza con el prefijo especificado.

Amazon Aurora no recorre las subcarpetas en su bucket de


S3 buscando archivos de copia de seguridad. Solo se usan
los archivos de la carpeta identificados por el S3 Bucket
Prefix. Si almacena los archivos de copia de seguridad en
una subcarpeta en su bucket de S3, deberá especificar
un prefijo que identifique la ruta completa hasta la carpeta
donde se almacenan los archivos.

Por ejemplo, si almacena los archivos de copia de


seguridad en una subcarpeta de su bucket de S3
denominado backups y dispone de varios conjuntos
de archivos de copia de seguridad, cada uno en su
propio directorio (gzip_backup1, gzip_backup2, etc.),
deberá especificar un prefijo backups/gzip_backup1
para restaurar a partir de los archivos en la carpeta
gzip_backup1.

IAM Role Seleccione el rol de IAM que creó para autorizar por usted
el acceso de Amazon Aurora a S3. Si no ha creado un rol
de IAM, puede elegir Create a New Role para crear uno.

La página Specify Source Backup Details suele tener el siguiente aspecto.

4. Elija Next Step.

Version 1/1/2016
114
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Restaurar un clúster de base de
datos de Aurora desde un bucket de S3
5. En la página Specify DB Details, especifique la información del clúster de base de datos. La siguiente
tabla muestra la configuración de una instancia de base de datos.

Para esta opción Haga lo siguiente

DB Instance Class Seleccione una clase de instancia de base de datos


que defina los requisitos de procesamiento y memoria
para cada instancia en el clúster de base de datos.
Aurora admite las clases de instancia de base de datos
db.r3.large, db.r3.xlarge, db.r3.2xlarge,
db.r3.4xlarge y db.r3.8xlarge. Para obtener más
información acerca de las opciones de la clase de instancia
de base de datos, consulte la documentación de Amazon
RDS.

Multi-AZ Deployment Determine si desea crear réplicas de Aurora en otras zonas


de disponibilidad para respaldar la conmutación por error.
Para obtener más información acerca de varias zonas de
disponibilidad, consulte la documentación de Amazon
RDS.

DB Instance Identifier Escriba un nombre para la instancia principal en su clúster


de base de datos. Este identificador se utilizará en la
dirección del punto de enlace de la instancia principal de su
clúster de base de datos.

El identificador de instancias de base de datos tiene las


siguientes limitaciones:

• Tiene que contener de 1 a 63 caracteres alfanuméricos o


guiones.
• Su primer carácter debe ser una letra.
• No puede terminar con un guion ni contener dos guiones
consecutivos.
• Debe ser único para todas las instancias de base de
datos por cada cuenta de AWS y por cada región.

Master Username Escriba un nombre utilizando caracteres alfanuméricos


que utilizará como nombre de usuario maestro para iniciar
sesión en su clúster de base de datos. Los privilegios
predeterminados otorgados a la cuenta del nombre de
usuario maestro son: create, drop, references,
event, alter, delete, index, insert, select,
update, create temporary tables, lock
tables, trigger, create view, show view,
alter routine, create routine, execute,
create user, process, show databases, grant
option.

Master Password Escriba una contraseña que incluya entre 8 y 41 caracteres


ASCII imprimibles (menos /," y @) para su contraseña de
usuario maestro.

La página Specify DB Details suele tener el siguiente aspecto.

Version 1/1/2016
115
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Restaurar un clúster de base de
datos de Aurora desde un bucket de S3

6. Confirme su contraseña maestra y, a continuación, seleccione Next.


7. En la página Configure Advanced Settings, puede personalizar la configuración adicional para su
clúster de base de datos de Aurora. La siguiente tabla muestra la configuración avanzada de un
clúster de base de datos.

Para esta opción Haga lo siguiente

VPC Seleccione la VPC que alojará el clúster de base de


datos. Elija Create a New VPC para que Amazon RDS
cree una VPC. Para obtener más información, consulte la
información anterior de este tema.

Subnet Group Seleccione el grupo de subredes de base de datos que


desea utilizar para el clúster de base de datos. Seleccione
Create a New DB Subnet Group para que Amazon RDS
cree un grupo de subredes de base de datos. Para obtener
más información, consulte la información anterior de este
tema.

Publicly Accessible Seleccione Yes para darle al clúster de base de datos una
dirección IP pública; de lo contrario, seleccione No. Las
instancias en el clúster de base de datos pueden ser una
combinación de instancias de base de datos tanto públicas
como privadas. Para obtener más información sobre cómo
ocultar instancias desde el acceso público, consulte la
documentación de Amazon RDS .

Version 1/1/2016
116
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Restaurar un clúster de base de
datos de Aurora desde un bucket de S3
Para esta opción Haga lo siguiente

Availability Zone Determine si desea especificar una zona de disponibilidad


concreta. Para obtener más información acerca de varias
zonas de disponibilidad, consulte la documentación de
Amazon RDS.

VPC Security Group(s) Seleccione uno o varios grupos de seguridad de VPC para
proteger el acceso de red al clúster de base de datos.
Seleccione Create a New VPC Security Group para que
Amazon RDS cree un grupo de seguridad de VPC. Para
obtener más información, consulte la información anterior
de este tema.

DB Cluster Identifier Escriba un nombre para el clúster de base de datos


que sea exclusivo para su cuenta en la región que haya
seleccionado. Este identificador se utilizará en la dirección
del punto de enlace del clúster para su clúster de base de
datos. Para obtener más información sobre el punto de
enlace del clúster, consulte la documentación de Amazon
RDS .

El identificador del clúster de base de datos tiene las


siguientes limitaciones:

• Tiene que contener de 1 a 63 caracteres alfanuméricos o


guiones.
• Su primer carácter debe ser una letra.
• No puede terminar con un guion ni contener dos guiones
consecutivos.
• Debe ser único para todos los clústeres de base de
datos por cada cuenta de AWS y por cada región.

Database Name Escriba un nombre para la base de datos de hasta 8


caracteres alfanuméricos. Si no indica un nombre, Amazon
RDS no creará una base de datos en el clúster de base de
datos que está creando.

Database Port Especifique el puerto que deben utilizar las aplicaciones


y las utilidades para acceder a la base de datos. Los
clústeres de base de datos de Aurora toman de forma
predeterminada el puerto MySQL predeterminado
3306. Los cortafuegos de algunas compañías bloquean
las conexiones al puerto MySQL predeterminado.
Si el cortafuegos de su compañía bloquea el puerto
predeterminado, seleccione otro puerto para el clúster de
base de datos nuevo.

Parameter Group Seleccione un grupo de parámetros. Aurora dispone de un


grupo de parámetros predeterminado que puede utilizar o
puede crear su propio grupo de parámetros. Para obtener
más información acerca de los grupos de parámetros,
consulte la documentación de Amazon RDS .

Version 1/1/2016
117
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Restaurar un clúster de base de
datos de Aurora desde un bucket de S3
Para esta opción Haga lo siguiente

Option Group Seleccione un grupo de opciones. Aurora dispone de un


grupo de opciones predeterminado que puede utilizar o
puede crear su propio grupo de opciones. Para obtener
más información acerca de los grupos de opciones,
consulte la documentación de Amazon RDS .

Enable Encryption Seleccione Yes para activar el cifrado en reposo para este
clúster de base de datos. Para obtener más información,
consulte la documentación de Amazon RDS .

Priority Elija una prioridad de conmutación por error para


la instancia. Si no selecciona un valor, el valor
predeterminado es tier-1. Esta prioridad determina el orden
en que se promueven las réplicas de Aurora al recuperarse
de un error en la instancia principal. Para obtener más
información, consulte la documentación de Amazon RDS .

Backup Retention Period Seleccione el tiempo (entre 1 y 35 días) durante el que


Aurora conservará las copias de seguridad de la base de
datos. Las copias de seguridad se pueden utilizar para las
restauraciones en un momento dado (PITR) de la base de
datos con una precisión milimétrica.

Enable Enhanced Monitoring Elija Yes para activar la recopilación de métricas en tiempo
real del sistema operativo en el que se ejecuta su clúster
de base de datos. Para obtener más información, consulte
la documentación de Amazon RDS .

Granularity Esta opción solo está disponible si Enable Enhanced


Monitoring está configurado como Yes. Defina el intervalo,
en segundos, de horas en que se recopilan las métricas
para su clúster de base de datos.

Auto Minor Version Upgrade Seleccione Yes si desea activar su clúster de base
de datos de Aurora para recibir actualizaciones de
versión del motor de base de datos de MySQL menores
automáticamente cuando estén disponibles.

La opción Auto Minor Version Upgrade solo se aplica a las


actualizaciones de versiones de motor menores de MySQL
para su clúster de base de datos de Amazon Aurora. No
se aplica a los parches periódicos que se utilizan para
mantener la estabilidad del sistema.

Maintenance Window Seleccione el intervalo de tiempo semanal durante el que


puede llevarse a cabo el mantenimiento del sistema.

La página Configure Advanced Settings suele tener el siguiente aspecto.

Version 1/1/2016
118
AWS Database Migration Service
Guía de la migración paso a paso
Paso 3: Restaurar un clúster de base de
datos de Aurora desde un bucket de S3

Version 1/1/2016
119
AWS Database Migration Service
Guía de la migración paso a paso
Migración de MySQL a Amazon Aurora con mysqldump

8. Elija Launch DB Instance para lanzar su instancia de base de datos de Aurora y, a continuación, Close
para cerrar el asistente.

En la consola de Amazon RDS, la nueva instancia de base de datos aparece en la lista de instancias
de base de datos. La instancia de la base de datos tiene el estado creating hasta que se cree la
instancia y se pueda usar. Cuando el estado cambie a available, puede conectarse a la instancia
principal de su clúster de base de datos. Dependiendo de la clase de instancia de base de datos y el
almacenamiento asignado, es posible que la instancia tarde varios minutos hasta que esté disponible.

Para ver el clúster que acaba de crear, seleccione la vista Clusters en la consola de Amazon RDS.
Para obtener más información, consulte la documentación de Amazon RDS .

Anote el puerto y el punto de enlace del clúster. Utilice el punto de enlace y el puerto del clúster en sus
cadenas de conexión JDBC y ODBC para cualquier aplicación que realice operaciones de lectura o
escritura.

Migración de MySQL a Amazon Aurora con


mysqldump
Puede crear un volcado de los datos con la utilidad mysqldump y, a continuación, importar los datos a un
clúster de base de datos de Amazon Aurora existente.

Dado que Amazon Aurora es una base de datos compatible con MySQL, puede utilizar la utilidad
mysqldump para copiar datos de su base de datos MySQL o MariaDB a un clúster de base de datos de
Amazon Aurora existente.

Migración de datos de una instancia de base de


datos de Amazon RDS MySQL a un clúster de base
de datos de Amazon Aurora
Puede migrar (copiar) los datos a un clúster de base de datos de Amazon Aurora desde una instantánea
de Amazon RDS, tal y como se describe a continuación.

Version 1/1/2016
120
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora
Note

Dado que Amazon Aurora es compatible con MySQL, puede migrar datos desde la base de
datos MySQL configurando la replicación entre su base de datos MySQL, y un clúster de base de
datos de Amazon Aurora. Le recomendamos utilizar la versión 5.5 o posterior de la base de datos
MySQL.

Migración de una instantánea de base de datos de


RDS MySQL a Aurora
Puede migrar una instantánea de base de datos de una instancia de base de datos de Amazon RDS
MySQL para crear un clúster de base de datos de Aurora. El nuevo clúster de base de datos se rellena con
los datos de la instancia de base de datos de Amazon RDS MySQL original. La instantánea de base de
datos deberá obtenerse a partir de una instancia de base de datos de Amazon RDS que ejecute MySQL
5.6.

Puede migrar una instantánea de base de datos de forma manual o automatizada. Una vez creado el
clúster de base de datos, podrá crear réplicas de Aurora opcionales.

Los pasos generales que debe realizar son los siguientes:

1. Determine la cantidad de espacio que desea aprovisionar para su clúster de base de datos de Amazon
Aurora. Para obtener más información, consulte la documentación de Amazon RDS.
2. Utilice la consola para crear la instantánea en la región en la que se encuentra la instancia Amazon RDS
MySQL 5.6.
3. Si la instantánea de base de datos no se encuentra en la misma región que su clúster de base de
datos, utilice la consola de Amazon RDS para copiar la instantánea de base de datos a esa región.
Para obtener más información acerca de cómo copiar una instantánea de base de datos, consulte la
documentación de Amazon RDS .
4. Utilice la consola para migrar la instantánea de base de datos y crear un clúster de base de datos de
Amazon Aurora con las mismas bases de datos que la instancia de base de datos original de MySQL
5.6.

Warning

Amazon RDS limita cada cuenta de AWS a una copia de la instantánea a la vez en cada región.

¿Cuánto espacio necesito?


Al migrar una instantánea de una instancia de base de datos MySQL a un clúster de base de datos de
Aurora, Aurora utiliza un volumen de Amazon Elastic Block Store (Amazon EBS) para formatear los datos
de la instantánea antes de migrarla. En algunos casos, se necesita espacio adicional para formatear
los datos para la migración. Cuando migre los datos a un clúster de base de datos, tenga en cuenta las
siguientes directrices y limitaciones:

• Aunque Amazon Aurora es compatible con el almacenamiento de hasta 64 TB de tamaño, el proceso de


migrar una instantánea a un clúster de base de datos de Aurora está limitado por el tamaño del volumen
de EBS de la instantánea. Por lo tanto, el tamaño máximo de migración de una instantánea es de 6 TB.
• Las tablas que no son MyISAM y no están comprimidas pueden alcanzar un tamaño de 6 TB. Si tiene
tablas MyISAM, Aurora deberá utilizar espacio adicional en el volumen para convertir las tablas para que
sean compatibles con Aurora. Si dispone de tablas comprimidas, Aurora deberá utilizar espacio adicional
en el volumen para ampliar dichas tablas antes de almacenarlas en el volumen del clúster de Aurora.
Debido a este requisito de espacio adicional, debe asegurarse de que ninguna de las tablas MyISAM y

Version 1/1/2016
121
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora
de las tablas comprimidas que se van a migrar desde su instancia de base de datos MySQL tenga un
tamaño superior a 3 TB.

Reducción de la cantidad de espacio necesario para migrar datos


a Amazon Aurora
Es posible que le interese modificar su esquema de base de datos antes de migrar a Amazon Aurora.
Dicha modificación puede ser útil en los siguientes casos:

• Si desea acelerar el proceso de migración.


• Si no está seguro de cuánto espacio necesita aprovisionar.
• Si ha intentado migrar los datos y la migración ha fallado debido a la falta de espacio aprovisionado.

Puede realizar los siguientes cambios para mejorar el proceso de migración de una base de datos a
Amazon Aurora.
Important
Asegúrese de realizar estas actualizaciones en una instancia de base de datos nueva restaurada
a partir de una instantánea de una base de datos de producción, en lugar de a partir de una
instancia de producción. A continuación, puede migrar los datos de la instantánea de la nueva
instancia de base de datos al clúster de base de datos de Amazon Aurora para evitar las
interrupciones de servicio en la base de datos de producción.

Tipo de tabla Limitación o pauta

Tablas MyISAM Amazon Aurora solo admite tablas InnoDB. Si tiene tablas MyISAM
en la base de datos, deberá convertirlas antes de migrarlas a Amazon
Aurora. El proceso de conversión requiere más espacio para la
conversión de MyISAM a InnoDB durante el procedimiento de
migración.

Para reducir las posibilidades de quedarse sin espacio o de acelerar


el proceso de migración, convierta todas sus tablas MyISAM en tablas
InnoDB antes de migrarlas. El tamaño de la tabla InnoDB resultante
equivale al tamaño exigido por Amazon Aurora para dicha tabla. Para
convertir una tabla MyISAM en InnoDB, ejecute el siguiente comando:

alter table <schema>.<table_name> engine=innodb,


algorithm=copy;

Tablas comprimidas Amazon Aurora no admite tablas comprimidas (es decir, tablas creadas
con ROW_FORMAT=COMPRESSED).

Para reducir las posibilidades de quedarse sin espacio o para acelerar


el proceso de migración, amplíe las tablas comprimidas mediante
la configuración de ROW_FORMAT DEFAULT, COMPACT, DYNAMIC
o REDUNDANT. Para obtener más información, consulte https://
dev.mysql.com/doc/refman/5.6/en/innodb-row-format.html.

Puede utilizar el siguiente script SQL en su instancia de base de datos MySQL existente para obtener una
lista de las tablas MyISAM o comprimidas en su base de datos.

-- This script examines a MySQL database for conditions that will block
-- migrating the database into Amazon's Aurora DB.

Version 1/1/2016
122
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora
-- It needs to be run from an account that has read permission for the
-- INFORMATION_SCHEMA database.

-- Verify that this is a supported version of MySQL.

select msg as `==> Checking current version of MySQL.`


from
(
select
'This script should be run on MySQL version 5.6. ' +
'Earlier versions are not supported.' as msg,
cast(substring_index(version(), '.', 1) as unsigned) * 100 +
cast(substring_index(substring_index(version(), '.', 2), '.', -1)
as unsigned)
as major_minor
) as T
where major_minor <> 506;

-- List MyISAM and compressed tables. Include the table size.

select concat(TABLE_SCHEMA, '.', TABLE_NAME) as `==> MyISAM or Compressed Tables`,


round(((data_length + index_length) / 1024 / 1024), 2) "Approx size (MB)"
from INFORMATION_SCHEMA.TABLES
where
ENGINE <> 'InnoDB'
and
(
-- User tables
TABLE_SCHEMA not in ('mysql', 'performance_schema',
'information_schema')
or
-- Non-standard system tables
(
TABLE_SCHEMA = 'mysql' and TABLE_NAME not in
(
'columns_priv', 'db', 'event', 'func', 'general_log',
'help_category', 'help_keyword', 'help_relation',
'help_topic', 'host', 'ndb_binlog_index', 'plugin',
'proc', 'procs_priv', 'proxies_priv', 'servers', 'slow_log',
'tables_priv', 'time_zone', 'time_zone_leap_second',
'time_zone_name', 'time_zone_transition',
'time_zone_transition_type', 'user'
)
)
)
or
(
-- Compressed tables
ROW_FORMAT = 'Compressed'
);

El script obtiene un resultado similar al del siguiente ejemplo. El ejemplo muestra dos tablas que deben
convertirse de MyISAM a InnoDB. El resultado también incluye el tamaño aproximado de cada tabla en
megabytes (MB).

+---------------------------------+------------------+
| ==> MyISAM or Compressed Tables | Approx size (MB) |
+---------------------------------+------------------+
| test.name_table | 2102.25 |
| test.my_table | 65.25 |
+---------------------------------+------------------+
2 rows in set (0.01 sec)

Version 1/1/2016
123
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora
Migración de una instantánea de base de datos mediante la
consola
Puede migrar una instantánea de base de datos de una instancia de base de datos de Amazon RDS
MySQL para crear un clúster de base de datos de Aurora. El nuevo clúster de base de datos se rellenará
con los datos de la instancia de base de datos de Amazon RDS MySQL original. La instantánea de base
de datos debe haberse creado a partir de una instancia de base de datos de Amazon RDS que ejecute
MySQL 5.6 y no debe estar cifrada. Para obtener más información acerca de cómo crear una instantánea
de base de datos, consulte la documentación de Amazon RDS.

Si la instantánea de base de datos no se encuentra en la región de AWS en la que desea ubicar sus
datos, utilice la consola de Amazon RDS para copiar la instantánea de base de datos en dicha región.
Para obtener más información acerca de cómo copiar una instantánea de base de datos, consulte la
documentación de Amazon RDS.

Al migrar la instantánea de base de datos mediante la consola, esta realiza las acciones necesarias para
crear tanto el clúster de base de datos como la instancia principal.

También puede elegir que el nuevo clúster de base de datos de Aurora se cifre "en reposo" mediante una
clave de cifrado de AWS Key Management Service (AWS KMS). Esta opción solo está disponible para las
instantáneas de base de datos no cifradas.

Para migrar una instantánea de base de datos MySQL 5.6 mediante la consola

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en https://
console.aws.amazon.com/rds/.
2. Elija Snapshots.
3. En la página Snapshots, seleccione la instantánea que desea migrar a un clúster de base de datos de
Aurora.
4. Elija Migrate Database.

Version 1/1/2016
124
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora

5. En la página Migrate Database, defina los siguientes valores:

• DB Instance Class: seleccione una clase de instancia de base de datos que tenga el
almacenamiento y la capacidad necesarias para la base de datos, por ejemplo db.r3.large.
Los volúmenes de clúster de Aurora aumentarán automáticamente a medida que se incremente
la cantidad de datos en la base de datos, hasta un tamaño máximo de 64 terabytes (TB). Por lo
tanto, solo tiene que seleccionar una clase de instancia de base de datos que se adapte a sus
necesidades de almacenamiento actual.
• DB Instance Identifier: escriba un nombre para el clúster de base de datos que sea exclusivo para
su cuenta en la región que ha seleccionado. Este identificador se utiliza en las direcciones de punto
de enlace para las instancias del clúster de base de datos. Puede optar por añadir un nombre
inteligente, como incluir la región y el motor de base de datos que ha seleccionado, por ejemplo
aurora-cluster1.

El identificador de instancias de base de datos tiene las siguientes limitaciones:


• Tiene que contener de 1 a 63 caracteres alfanuméricos o guiones.
• Su primer carácter debe ser una letra.
• No puede terminar con un guion ni contener dos guiones consecutivos.
• Debe ser único para todas las instancias de base de datos por cada cuenta de AWS y por región
de AWS.
• VPC: si ya dispone de una VPC, puede utilizar dicha VPC con su clúster de base de datos de
Amazon Aurora seleccionando el identificador de la VPC, por ejemplo vpc-a464d1c1. Para
obtener más información sobre el uso de una VPC existente, consulte la documentación de Amazon
RDS.

De lo contrario, puede solicitar a Amazon RDS que cree una VPC seleccionando Create a new VPC.

Version 1/1/2016
125
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora
• Subnet Group: si dispone de un grupo de subredes, puede utilizar dicho grupo con su clúster de
base de datos de Amazon Aurora seleccionando el identificador del grupo de subredes, por ejemplo
gs-subnet-group1.

De lo contrario, puede solicitar a Amazon RDS que cree un grupo de subredes seleccionando
Create a new subnet group.
• Publicly Accessible: seleccione No para especificar que solo pueden acceder a las instancias de su
clúster de base de datos los recursos de dentro de su VPC. Seleccione Yes para especificar que los
recursos de la red pública pueden acceder a las instancias de su clúster de base de datos. El valor
predeterminado es Yes.
Note

No es necesario que su clúster de base de datos de producción esté en una subred


pública, ya que solo los servidores de su aplicación necesitarán acceso a su clúster de
base de datos. Si su clúster de base de datos no necesita estar en una subred pública, fije
el valor de Publicly Accessible en No.
• Availability Zone: seleccione la zona de disponibilidad para alojar la instancia principal para su
clúster de base de datos de Aurora. Para que Amazon RDS seleccione una zona de disponibilidad,
seleccione No Preference.
• Database Port: indique el puerto predeterminado que se utilizará al conectar a instancias en el
clúster de base de datos. El valor predeterminado es 3306.
Note

Es posible que se encuentren detrás de un cortafuegos de una compañía que no permite


acceder a puertos predeterminados, como el puerto MySQL 3306 predeterminado. En este
caso, proporcione un valor de puerto que admita el cortafuegos de la compañía. Recuerde
el valor del puerto para cuando se conecte más adelante al clúster de base de datos de
Aurora.
• Enable Encryption: seleccione Yes para que el nuevo clúster de base de datos de Aurora se cifre
"en reposo". Si selecciona Yes, deberá elegir una clave de cifrado de AWS KMS como valor para
Master Key.
• Auto Minor Version Upgrade: seleccione Yes si desea activar su clúster de base de datos de
Aurora para recibir actualizaciones de versión del motor de base de datos de MySQL menores
automáticamente cuando estén disponibles.

La opción Auto Minor Version Upgrade solo se aplica a las actualizaciones de versiones de motor
menores de MySQL para su clúster de base de datos de Amazon Aurora. No se aplica a los parches
periódicos que se utilizan para mantener la estabilidad del sistema.

Version 1/1/2016
126
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora

Version 1/1/2016
127
AWS Database Migration Service
Guía de la migración paso a paso
Migración de una instantánea de base
de datos de RDS MySQL a Aurora
6. Elija Migrate para migrar la instantánea de base de datos.
7. Elija Instances y, a continuación, seleccione el icono de flecha para mostrar la información detallada
del clúster de base de datos y supervisar el progreso de la migración. En la página de información
detallada, podrá encontrar el punto de enlace del clúster que se utiliza para conectar a la instancia
principal del clúster de base de datos. Para obtener más información sobre la conexión a un clúster de
base de datos de Amazon Aurora, consulte la documentación de Amazon RDS.

Version 1/1/2016
128
AWS Database Migration Service
Guía de la migración paso a paso

Historial de revisión

En la siguiente tabla, se describen los cambios importantes que se han realizado en la documentación
desde la última versión de la guía de la migración paso a paso de AWS Database Migration Service.

• Versión de la API: 20160101


• Última actualización de la documentación: 17 de noviembre de 2016

Cambio Descripción Fecha

Se añadió la guía de migración Se añadió la guía de migración 17 de noviembre de 2016


local de Oracle a Amazon Aurora de bases de datos locales de
Oracle a Amazon Aurora.

Version 1/1/2016
129

También podría gustarte