Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. In der Übung ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Daten von Amazon DynamoDB in Oracle NoSQL Database-Tabelle migrieren
Einführung
Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbankservice, der von Amazon Web Services angeboten wird und einen schnellen und skalierbaren Schlüssel/Wert- und Dokumentendatenspeicher bietet.
Oracle NoSQL Database Cloud Service ist ein vollständig verwalteter NoSQL-Datenbankservice, der von Oracle Corporation auf Oracle Cloud Infrastructure angeboten wird. Es bietet skalierbaren Schlüsselwert- und JSON-Dokumentenspeicher mit Leistung mit geringer Latenz und automatischer Skalierung für native Cloud-Anwendungen.
In diesem Tutorial wird beschrieben, wie Sie Daten mit dem Tool Oracle NoSQL Database Migrator von Amazon DynamoDB zu Oracle NoSQL Database Cloud Service migrieren.
Der Migrationsworkflow verwendet die native Export-to-S3-Funktion von DynamoDB, um Tabellendaten im JSON-Format DynamoDB zu extrahieren. Die exportierten Daten werden dann in Oracle NoSQL Database Cloud Service importiert, der in Oracle Cloud Infrastructure (OCI) ausgeführt wird.
Architektur
Der Migrationsworkflow besteht aus den folgenden Komponenten:
- Amazon DynamoDB (Quelldatenbank)
- Amazon S3 (Exportspeicher)
- OCI Compute-Instanz (führt den Oracle NoSQL Database-Migrator aus)
- Oracle NoSQL Database Cloud Service (Zieldatenbank)

Migrationsprozess auf hoher Ebene
- Stellen Sie DynamoDB-Tabellen und Amazon S3-Bucket bereit.
- Aktivieren Sie PITR in der Tabelle, und exportieren Sie DynamoDB-Tabellen in den Amazon S3-Bucket.
- OCI-Compute-Instanzen bereitstellen
- Installieren und konfigurieren Sie das Oracle NoSQL Database-Migrator-Tool auf Compute.
- Konfigurieren Sie die AWS- und OCI-Authentifizierung auf OCI Compute.
- Migration vom Amazon S3-Bucket zu OCI ausführen NoSQL
- Migrierte Daten in Oracle NoSQL Database validieren.
Voraussetzungen
Bevor Sie beginnen, stellen Sie Folgendes sicher:
- Sie haben ein aktives AWS-Konto mit Berechtigungen zum Verwalten von DynamoDB und S3.
- Sie haben einen OCI-Mandanten mit Berechtigungen für
- Compartments erstellt
- Compute-Instanzen erstellen
- Oracle NoSQL-Tabellen erstellen
- Sie haben SSH-Zugriff auf eine OCI-Compute-Instanz.
Aufgabe 1: Amazon DynamoDB-Ressourcen bereitstellen
In diesem Tutorial stellen wir nur die grundlegenden erforderlichen Ressourcen in AWS bereit, die für diese Übung obligatorisch sind.
1. IAM-Benutzer in AWS erstellen
Erstellen Sie einen dedizierten IAM-Benutzer, um DynamoDB-Vorgänge zu verwalten.
a. Bei AWS Console anmelden
b. Navigieren Sie zu IAM, Benutzer
c. Klicken Sie auf Create User.
d. Programmgesteuerten Zugriff zuweisen
AdministratorAccess-Policy anhängen (für Demozwecke)

e. Prüfen und auf Benutzer erstellen klicken
⚠️ Verwenden Sie in Produktionsumgebungen IAM-Policys mit den geringsten Berechtigungen.
2. Erstellen einer DynamoDB-Tabelle in AWS
a. Melden Sie sich bei der AWS-Konsole an.
b. Navigieren Sie zu DynamoDB.

c. Klicken Sie auf Tabelle erstellen.

d. Geben Sie Folgendes an:
- Tabellenname
- Partitionsschlüssel
- Optionaler Sortierschlüssel

e. Übernehmen Sie die Standardeinstellungen, und erstellen Sie die Tabelle.
f. Erstellte Tabellen prüfen

3. Fügen Sie eine neue Spalte hinzu, oder fügen Sie Musterdatensätze in der Tabelle DynamoDB ein.
a. Melden Sie sich bei der AWS-Konsole an.
b. Wählen Sie die Tabelle
c. Klicken Sie auf Aktionen, Artikel erstellen.

d. Musterdatensätze einfügen

e. Datensätze validieren

Aufgabe 2: Tabelle DynamoDB in Amazon S3-Bucket exportieren
Verwenden Sie die native Export-to-S3-Funktion von DynamoDB, um Tabellendaten im JSON-Format DynamoDB in den Bucket S3 zu extrahieren.
1. Amazon S3-Bucket erstellen
a. Bei der AWS-Konsole anmelden
b. Navigieren Sie zu S3.
c. Neuen Bucket erstellen

d. Standardeinstellungen beibehalten
e. Bucket validieren

2. Point-in-Time Recovery (PITR) aktivieren
Für den DynamoDB-Export ist ein Point-in-Time Recovery erforderlich. PITR muss vor dem Export auf Tabellenebene aktiviert sein.
a. Tabelle auswählen
b. Point-in-Time Recovery aktivieren

c. Nach Aktivierung von PITR.

3. Tabellendaten in Bucket S3 exportieren.
a. Melden Sie sich bei der AWS-Konsole an.
b. Tabelle auswählen
c. Klicken Sie auf Export to S3.
d. Wählen Sie:
- Vollständiger Export
- DynamoDB JSON-Format
- Verschlüsselung (Standard)
e. Klicken Sie auf Exportieren


4. Exportierte Daten prüfen
Nach Fertigstellung:

S3://bucket-name/AWSDynamoDB/ExportID/data/
Enthält:
- GZIP-komprimierte JSON-Dateien
- DynamoDB JSON-Format

Aufgabe 3: Oracle Cloud Infrastructure-Umgebung vorbereiten
1. Compartment erstellen
a. Melden Sie sich beim OCI-Konsolenmodul an.
b. Navigieren Sie zu Identität und Sicherheit, Compartments.
c. Erstellen Sie ein neues Compartment für die Oracle-Tabelle NoSQL.
2. Compute-Instanzen erstellen
a. Navigieren Sie zu Compute , Instanzen.
b. Klicken Sie auf Instanz erstellen.
c. Wählen Sie eine der folgenden Optionen:
- Ausprägung:
VM.Standard.E4.Flex(oder gleichwertig) - Betriebssystem: Oracle Linux 9 d. Erstellen Sie die Instanz.
Diese Compute-Instanz führt den Oracle NoSQL Database-Migrator aus.
3. Oracle NoSQL Database Migrator installieren
Der Oracle NoSQL Migrator liest DynamoDB-Exportdateien aus Amazon S3 und importiert Daten in die OCI Oracle NoSQL-Datenbank. Wir installieren das Oracle NoSQL Migrator-Tool auf einem der oben erstellten OCI-Compute-Instanzen.
a. Java 11 installieren
Für den Oracle NoSQL Database-Migrator muss Java auf dem Compute ausgeführt werden.
- Melden Sie sich als Benutzer "opc" bei der neu erstellten Compute-Instanz an, und installieren Sie Java 11 wie folgt:
sudo yum install java-11
b. Migratorpackage extrahieren
- Laden Sie Oracle NoSQL Database Migrator 1.8.0 herunter. Mit SCP können Sie die ZIP-Datei des Oracle NoSQL Database-Migrators in das Home-Verzeichnis des opc-Benutzers auf der neuen Compute-Instanz hochladen.
- Dekomprimieren Sie die heruntergeladene Oracle NoSQL Database Migrator-Software. Migrator erfordert keine Installation, entpacken Sie sie einfach.
tar -zxvf V1053574-01.tar.gz
cd nosql-migrator-1.8.0/
Installation prüfen:
[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
Aufgabe 4: Sicheren Zugriff konfigurieren (OCI und AWS)
Um den Oracle NoSQL Migrator zu verwenden, muss eine sichere cloudübergreifende Authentifizierung konfiguriert werden, damit die Compute-Instanz sowohl auf Amazon S3- als auch auf Oracle Cloud Infrastructure-(OCI-)Ressourcen zugreifen kann.
1. OCI-API-Schlüssel erstellen
Erstellen Sie in der OCI-Konsole einen API-Schlüssel für den OCI-Benutzer, der Eigentümer der Oracle NoSQL Database Cloud Service-Zieltabelle ist. Dieser Benutzer muss über Berechtigungen zum Erstellen und Verwalten der Oracle NoSQL Database Cloud Service-Tabelle verfügen.
a. Öffnen Sie in der OCI-Konsole Profil, API-Schlüssel.
b. Neuen API-Schlüssel hinzufügen.

c. Laden Sie den Private Key herunter.
d. Datensatz:
- Benutzer-OCID
- Mandanten-OCID
- Fingerprint
- Regions-ID

2. OCI-Konfigurationsdatei erstellen
a. Melden Sie sich mit SSH als Benutzer "opc" bei der zuvor erstellten Compute-Instanz an.
b. Erstellen Sie die gesamte OCI-Identitätsdatei unter /home/opc/.oci directory.
Private Key:
c. Kopieren Sie den Private Key auf Compute als /home/opc/.oci/ociuser.pem.
/home/opc/.oci/ociuser.pem
Konfigurationsdatei:
\$vi /home/opc/.oci/config
Beispiel:
[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. AWS-Zugriffsschlüssel erstellen
Erstellen Sie in der AWS-Konsole einen Zugriffsschlüssel (sofern noch keiner vorhanden ist) für den Benutzer, der auf den Amazon S3-Objektspeicher zugreift, in den die Amazon-DynamoDB-Daten exportiert werden.
a. Melden Sie sich bei der AWS-Konsole an.
b. Gehen Sie zu IAM, Benutzer, Sicherheitszugangsdaten
c. Zugriffsschlüssel erstellen
Anwendungsfall: Anwendung wird außerhalb von AWS ausgeführt.

4. AWS-Zugangsdaten konfigurieren
Erstellen Sie die folgenden Dateien auf der Compute-Instanz:
/home/opc/.aws/config
/home/opc/.aws/credentials
Beispielkonfiguration:
[default]
region=<aws_region>
Beispielzugangsdaten:
[default]
aws_access_key_id=<access_key>
aws_secret_access_key=<secret_key>
Aufgabe 5: Oracle NoSQL-Migrator konfigurieren und ausführen
Migrator erfordert eine JSON-Konfigurationsdatei, die Folgendes beschreibt:
- Quelle (S3)
- Sink (OCI NoSQL)
- Tabellenschema
- Zugangsdaten
1. Migrationskonfigurationsdatei erstellen
Erstellen Sie eine JSON-Datei für die Migrationskonfiguration, die Informationen zu Quelle und Ziel (Sink) enthält. Unter dem Sink-Hinweis DDBPartitionKey & DDBSortKey aus der Tabelle DynamoDB.
Erstellen:
/home/opc/.oci/migrator-config-dynamodb-bucket_to_OCI.json
Beispielkonfiguration:
{
"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"
}
Erläuterungen zum Standardschemamodus
Wenn defaultSchema: true:
Oracle NoSQL erstellt eine Tabelle mit:
- Partitionsschlüssel
- Optionaler Sortierschlüssel
documentJSON-Spalte
Alle Nicht-Schlüsselattribute DynamoDB werden in document gespeichert.
2. Migration ausführen
Ändern Sie in der Compute-Instanz das Verzeichnis in das Unterverzeichnis 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
Nach erfolgreicher Ausführung zeigt die Ausgabe die Anzahl der verarbeiteten Datensätze an.
Erfolgreiches Migrationslog:
[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.
Aufgabe 6: Migration validieren
Nach einer erfolgreichen Ausführung von Data Migrator sollten alle Tabellendatensätze, die in DynamoDB eingefügt wurden, in Oracle NoSQL sichtbar sein.
a. Öffnen Sie die OCI-Konsole.
b. Navigieren Sie zu Datenbank, Oracle NoSQL Database, Tabellen.

c. Wählen Sie das entsprechende Compartment aus.
d. Migrierte Tabelle öffnen.

e. Records überprüfen
- Wählen Sie {\b Table}, und klicken Sie auf {\b Explore data}.
- Klicken Sie auf "Execute".

Überlegungen zur Migration und Best Practices
Kapazitätsplanung
- Geeignete Lese-/Schreibeinheiten konfigurieren
writeUnitsPercentsorgfältig anpassen
Sicherheit
- Least-Privilege-IAM verwenden
- API-Schlüssel rotieren
- Speichern von Zugangsdaten im Klartext vermeiden
Große Tabellen
Für Multi-Terabyte-Exporte:
- Exportgröße für S3 überwachen
- Schreibeinheiten in OCI erhöhen
- Berücksichtigen Sie Batch-Exporte
TTL-Verarbeitung
Wenn DynamoDB TTL erforderlich ist, aktivieren Sie:
"includeTTL": true
Migration mehrerer Tabellen
Automatisieren Sie Exporte mit AWS CLI-Skripten, wenn Sie mehrere Tabellen migrieren.
Schlussfolgerung
In diesem Tutorial wurde ein End-to-End-Migrationsworkflow von Amazon DynamoDB zu Oracle NoSQL Database Cloud Service mit nativen Exportfunktionen und Oracle NoSQL Database Migrator demonstriert.
Dieser Ansatz ermöglicht:
- Cloud-Portabilität
- Modernisierungsinitiativen
- Multi-Cloud-Architektur
- Kostenoptimierung
- Integration mit OCI-Ökosystem
Mit der richtigen Planung, sicheren Konfiguration und Kapazitätsoptimierung können Unternehmen eine nahtlose NoSQL-Datenmigration über Cloud-Plattformen hinweg erreichen.
Problembehandlung
- Stellen Sie sicher, dass PITR vor dem Export aktiviert ist.
- Prüfen Sie die AWS-Zugangsdaten, wenn der S3-Zugriff nicht erfolgreich verläuft.
- Bestätigen Sie die korrekte OCI-Region und Compartment-OCID.
- Erhöhen Sie die Schreibeinheiten, wenn der Migrationsdurchsatz langsam ist.
- Detaillierte Fehlermeldungen finden Sie in den Migratorlogs.
Ressourcen bereinigen
Nachdem Sie dieses Tutorial abgeschlossen haben, sollten Sie die folgenden Ressourcen entfernen, um unnötige Gebühren zu vermeiden:
- Löschen Sie die Tabelle DynamoDB.
- Löschen Sie den Amazon S3-Bucket und exportierte Dateien.
- Beenden Sie die OCI-Compute-Instanz.
- Löschen Sie die Oracle-Tabelle NoSQL (falls nicht mehr erforderlich).
- Entfernen Sie nicht verwendete IAM-Benutzer und API-Schlüssel.
Verwandte Links
Bestätigungen
Autor – Dharmesh Patel (Principal Cloud Architect, Customer Success Services)
Weitere Lernressourcen
Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Migrate Data from Amazon DynamoDB to Oracle NoSQL Database Cloud Service
G53040-01