Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Migración de datos de Amazon DynamoDB a la tabla de Oracle NoSQL Database
Introducción
Amazon DynamoDB es un servicio de base de datos NoSQL totalmente gestionado que ofrece Amazon Web Services y que proporciona un almacenamiento de datos de documentos y clave-valor rápido y escalable.
Oracle NoSQL Database Cloud Service es un servicio de base de datos NoSQL totalmente gestionado que ofrece Oracle Corporation en Oracle Cloud Infrastructure. Proporciona almacenamiento de clave-valor y documentos JSON ampliable con rendimiento de baja latencia y ampliación automática para aplicaciones en la nube.
En este tutorial se describe cómo migrar datos de Amazon DynamoDB a Oracle NoSQL Database Cloud Service mediante la herramienta Oracle NoSQL Database Migrator.
El flujo de trabajo de migración utiliza la capacidad nativa de exportación a S3 de DynamoDB para extraer datos de tabla en formato JSON DynamoDB. A continuación, los datos exportados se importan a Oracle NoSQL Database Cloud Service que se ejecuta en Oracle Cloud Infrastructure (OCI).
Arquitectura
El flujo de trabajo de migración consta de los siguientes componentes:
- Amazon DynamoDB (base de datos de origen)
- Amazon S3 (almacenamiento de exportación)
- Instancia de OCI Compute (ejecuta el migrador de Oracle NoSQL Database)
- Oracle NoSQL Database Cloud Service (base de datos destino)

Proceso de migración de alto nivel
- Aprovisione las tablas DynamoDB y el cubo de Amazon S3.
- Active PITR en la tabla y exporte las tablas DynamoDB al cubo de Amazon S3.
- Aprovisionar instancia informática de OCI
- Instale y configure la herramienta Oracle NoSQL Database Migrator en Compute.
- Configure la autenticación de AWS y OCI en OCI Compute.
- Ejecute la migración del cubo de Amazon S3 a OCI NoSQL
- Valide los datos migrados en Oracle NoSQL Database.
Requisitos
Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos:
- Tiene una cuenta de AWS activa con permisos para gestionar DynamoDB y S3.
- Tiene un arrendamiento de OCI con permisos para,
- Crear compartimentos
- Crear instancias informáticas
- Crear tablas NoSQL de Oracle
- Tiene acceso SSH a una instancia informática de OCI.
Tarea 1: Aprovisionamiento de recursos de Amazon DynamoDB
En este tutorial, aprovisionaremos solo los recursos básicos necesarios en AWS, que son obligatorios para este ejercicio.
1. Crear usuario de IAM en AWS
Cree un usuario de IAM dedicado para gestionar las operaciones de DynamoDB.
a. Conexión a la consola de AWS
b. Vaya a IAM, Usuarios
c. Haga clic en Create User.
d. Asignar acceso mediante programación
- Asocie la política
AdministratorAccess(para fines de demostración)

e. Revise y haga clic en Create user.
⚠️ En entornos de producción, utilice políticas de IAM con el mínimo de privilegios.
2. Crear una tabla DynamoDB en AWS
a. Conéctese a la consola de AWS.
b. Vaya a DynamoDB.

c. Haga clic en Crear tabla.

d. Especifique:
- Nombre de tabla
- Clave de Partición
- Clave de ordenación opcional

e. Acepte la configuración predeterminada y cree la tabla.
f. Revisión de tablas creadas.

3. Agregue una nueva columna o inserte registros de muestra en la tabla DynamoDB.
a. Conéctese a la consola de AWS.
b. Seleccione la tabla
c. Haga clic en Acciones, Crear artículo.

d. Insertar registros de muestra

e. Validar registros

Tarea 2: Exportación de la tabla DynamoDB al cubo de Amazon S3
Utilice la capacidad native export-to-S3 de DynamoDB para extraer datos de tabla en formato JSON DynamoDB en el cubo S3.
1. Crear cubo de Amazon S3
a. Inicio de sesión en la consola de AWS
b. Vaya a S3.
c. Crear nuevo bucket

d. Mantener configuración predeterminada
e. Validar cubo

2. Activar recuperación point-in-time (PITR)
La exportación DynamoDB requiere una recuperación point-in-time. PITR debe estar activado en el nivel de tabla antes de exportarlo.
a. Seleccionar Tabla
b. Activar recuperación puntual

c. Después de activar PITR.

3. Exportar datos de tabla a cubo S3.
a. Conéctese a la consola de AWS.
b. Seleccionar Tabla
c. Haga clic en Exportar a S3.
d. Seleccione:
- Exportación completa
- Formato JSON DynamoDB
- Cifrado (por defecto)
e. Haga clic en Exportar


4. Verificar datos exportados
Después de la compleción:

S3://bucket-name/AWSDynamoDB/ExportID/data/
Contiene:
- Archivos JSON comprimidos con GZIP
- Formato JSON DynamoDB

Tarea 3: Preparación del entorno de Oracle Cloud Infrastructure
1. Creación de un compartimento
a. Conectarse a la consola de OCI.
b. Vaya a Identity & Security, Compartments.
c. Cree un nuevo compartimento para la tabla NoSQL de Oracle.
2. Creación de una Instancia de Compute
a. Vaya a Recursos informáticos, instancias.
b. Haga clic en Create instance.
c. Seleccione:
- Forma:
VM.Standard.E4.Flex(o equivalente) - Sistema operativo: Oracle Linux 9 d. Creación de la instancia.
Esta instancia informática ejecuta el migrador de Oracle NoSQL Database.
3. Instalación de Oracle NoSQL Database Migrator
Oracle NoSQL Migrator lee archivos de exportación DynamoDB de Amazon S3 e importa datos a la base de datos NoSQL de Oracle de OCI. Instalaremos la herramienta NoSQL Migrator de Oracle en uno de los recursos informáticos de OCI creados anteriormente.
a. Instalar Java 11
Oracle NoSQL Database Migrator necesita que Java se ejecute en los recursos informáticos.
- Conéctese como usuario opc a la instancia informática recién creada e instale Java 11 de la siguiente manera:
sudo yum install java-11
b. Extraer paquete de migrador
- Descargue Oracle NoSQL Database Migrator 1.8.0. Utilice SCP para cargar el archivo ZIP del migrador de Oracle NoSQL Database en el directorio raíz del usuario de opc en la nueva instancia informática.
- Descomprima el software Oracle NoSQL Database Migrator descargado. El migrador no requiere ninguna instalación, simplemente descomprímalo.
tar -zxvf V1053574-01.tar.gz
cd nosql-migrator-1.8.0/
Verificar instalación:
[opc@nosql-migrator-1.8.0]\$ ls -ltr
total 332
-rw-r--r--. 1 opc opc 822 Nov 13 07:26 sdk_logging.properties
-rw-r--r--. 1 opc opc 1720 Nov 13 07:26 README.md
-rw-r--r--. 1 opc opc 897 Nov 13 07:26 log4j2.xml
-rw-r--r--. 1 opc opc 1870 Nov 13 07:26 LICENSE.txt
-rw-r--r--. 1 opc opc 488 Dec 2 07:11 Dockerfile
-rw-r--r--. 1 opc opc 234275 Dec 23 08:38 THIRD_PARTY_LICENSES.txt
-rwxr-xr-x. 1 opc opc 73063 Dec 23 08:38 runMigrator
-rw-r--r--. 1 opc opc 4640 Dec 23 08:38 CHANGELOG.md
drwxr-xr-x. 2 opc opc 124 Feb 6 02:50 lib
Tarea 4: Configuración del acceso seguro (OCI y AWS)
Para utilizar Oracle NoSQL Migrator, se debe configurar una autenticación entre nubes segura para permitir que la instancia informática acceda a los recursos de Amazon S3 y Oracle Cloud Infrastructure (OCI).
1. Crear clave de API de OCI
En la consola de OCI, cree una clave de API para el usuario de OCI que será el propietario de la tabla de destino de Oracle NoSQL Database Cloud Service. Este usuario debe tener permisos para crear y gestionar la tabla de Oracle NoSQL Database Cloud Service.
a. En la consola de OCI, abra Perfil, claves de API.
b. Agregue una clave de API nueva.

c. Descargue la clave privada.
d. Registro:
- OCID de usuario
- OCID de arrendamiento
- Huella
- Identificador de región

2. Crear archivo de configuración de OCI
a. Utilice SSH para conectarse como usuario de opc a la instancia informática creada anteriormente.
b. Cree todo el archivo de identidad de OCI en /home/opc/.oci directory.
Clave privada:
c. Copie la clave privada en Compute como /home/opc/.oci/ociuser.pem.
/home/opc/.oci/ociuser.pem
Archivo de configuración:
\$vi /home/opc/.oci/config
Por ejemplo:
[DEFAULT]
user=ocid1.user.oc1...
fingerprint=xx:xx:xx
tenancy=ocid1.tenancy.oc1...
region=ap-hyderabad-1
key_file=/home/opc/.oci/ociuser.pem
3. Crear claves de acceso de AWS
En la consola de AWS, cree una clave de acceso (si aún no existe) para el usuario que accederá al almacenamiento de objetos de Amazon S3 donde se exportan los datos de Amazon DynamoDB.
a. Conéctese a la consola de AWS.
b. Vaya a IAM, Usuario, Credenciales de seguridad
c. Crear clave de acceso
Caso de uso: aplicación que se ejecuta fuera de AWS.

4. Configurar credenciales de AWS
Cree los siguientes archivos en la instancia informática:
/home/opc/.aws/config
/home/opc/.aws/credentials
Ejemplo de configuración:
[default]
region=<aws_region>
Credenciales de ejemplo:
[default]
aws_access_key_id=<access_key>
aws_secret_access_key=<secret_key>
Tarea 5: Configurar y ejecutar el migrador NoSQL de Oracle
El migrador necesita un archivo de configuración JSON que describa:
- Fuente (S3)
- Fregadero (OCI NoSQL)
- Esquema de tabla
- Credenciales
1. Crear archivo de configuración de migración
Cree un archivo JSON de configuración de migración que incluya información sobre el origen y el destino (sink). En la nota DDBPartitionKey y DDBSortKey del cuadro DynamoDB.
Crear:
/home/opc/.oci/migrator-config-dynamodb-bucket_to_OCI.json
Ejemplo de configuración:
{
"source": {
"type": "aws_s3",
"format": "dynamodb_json",
"s3URL": "https://bucket-name.s3.region.amazonaws.com/AWSDynamoDB/ExportID/data",
"credentials": "/home/opc/.aws/credentials",
"credentialsProfile": "default"
},
"sink": {
"type": "nosqldb_cloud",
"endpoint": "<oci_region>",
"table": "Emp_records",
"schemaInfo": {
"defaultSchema": true,
"DDBPartitionKey": "PartitionKey:string",
"DDBSortKey": "SortKey:Number",
"readUnits": 10,
"writeUnits": 10,
"storageSize": 1
},
"compartment": "<compartment_ocid>",
"credentials": "/home/opc/.oci/config",
"credentialsProfile": "DEFAULT",
"overwrite": true
},
"abortOnError": false,
"migratorVersion": "1.8.0"
}
Descripción del Modo de Esquema por Defecto
Cuando defaultSchema: true:
Oracle NoSQL crea una tabla con:
- Clave de Partición
- Clave de ordenación opcional
- Columna JSON
document
Todos los atributos DynamoDB no de clave se almacenan dentro de document.
2. Ejecutar migración
En la instancia informática, cambie el directorio al subdirectorio nosql-migrator-1.8.0
\$cd /home/opc/nosql-migrator-1.8.0
\$./runMigrator --config /home/opc/.oci/migrator-config-dynamodb-bucket_to_OCI.json
Después de la ejecución correcta, la salida muestra el número de registros procesados.
Log de migración correcto:
[opc@.nosql-migrator-1.8.0]\$ ./runMigrator --config /home/opc/.oci/migrator-config-dynamodb-bucket_custom-schema.json
2026-02-11 13:32:35.279 [INFO] Configuration for migration:
{
"source" : {
"type" : "aws_s3",
"format" : "dynamodb_json",
"s3URL" : "https://dbmigbucket2oci.s3.ap-southeast-2.amazonaws.com/AWSDynamoDB/01770816089608-60282a9b/data",
"credentials" : "/home/opc/.aws/credentials",
"credentialsProfile" : "default"
},
"sink" : {
"type" : "nosqldb_cloud",
"endpoint" : "ap-hyderabad-1",
"table" : "Emp_records",
"schemaInfo" : {
"defaultSchema" : true,
"DDBPartitionKey" : "On_roll:string",
"DDBSortKey" : "EmpID:Number",
"readUnits" : 5,
"writeUnits" : 50,
"storageSize" : 5
},
"compartment" : "ocid1.compartment.oc1..aaaaaaaazliaxu2oqqcp3x6574nxkegv6lxbvh5lildyztb4fizbk2tqv2ia",
"includeTTL" : false,
"credentials" : "/home/opc/.oci/hyd_config",
"credentialsProfile" : "DEFAULT",
"writeUnitsPercent" : 90,
"overwrite" : true,
"requestTimeoutMs" : 5000
},
"abortOnError" : false,
"migratorVersion" : "1.8.0"
}
2026-02-11 13:32:35.283 [INFO] creating source from given configuration:
2026-02-11 13:32:37.061 [INFO] source creation completed
2026-02-11 13:32:37.061 [INFO] creating sink from given configuration:
2026-02-11 13:32:38.253 [INFO] sink creation completed
2026-02-11 13:32:38.255 [INFO] creating migrator pipeline
2026-02-11 13:32:38.255 [INFO] [cloud sink] : start loading DDLs
2026-02-11 13:32:38.256 [INFO] [cloud sink] : executing DDL: CREATE TABLE IF NOT EXISTS Emp_records (On_roll string,EmpID Number,document JSON, PRIMARY KEY(SHARD(On_roll),EmpID)),limits: [5, 50, 5]
2026-02-11 13:32:38.763 [INFO] [cloud sink] : completed loading DDLs
2026-02-11 13:32:39.426 [INFO] migration started
2026-02-11 13:32:39.635 [INFO] [DDB S3 source] : start parsing JSON records from object: AWSDynamoDB/01770816089608-60282a9b/data/kaqjylfjsm4dzaf52u2e6qstia.json.gz
2026-02-11 13:32:40.373 [INFO] Migration success for source kaqjylfjsm4dzaf52u2e6qstia. read=2,written=2,failed=0
2026-02-11 13:32:40.373 [INFO] [DDB S3 source] : start parsing JSON records from object: AWSDynamoDB/01770816089608-60282a9b/data/phz6b5k7mmytpcrqe72pfnj3zu.json.gz
2026-02-11 13:32:40.606 [INFO] Migration success for source phz6b5k7mmytpcrqe72pfnj3zu. read=0,written=0,failed=0
2026-02-11 13:32:40.606 [INFO] [DDB S3 source] : start parsing JSON records from object: AWSDynamoDB/01770816089608-60282a9b/data/rtm6rzjciq6jhds3dcp4pcro5u.json.gz
2026-02-11 13:32:40.839 [INFO] Migration success for source rtm6rzjciq6jhds3dcp4pcro5u. read=0,written=0,failed=0
2026-02-11 13:32:40.839 [INFO] [DDB S3 source] : start parsing JSON records from object: AWSDynamoDB/01770816089608-60282a9b/data/vrukpcnd6e3kddjg4qite4upzi.json.gz
2026-02-11 13:32:41.304 [INFO] Migration success for source vrukpcnd6e3kddjg4qite4upzi. read=1,written=1,failed=0
2026-02-11 13:32:41.304 [INFO] Migration is successful for all the sources.
2026-02-11 13:32:41.306 [INFO] migration completed.
Records provided by source=3, Records written to sink=3, Records failed=0,Records skipped=0.
Elapsed time: 0min 1sec 878ms
Migration completed.
Tarea 6: Validar migración
Después de una ejecución correcta de Data Migrator, todos los registros de tabla insertados en DynamoDB deben estar visibles en Oracle NoSQL.
a. Abra la consola de OCI.
b. Vaya a Base de datos, Oracle NoSQL Database, Tablas.

c. Seleccione el compartimento adecuado.
d. Abra la tabla migrada.

e. Verifique los registros.
- Seleccione Table y haga clic en Explore data.
- Haga clic en Execute.

Consideraciones y mejores prácticas de migración
Planificación de Capacidad
- Configuración de unidades de lectura/escritura adecuadas
- Ajuste
writeUnitsPercentcuidadosamente
Seguridad
- Usar IAM de privilegio mínimo
- Rotar claves de API
- Evite almacenar credenciales en texto sin formato
Tablas grandes
Para exportaciones de varios terabytes:
- Supervisar tamaño de exportación S3
- Aumentar las unidades de escritura en OCI
- Considere la posibilidad de lotes de exportaciones
Gestión de TTL
Si se necesita DynamoDB TTL, active:
"includeTTL": true
Migración de varias tablas
Automatice las exportaciones con secuencias de comandos de la CLI de AWS si migra varias tablas.
Conclusión
En este tutorial se ha demostrado un flujo de trabajo completo de migración de Amazon DynamoDB a Oracle NoSQL Database Cloud Service con capacidades de exportación nativas y Oracle NoSQL Database Migrator.
Este enfoque permite:
- Portabilidad en la nube
- Iniciativas de modernización
- Arquitectura multinube
- Optimización del costo
- Integración con el ecosistema OCI
Con una planificación adecuada, una configuración segura y un ajuste de capacidad, las organizaciones pueden lograr una migración de datos NoSQL sin problemas en todas las plataformas en la nube.
Solución de problemas
- Asegúrese de que PITR esté activado antes de la exportación.
- Verifique las credenciales de AWS si falla el acceso a S3.
- Confirme el OCID de compartimento y región de OCI correctos.
- Aumente las unidades de escritura si el rendimiento de migración es lento.
- Revise los logs del migrador para obtener mensajes de error detallados.
Limpiar recursos
Después de completar este tutorial, considere la posibilidad de eliminar los siguientes recursos para evitar cargos innecesarios:
- Suprimir la tabla DynamoDB.
- Suprima el cubo de Amazon S3 y los archivos exportados.
- Terminar la instancia informática de OCI.
- Suprima la tabla NoSQL de Oracle (si ya no es necesaria).
- Elimine los usuarios de IAM y las claves de API no utilizados.
Enlaces relacionados
Acuses de recibo
Autor: Dharmesh Patel (arquitecto principal de la nube, Customer Success Services)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Migrate Data from Amazon DynamoDB to Oracle NoSQL Database Cloud Service
G53041-01