Remarques :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Migrer des données d'Amazon DynamoDB vers la table Oracle NoSQL Database
Introduction
Amazon DynamoDB est un service de base de données NoSQL entièrement géré proposé par Amazon Web Services qui fournit un stockage de données clé-valeur et de documents rapide et évolutif.
Oracle NoSQL Database Cloud Service est un service de base de données NoSQL entièrement géré proposé par Oracle Corporation sur Oracle Cloud Infrastructure. Il fournit un stockage de documents JSON et clé-valeur évolutif avec des performances à faible latence et un redimensionnement automatique pour les applications cloud natives.
Ce tutoriel explique comment migrer des données d'Amazon DynamoDB vers Oracle NoSQL Database Cloud Service à l'aide de l'outil Oracle NoSQL Database Migrator.
Le workflow de migration utilise la fonctionnalité native export-to-S3 de DynamoDB pour extraire les données de table au format JSON DynamoDB. Les données exportées sont ensuite importées dans Oracle NoSQL Database Cloud Service exécuté dans Oracle Cloud Infrastructure (OCI).
Architecture
Le workflow de migration se compose des composants suivants :
- Amazon DynamoDB (base de données source)
- Amazon S3 (stockage d'exportation)
- Instance OCI Compute (exécute Oracle NoSQL Database Migrator)
- Oracle NoSQL Database Cloud Service (base de données cible)

Processus de migration de haut niveau
- Provisionner les tables DynamoDB et le bucket Amazon S3.
- Activez PITR dans la table et exportez les tables DynamoDB vers le bucket Amazon S3.
- Provisionner une instance de calcul OCI
- Installez et configurez l'outil Oracle NoSQL Database Migrator sur Compute.
- Configurez l'authentification AWS et OCI sur OCI Compute.
- Exécuter la migration du bucket Amazon S3 vers OCI NoSQL
- Valider les données migrées dans Oracle NoSQL Database.
Prérequis
Avant de commencer, vérifiez les points suivants :
- Vous disposez d'un compte AWS actif avec les droits d'accès permettant de gérer DynamoDB et S3.
- Vous disposez d'une location OCI avec des droits d'accès pour :
- Créer des compartiments
- Créer des instances de calcul
- Créer des tables Oracle NoSQL
- Vous disposez d'un accès SSH à une instance de calcul OCI.
Tâche 1 : provisionnement des ressources Amazon DynamoDB
Dans ce tutoriel, nous allons provisionner uniquement les ressources de base requises dans AWS, qui sont obligatoires pour cet exercice.
1. Création d'un utilisateur IAM dans AWS
Créez un utilisateur IAM dédié pour gérer les opérations DynamoDB.
a. Connexion à AWS Console
b. Accédez à IAM, Utilisateurs
c. Cliquez sur Create User (Créer un utilisateur).
d. Affecter un accès par programmation
- Attachez la stratégie
AdministratorAccess(à des fins de démonstration)

e. Vérifiez et cliquez sur Create user.
⚠️ Dans les environnements de production, utilisez des stratégies IAM avec le moins de privilèges possible.
2. Créer une table DynamoDB dans AWS
a. Connectez-vous à la console AWS.
b. Accédez à DynamoDB.

c. Cliquez sur Créer une table.

d. Indiquez les éléments suivants :
- Nom de la table
- Clé de partitionnement
- Clé de tri facultative

e. Acceptez les paramètres par défaut et créez la table.
f. Consulter les tables créées.

3. Ajoutez une nouvelle colonne ou insérez des exemples d'enregistrements dans la table DynamoDB.
a. Connectez-vous à la console AWS.
b. Sélectionnez la table
c. Cliquez sur Actions, Créer un élément.

d. Insérer des exemples d'enregistrements

e. Valider les enregistrements

Tâche 2 : exporter la table DynamoDB vers le bucket Amazon S3
Utilisez la fonction export natif vers S3 de DynamoDB pour extraire les données de table au format JSON DynamoDB vers le bucket S3.
1. Créer un bucket Amazon S3
a. Se connecter à la console AWS
b. Accédez à S3
c. Créer un bucket

d. Conserver les paramètres par défaut
e. Valider le regroupement

2. Activer la récupération jusqu'à un point dans le temps
L'export DynamoDB requiert une récupération jusqu'à un point dans le temps. La récupération jusqu'à un point dans le temps doit être activée au niveau de la table avant d'être exportée.
a. Sélectionner un tableau
b. Activer la récupération à un moment donné

c. Après activation de PITR.

3. Exportez les données de table vers le bucket S3.
a. Connectez-vous à la console AWS.
b. Sélectionner un tableau
c. Cliquez sur Exporter vers S3.
d. Choisissez l'une des options suivantes :
- Exportation complète
- Format JSON DynamoDB
- Chiffrement (par défaut)
e. Cliquez sur Exporter


4. Vérifier les données exportées
Après l'achèvement :

S3://bucket-name/AWSDynamoDB/ExportID/data/
Contient :
- Fichiers JSON compressés par GZIP
- Format JSON DynamoDB

Tâche 3 : préparation de l'environnement Oracle Cloud Infrastructure
1. Création d'un compartiment
a. Se connecter à la console OCI.
b. Accédez à Identité et sécurité, Compartiments.
c. Créez un compartiment pour la table Oracle NoSQL.
2. Création d'une instance Compute
a. Accédez à Compute , Instances.
b. Cliquez sur Create instance (Créer une instance).
c. Sélectionnez :
- Forme :
VM.Standard.E4.Flex(ou équivalent) - Système d'exploitation : Oracle Linux 9 d. Créez l'instance.
Cette instance de calcul exécute le programme de migration Oracle NoSQL Database.
3. Installer Oracle NoSQL Database Migrator
Oracle NoSQL Migrator lit les fichiers d'export DynamoDB à partir d'Amazon S3 et importe les données vers la base de données OCI Oracle NoSQL. Nous allons installer l'outil de migration Oracle NoSQL sur l'un des calculs OCI créés ci-dessus.
a. installation de Java 11
Oracle NoSQL Database Migrator exige que Java soit exécuté sur le calcul.
- Connectez-vous en tant qu'utilisateur opc à la nouvelle instance de calcul et installez Java 11 comme suit :
sudo yum install java-11
b. package de migration d'extraction
- Téléchargez Oracle NoSQL Database Migrator 1.8.0. Utilisez SCP pour télécharger le fichier ZIP de migration Oracle NoSQL Database vers le répertoire personnel de l'utilisateur opc sur la nouvelle instance de calcul.
- Décompressez le logiciel Oracle NoSQL Database Migrator téléchargé. Le migrateur ne nécessite aucune installation, il suffit de le décompresser.
tar -zxvf V1053574-01.tar.gz
cd nosql-migrator-1.8.0/
Vérifiez l'installation :
[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
Tâche 4 : configurer l'accès sécurisé (OCI et AWS)
Pour utiliser Oracle NoSQL Migrator, l'authentification inter-cloud sécurisée doit être configurée pour permettre à l'instance Compute d'accéder aux ressources Amazon S3 et Oracle Cloud Infrastructure (OCI).
1. Créer une clé d'API OCI
Dans la console OCI, créez une clé d'API pour l'utilisateur OCI qui sera propriétaire de la table Oracle NoSQL Database Cloud Service cible. Cet utilisateur doit disposer des droits d'accès nécessaires pour créer et gérer la table Oracle NoSQL Database Cloud Service.
a. Dans la console OCI, ouvrez Profil, clés d'API.
b. Ajouter une nouvelle clé d'API.

c. Téléchargez la clé privée.
d. Enregistrement :
- OCID utilisateur
- OCID de location
- Empreinte
- Identificateur de la région

2. Créer un fichier de configuration OCI
a. Utilisez SSH pour vous connecter en tant qu'utilisateur opc à l'instance de calcul créée précédemment.
b. Créez tous les fichiers d'identité OCI sous /home/opc/.oci directory.
Clé privée:
c. Copiez la clé privée sur Compute en tant que /home/opc/.oci/ociuser.pem.
/home/opc/.oci/ociuser.pem
Fichier de configuration:
\$vi /home/opc/.oci/config
Par exemple :
[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. Créer des clés d'accès AWS
Dans la console AWS, créez une clé d'accès (si elle n'existe pas déjà) pour l'utilisateur qui accèdera au stockage d'objets Amazon S3 où les données Amazon DynamoDB sont exportées.
a. Connectez-vous à la console AWS.
b. Accédez à IAM, utilisateur, informations d'identification de sécurité
c. Créer une clé d'accès
Cas d'utilisation : application exécutée en dehors d'AWS.

4. Configurer les informations d'identification AWS
Créez les fichiers suivants sur l'instance de calcul :
/home/opc/.aws/config
/home/opc/.aws/credentials
Exemple de configuration :
[default]
region=<aws_region>
Exemples d'informations d'identification :
[default]
aws_access_key_id=<access_key>
aws_secret_access_key=<secret_key>
Tâche 5 : configurer et exécuter Oracle NoSQL Migrator
Le migrateur requiert un fichier de configuration JSON décrivant :
- Source (S3)
- Évier (OCI NoSQL)
- Schéma de table
- Informations d'identification
1. Créer un fichier de configuration de migration
Créez un fichier JSON de configuration de migration qui inclut des informations sur la source et la cible (récepteur). Sous la note d'évier DDBPartitionKey et DDBSortKey de la table DynamoDB.
Créer:
/home/opc/.oci/migrator-config-dynamodb-bucket_to_OCI.json
Exemple de configuration :
{
"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"
}
Présentation du mode de schéma par défaut
Lorsque defaultSchema: true :
Oracle NoSQL crée une table avec :
- Clé de partitionnement
- Clé de tri facultative
- Colonne JSON
document
Tous les attributs DynamoDB non clés sont stockés dans document.
2. Exécuter la migration
Dans l'instance de calcul, accédez au sous-répertoire 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
Une fois l'exécution réussie, la sortie affiche le nombre d'enregistrements traités.
Journal de migration réussi :
[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.
Tâche 6 : valider la migration
Après une exécution réussie de Data Migrator, tous les enregistrements de table insérés dans DynamoDB doivent être visibles dans Oracle NoSQL.
a. Ouvrez la console oracle.
b. Accédez à Database, Oracle NoSQL Database, Tables.

c. Sélectionnez le compartiment approprié.
d. Ouvrez la table migrée.

e. Vérifiez les enregistrements.
- Sélectionnez Table et cliquez sur Explore data.
- Cliquez sur Exécuter.

Remarques concernant la migration et meilleures pratiques
Planification de capacité
- Configuration des unités de lecture/écriture appropriées
- Ajustez soigneusement
writeUnitsPercent
Sécurité (Security)
- Utiliser IAM avec le moindre privilège
- Rotation des clés d'API
- Evitez de stocker des informations d'identification en texte brut
Tables volumineuses
Pour les exportations de plusieurs téraoctets :
- Surveiller la taille d'export S3
- Augmentation des unités d'écriture dans OCI
- Envisager les exportations par lots
Gestion de la durée de vie
Si la durée de vie DynamoDB est requise, activez :
"includeTTL": true
Migration sur plusieurs tables
Automatisez les exportations à l'aide du script AWS CLI en cas de migration de plusieurs tables.
Conclusion
Ce tutoriel a présenté un workflow de migration de bout en bout d'Amazon DynamoDB vers Oracle NoSQL Database Cloud Service en utilisant des fonctionnalités d'export natives et Oracle NoSQL Database Migrator.
Cette approche permet :
- Portabilité du cloud
- Initiatives de modernisation
- Architecture multicloud
- Optimisation du coût
- Intégration avec l'écosystème OCI
Grâce à une planification, une configuration et un réglage appropriés des capacités, les entreprises peuvent effectuer une migration transparente des données NoSQL sur les plates-formes cloud.
Dépannage
- Assurez-vous que PITR est activé avant l'exportation.
- Vérifiez les informations d'identification AWS en cas d'échec de l'accès S3.
- Vérifiez que la région OCI et l'OCID de compartiment sont corrects.
- Augmentez les unités d'écriture si le débit de migration est lent.
- Consultez les journaux du migrateur pour obtenir des messages d'erreur détaillés.
Nettoyer les ressources
Après avoir terminé ce tutoriel, envisagez de supprimer les ressources suivantes pour éviter les frais inutiles :
- Supprimez la table DynamoDB.
- Supprimez le bucket Amazon S3 et les fichiers exportés.
- Mettez fin à l'instance de calcul OCI.
- Supprimez la table NoSQL Oracle (si nécessaire).
- Enlevez les clés d'API et les utilisateurs IAM non utilisés.
Liens connexes
Accusés de réception
Auteur - Dharmesh Patel (architecte cloud principal, Customer Success Services)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.
Migrate Data from Amazon DynamoDB to Oracle NoSQL Database Cloud Service
G53043-01