Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Quando completi il tuo laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Esegui migrazione dati da Amazon DynamoDB a tabella Oracle NoSQL Database
Introduzione
Amazon DynamoDB è un servizio di database NoSQL completamente gestito offerto da Amazon Web Services che fornisce un valore chiave veloce e scalabile e storage dei dati dei documenti.
Oracle NoSQL Database Cloud Service è un servizio di database NoSQL completamente gestito offerto da Oracle Corporation su Oracle Cloud Infrastructure. Fornisce uno storage di documenti JSON e key-value scalabile con prestazioni a bassa latenza e scalabilità automatica per le applicazioni cloud native.
Questa esercitazione descrive come eseguire la migrazione dei dati da Amazon DynamoDB a Oracle NoSQL Database Cloud Service utilizzando lo strumento Oracle NoSQL Database Migrator.
Il workflow di migrazione utilizza la funzionalità nativa export-to-S3 di DynamoDB per estrarre i dati della tabella in formato JSON DynamoDB. I dati esportati vengono quindi importati in Oracle NoSQL Database Cloud Service in esecuzione in Oracle Cloud Infrastructure (OCI).
Architettura
Il workflow di migrazione è composto dai componenti riportati di seguito.
- Amazon DynamoDB (database di origine)
- Amazon S3 (archiviazione per le esportazioni)
- Istanza di OCI Compute (esegue Oracle NoSQL Database Migrator)
- Oracle NoSQL Database Cloud Service (database di destinazione)

Processo di migrazione di alto livello
- Esegui provisioning delle tabelle DynamoDB e del bucket Amazon S3.
- Abilita PITR nella tabella ed esporta le tabelle DynamoDB nel bucket Amazon S3.
- Esegui provisioning dell'istanza di computazione OCI
- Installare e configurare lo strumento Oracle NoSQL Database Migrator in Compute.
- Configura l'autenticazione AWS e OCI sulla computazione OCI.
- Esegui la migrazione dal bucket Amazon S3 a OCI NoSQL
- Convalida i dati migrati in Oracle NoSQL Database.
Prerequisiti
Prima di iniziare, assicurarsi che:
- Hai un account AWS attivo con le autorizzazioni per gestire DynamoDB e S3.
- Si dispone di una tenancy OCI con autorizzazioni per:
- Crea compartimenti
- Crea istanze di computazione
- Creare tabelle NoSQL Oracle
- Si dispone dell'accesso SSH a un'istanza di computazione OCI.
Task 1: Fornisci risorse Amazon DynamoDB
In questo tutorial, eseguiremo il provisioning solo delle risorse di base richieste in AWS, che sono obbligatorie per questo esercizio.
1. Crea utente IAM in AWS
Creare un utente IAM dedicato per gestire le operazioni DynamoDB.
a. Accedi a AWS Console
b. Passare a IAM, Utenti
c. Fare clic su Crea utente
d. Assegna accesso programmato
- Allega criterio
AdministratorAccess(a scopo dimostrativo)

e. Rivedere e fare clic su Crea utente.
⚠️ Negli ambienti di produzione, utilizzare i criteri IAM con meno privilegi.
2. Creare una tabella DynamoDB in AWS
a. Accedi alla console AWS.
b. Andare a DynamoDB.

c. Fare clic su Crea tabella.

d. Specificare:
- Nome tabella
- Chiave di partizionamento
- Chiave di ordinamento facoltativa

e. Accettare le impostazioni predefinite e creare la tabella.
f. Rivedere le tabelle create.

3. Aggiungere una nuova colonna o inserire record campione nella tabella DynamoDB.
a. Accedi alla console AWS.
b. Selezionare la tabella desiderata
c. Fare clic su Azioni, Crea articolo.

d. Inserisci record di esempio

e. Convalida record

Task 2: Esporta tabella DynamoDB in bucket Amazon S3
Utilizzare la funzionalità esportazione nativa in S3 di DynamoDB per estrarre i dati della tabella in formato JSON DynamoDB nel bucket S3.
1. Crea bucket Amazon S3
a. Accedi alla console AWS
b. Andare a S3
c. Creare un nuovo bucket

d. Mantieni impostazioni predefinite
e. Convalida bucket

2. Abilita recupero point-in-time (PITR)
L'esportazione DynamoDB richiede il recupero point-in-time. PITR deve essere abilitato a livello di tabella, prima di esportarlo.
a. Seleziona la tabella
b. Abilita recupero point-in-time

c. Dopo aver abilitato PITR.

3. Esporta i dati della tabella nel bucket S3.
a. Accedi alla console AWS.
b. Seleziona la tabella
c. Fare clic su Esporta in S3
d. Scegliere una delle seguenti opzioni:
- Esportazione completa
- Formato JSON DynamoDB
- Cifratura (predefinita)
e. Fare clic su Esporta


4. Verifica dati esportati
Al termine:

S3://bucket-name/AWSDynamoDB/ExportID/data/
Contiene:
- File JSON compressi con GZIP
- Formato JSON DynamoDB

Task 3: Preparare l'ambiente Oracle Cloud Infrastructure
1. Crea un compartimento
a. Connettersi a OCI Console.
b. Andare a Identità e sicurezza, compartimenti.
c. Creare un nuovo compartimento per la tabella NoSQL Oracle.
2. Creare un'istanza di compute
a. Andare a Computazione , Istanze.
b. Fare clic su Crea istanza
c. Selezionare una delle opzioni riportate di seguito.
- Forma:
VM.Standard.E4.Flex(o equivalente) - Sistema operativo: Oracle Linux 9 d. Creare l'istanza.
Questa istanza di computazione esegue Oracle NoSQL Database Migrator.
3. Installa Oracle NoSQL Database Migrator
Oracle NoSQL Migrator legge i file di esportazione DynamoDB da Amazon S3 e importa i dati nel database NoSQL di Oracle OCI. Installeremo lo strumento Oracle NoSQL Migrator su una delle soluzioni di computazione OCI create in precedenza.
a. Installa Java 11
Oracle NoSQL Database Migrator richiede che Java sia in esecuzione nella computazione.
- Eseguire il login come utente opc all'istanza di computazione appena creata e installare Java 11 come indicato di seguito.
sudo yum install java-11
Passare a b. Estrai package Migrator
- Scaricare Oracle NoSQL Database Migrator 1.8.0. Utilizzare SCP per caricare il file ZIP di Oracle NoSQL Database Migrator nella directory home dell'utente opc nella nuova istanza di computazione.
- Estrarre il software Oracle NoSQL Database Migrator scaricato. Migrator non richiede alcuna installazione, basta disinstallarlo.
tar -zxvf V1053574-01.tar.gz
cd nosql-migrator-1.8.0/
Verifica dell'installazione:
[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
Task 4: Configurare l'accesso sicuro (OCI e AWS)
Per utilizzare Oracle NoSQL Migrator, è necessario configurare l'autenticazione cross-cloud sicura per consentire all'istanza di computazione di accedere sia alle risorse Amazon S3 che a quelle Oracle Cloud Infrastructure (OCI).
1. Crea chiave API OCI
Nella console OCI, creare una chiave API per l'utente OCI che sarà proprietario della tabella Oracle NoSQL Database Cloud Service di destinazione. Questo utente deve disporre delle autorizzazioni per creare e gestire la tabella Oracle NoSQL Database Cloud Service.
a. Nella console OCI, aprire Profilo, chiavi API.
b. Aggiunge una nuova chiave API.

c. Scaricare la chiave privata.
d. Record:
- OCID utente
- OCID tenancy
- Impronta
- Identificativo area

2. Crea file di configurazione OCI
a. Utilizzare SSH per eseguire il login come utente opc all'istanza di computazione creata in precedenza.
b. Creare tutto il file di identità OCI in /home/opc/.oci directory.
Chiave privata:
c. Copiare la chiave privata in Compute come /home/opc/.oci/ociuser.pem.
/home/opc/.oci/ociuser.pem
File di configurazione:
\$vi /home/opc/.oci/config
Esempio:
[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. Crea chiavi di accesso AWS
Nella console AWS, creare una chiave di accesso (se non esiste già) per l'utente che accederà allo storage degli oggetti Amazon S3 in cui vengono esportati i dati di Amazon DynamoDB.
a. Accedi alla console AWS.
b. Vai a IAM, Utente, Credenziali di sicurezza
c. Crea chiave di accesso
Caso d'uso: applicazione in esecuzione al di fuori di AWS.

4. Configura credenziali AWS
Creare i file riportati di seguito nell'istanza di computazione.
/home/opc/.aws/config
/home/opc/.aws/credentials
Configurazione di esempio:
[default]
region=<aws_region>
Credenziali di esempio:
[default]
aws_access_key_id=<access_key>
aws_secret_access_key=<secret_key>
Task 5: Configurazione ed esecuzione di Oracle NoSQL Migrator
Migrator richiede un file di configurazione JSON che descriva:
- Origine (S3)
- Lavello (OCI NoSQL)
- Schema tabella
- Credenziali
1. Crea file di configurazione migrazione
Creare un file JSON di configurazione della migrazione che includa informazioni sull'origine e sulla destinazione (sink). Sotto la nota sink DDBPartitionKey e DDBSortKey dalla tabella DynamoDB.
Crea:
/home/opc/.oci/migrator-config-dynamodb-bucket_to_OCI.json
Configurazione di esempio
{
"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"
}
Introduzione alla modalità schema predefinita
Quando si utilizza defaultSchema: true:
Oracle NoSQL crea una tabella con:
- Chiave di partizionamento
- Chiave di ordinamento facoltativa
- Colonna JSON
document
Tutti gli attributi DynamoDB non chiave vengono memorizzati in document.
2. Esegui migrazione
Nell'istanza di computazione, passare alla sottodirectory 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
Dopo l'esecuzione riuscita, l'output visualizza il numero di record elaborati.
Log di migrazione riuscito:
[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.
Task 6: Convalida migrazione
Dopo l'esecuzione di Data Migrator, tutti i record di tabella inseriti in DynamoDB devono essere visibili in Oracle NoSQL.
a. Aprire OCI Console.
b. Passare a Database, Oracle NoSQL Database, Tabelle.

c. Selezionare il compartimento appropriato.
d. Aprire la tabella migrata.

e. Verificare i record.
- Selezionare Tabella e fare clic su Esplora dati.
- Fare clic su Esegui.

Considerazioni e best practice sulla migrazione
Capacity Planning
- Configura unità di lettura/scrittura appropriate
- Regolare attentamente
writeUnitsPercent
Sicurezza
- Usa IAM con privilegi minimi
- Ruota le chiavi API
- Evitare di memorizzare le credenziali in testo semplice
Tabelle grandi
Per le esportazioni da più terabyte:
- Monitorare la dimensione dell'esportazione S3
- Aumenta le unità di scrittura in OCI
- Considera esportazioni batch
Gestione TTL
Se è richiesto DynamoDB TTL, abilitare:
"includeTTL": true
Migrazione multitabella
Automatizza le esportazioni utilizzando lo script CLI AWS se esegui la migrazione di più tabelle.
Conclusione
Questa esercitazione ha dimostrato un flusso di lavoro di migrazione end-to-end da Amazon DynamoDB a Oracle NoSQL Database Cloud Service utilizzando funzionalità di esportazione native e Oracle NoSQL Database Migrator.
Questo approccio consente di:
- Portabilità del cloud
- Iniziative di modernizzazione
- Architettura multi-cloud
- Ottimizzazione dei costi
- Integrazione con l'ecosistema OCI
Con una pianificazione adeguata, una configurazione sicura e un tuning della capacità, le organizzazioni possono ottenere una migrazione dei dati NoSQL trasparente tra le piattaforme cloud.
Risoluzione dei problemi
- Assicurarsi che PITR sia abilitato prima dell'esportazione.
- Verificare le credenziali AWS se l'accesso a S3 non riesce.
- Confermare l'OCID area e compartimento OCI corretto.
- Aumentare le unità di scrittura se il throughput della migrazione è lento.
- Esaminare i log del migratore per i messaggi di errore dettagliati.
Esegui cleanup risorse
Dopo aver completato questa esercitazione, considerare la possibilità di rimuovere le seguenti risorse per evitare addebiti non necessari:
- Eliminare la tabella DynamoDB.
- Eliminare il bucket Amazon S3 e i file esportati.
- Arrestare l'istanza di computazione OCI.
- Eliminare la tabella NoSQL Oracle (se non più necessaria).
- Rimuovere gli utenti IAM e le chiavi API non utilizzate.
Collegamenti correlati
Conferme
Autore - Dharmesh Patel (Principal Cloud Architect, Customer Success Services)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Migrate Data from Amazon DynamoDB to Oracle NoSQL Database Cloud Service
G53044-01