Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Démarrer avec le niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments d'Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles qui sont propres à votre environnement en nuage.
Migrer des données d'Amazon DynamoDB vers une table Oracle NoSQL Database
Présentation
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 document rapide et évolutif.
Oracle NoSQL Database Cloud Service est un service de base de données NoSQL entièrement géré offert par Oracle Corporation sur Oracle Cloud Infrastructure. Il fournit une valeur clé évolutive et un stockage de documents JSON avec une performance à faible latence et une mise à l'échelle automatique pour les applications en nuage natives.
Ce tutoriel explique comment migrer des données d'Amazon DynamoDB vers Oracle NoSQL Database Cloud Service à l'aide de l'outil Migrateur Oracle NoSQL Database.
Le flux de travail 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 s'exécutant dans Oracle Cloud Infrastructure (OCI).
Architecture
Le flux de travail de migration comprend les composants suivants :
- Amazon DynamoDB (base de données source)
- Amazon S3 (stockage d'exportation)
- Instance de calcul OCI (exécute Oracle NoSQL Database Migrator)
- Oracle NoSQL Database Cloud Service (base de données cible)

Processus de migration de haut niveau
- Provisionnez les tables DynamoDB et le seau Amazon S3.
- Activez PITR dans la table et exportez les tables DynamoDB vers le seau Amazon S3.
- Provisionner l'instance de calcul OCI
- Installer et configurer l'outil Oracle NoSQL Database Migrator sur le service de calcul.
- Configurer l'authentification AWS et OCI sur le calcul OCI.
- Exécuter la migration du seau Amazon S3 vers OCI NoSQL
- Valider les données migrées dans Oracle NoSQL Database.
Conditions requises
Avant de commencer, vérifiez que :
- Vous avez un compte AWS actif avec les autorisations pour gérer DynamoDB et S3.
- Vous disposez d'une location OCI autorisée à :
- Créer des compartiments
- Créer des instances de calcul
- Créer des tables Oracle NoSQL
- Vous avez un accès SSH à une instance de calcul OCI.
Tâche 1 : Provisionner les ressources Amazon DynamoDB
Dans le cadre de ce tutoriel, nous provisionnerons uniquement les ressources de base requises dans AWS, qui sont obligatoires pour cet exercice.
1. Créer un utilisateur IAM dans AWS
Créez un utilisateur IAM dédié pour gérer les opérations DynamoDB.
a. Se connecter à AWS Console
b. Naviguez jusqu'à IAM, Utilisateurs
c. Cliquez sur Créer un utilisateur
j. Affecter l'accès par programmation
- Joindre la politique
AdministratorAccess(à des fins de démonstration)

e. Vérifiez et cliquez sur Create user.
⚠️ Dans les environnements de production, utilisez des politiques IAM avec privilège minimal.
2. Créer une table DynamoDB dans AWS
a. Connectez-vous à la console AWS.
b. Naviguez jusqu'à DynamoDB.

c. Cliquez sur Créer une table.

j. Spécifier :
- 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. consultation des tables créées;

3. Ajoutez une nouvelle colonne ou insérez des enregistrements-échantillons dans la table DynamoDB.
a. Connectez-vous à la console AWS.
b. Sélectionner la table
c. Cliquez sur Actions, Créer un article.

j. Insérer des exemples d'enregistrements

e. Valider les enregistrements

Tâche 2 : Exporter la table DynamoDB vers le seau Amazon S3
Utilisez la capacité native export-to-S3 de DynamoDB pour extraire les données de table au format JSON DynamoDB vers le seau S3.
1. Créer un seau Amazon S3
a. Connectez-vous à la console AWS
b. Naviguez jusqu'à S3
c. Créer un nouveau seau

j. Conserver les paramètres par défaut
e. Valider l'intervalle

2. Activer la récupération jusqu'à un point dans le temps (PITR)
L'exportation DynamoDB nécessite une récupération jusqu'à un point dans le temps. La récupération après sinistre doit être activée au niveau de la table avant de l'exporter.
a. Sélectionner une table
b. Activer la récupération en un point dans le temps

c. Après avoir activé PITR.

3. Exporter les données de table vers le seau S3.
a. Connectez-vous à la console AWS.
b. Sélectionner une table
c. Cliquez sur Exporter vers S3
j. Sélectionner :
- 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 GZIP
- Format JSON DynamoDB

Tâche 3 : Préparer l'environnement Oracle Cloud Infrastructure
1. Créer un compartiment
a. Connectez-vous à la console OCI.
b. Naviguez jusqu'à Identité et sécurité, compartiments.
c. Créez un nouveau compartiment pour la table Oracle NoSQL.
2. Créer une instance de calcul
a. Naviguez jusqu'à Calcul, Instances.
b. Cliquez sur 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 migrateur Oracle NoSQL Database.
3. Installer Oracle NoSQL Database Migrator
Oracle NoSQL Migrator lit les fichiers d'exportation DynamoDB à partir d'Amazon S3 et importe des données dans la base de données Oracle NoSQL pour OCI. Nous installerons l'outil de migration Oracle NoSQL sur l'une des instances de calcul OCI créées ci-dessus.
a. Installer Java 11
Oracle NoSQL Database Migrator nécessite l'exécution de Java 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. Ensemble Extract Migrator
- Téléchargez Oracle NoSQL Database Migrator 1.8.0. Utilisez SCP pour charger le fichier ZIP du migrateur d'Oracle NoSQL Database dans le répertoire de base de l'utilisateur opc sur la nouvelle instance de calcul.
- Décompressez le logiciel Oracle NoSQL Database Migrator téléchargé. Migrator ne nécessite aucune installation, supprimez-la simplement.
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, une authentification internuage sécurisée doit être configurée pour permettre à l'instance de calcul d'accéder à la fois 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 responsable de la table Oracle NoSQL Database Cloud Service cible. Cet utilisateur doit être autorisé à 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.
j. Record :
- OCID de l'utilisateur
- OCID de la location
- Empreinte numérique
- 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.
Private Key (Clé privée) :
c. Copiez la clé privée sur le service de calcul en tant que /home/opc/.oci/ociuser.pem.
/home/opc/.oci/ociuser.pem
Fichier de configuration :
\$vi /home/opc/.oci/config
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 DynamoDB Amazon sont exportées.
a. Connectez-vous à la console AWS.
b. Allez à IAM, Utilisateur, Données 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 données 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 de données 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
Migrator nécessite un fichier de configuration JSON décrivant :
- Source (S3)
- Évier (OCI NoSQL)
- Schéma de table
- Données 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 (le dissipateur). Sous la note DDBPartitionKey et DDBSortKey du tableau 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 partition
- 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 OCI.
b. Naviguez jusqu'à Base de données, Oracle NoSQL Database, Tables.

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

e. Vérifiez les enregistrements.
- Sélectionnez Table et cliquez sur Explorer les données.
- Cliquez sur Exécuter.

Considérations relatives à la migration et meilleures pratiques
Planification de la capacité
- Configurer les unités de lecture/écriture appropriées
- Ajustez soigneusement
writeUnitsPercent
Sécurité
- Utiliser IAM avec le privilège minimal
- Effectuer la rotation des clés d'API
- Évitez de stocker les données d'identification en texte brut
Tables volumineuses
Pour les exportations de plusieurs téraoctets :
- Surveiller la taille d'exportation S3
- Augmenter les unités d'écriture dans OCI
- Envisager les exportations par lots
Traitement de la durée de vie
Si la durée de vie DynamoDB est requise, activez :
"includeTTL": true
Migration de 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 flux de travail de migration de bout en bout d'Amazon DynamoDB vers Oracle NoSQL Database Cloud Service à l'aide de fonctionnalités d'exportation natives et d'Oracle NoSQL Database Migrator.
Cette approche permet :
- Portabilité du nuage
- Initiatives de modernisation
- Architecture multinuage
- Optimisation des coûts
- Intégration à l'écosystème OCI
Avec une planification appropriée, une configuration sécurisée et un réglage de la capacité, les organisations peuvent migrer les données NoSQL de façon transparente sur toutes les plateformes en nuage.
Dépannage
- Assurez-vous que PITR est activé avant l'exportation.
- Vérifiez les données d'identification AWS en cas d'échec de l'accès S3.
- Confirmez l'OCID correct de la région OCI et du compartiment.
- Augmentez les unités d'écriture si le débit de migration est lent.
- Consultez les journaux de migration 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 seau Amazon S3 et les fichiers exportés.
- Mettez fin à l'instance de calcul OCI.
- Supprimer la table Oracle NoSQL (si nécessaire).
- Supprimer les utilisateurs IAM et les clés d'API inutilisés.
Liens connexes
- Documentation sur Amazon DynamoDB
- Documentation sur OCI NoSQL
- Guide de l'outil de migration d'Oracle NoSQL Database
Remerciements
Auteur - Dharmesh Patel (architecte en nuage principal, services succès client)
Ressources d'apprentissage supplémentaires
Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation sur le produit, visitez Oracle Help Center.
Migrate Data from Amazon DynamoDB to Oracle NoSQL Database Cloud Service
G53042-01