Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Migre Dados da Amazon DynamoDB para a Tabela do Oracle NoSQL Database
Introdução
O Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado oferecido pela Amazon Web Services que fornece valor-chave rápido e escalável e armazenamento de dados de documentos.
Oracle NoSQL Database Cloud Service é um serviço de banco de dados NoSQL totalmente gerenciado oferecido pela Oracle Corporation no Oracle Cloud Infrastructure. Ele fornece valor-chave escalável e armazenamento de documentos JSON com desempenho de baixa latência e dimensionamento automático para aplicativos nativos da nuvem.
Este tutorial descreve como migrar dados do Amazon DynamoDB para o Oracle NoSQL Database Cloud Service usando a ferramenta Oracle NoSQL Database Migrator.
O workflow de migração usa o recurso nativo de exportação para S3 do DynamoDB para extrair dados da tabela no formato JSON DynamoDB. Os dados exportados são então importados para o Oracle NoSQL Database Cloud Service em execução no OCI (Oracle Cloud Infrastructure).
Arquitetura
O workflow de migração consiste nos seguintes componentes:
- Amazon DynamoDB (banco de dados de origem)
- Amazon S3 (armazenamento de exportação)
- Instância do OCI Compute (executa o Oracle NoSQL Database Migrator)
- Oracle NoSQL Database Cloud Service (banco de dados de destino)

Processo de Migração de Alto Nível
- Provisione tabelas DynamoDB e o Bucket do Amazon S3.
- Ative o PITR na Tabela e exporte tabelas DynamoDB para o Bucket do Amazon S3.
- Provisionar instância de computação do OCI
- Instale e configure a ferramenta Oracle NoSQL Database Migrator no serviço Compute.
- Configurar a autenticação do AWS e do OCI no OCI Compute.
- Execute a migração do bucket do Amazon S3 para o OCI NoSQL
- Valide os dados migrados no Oracle NoSQL Database.
Pré-requisitos
Antes do início, verifique se:
- Você tem uma conta ativa da AWS com permissões para gerenciar DynamoDB e S3.
- Você tem uma tenancy do OCI com permissões para,
- Criar compartimentos
- Criar instâncias de computação
- Criar tabelas Oracle NoSQL
- Você tem acesso SSH a uma instância de computação do OCI.
Tarefa 1: Provisionar Recursos do Amazon DynamoDB
Neste tutorial, vamos provisionar apenas os recursos básicos necessários na AWS, que são obrigatórios para este exercício.
1. Criar Usuário do IAM no AWS
Crie um usuário dedicado do IAM para gerenciar operações do DynamoDB.
a. Faça login no AWS Console
b. Navegue até IAM, Users
c. Clique em Criar Usuário
d. Atribuir acesso programático
- Anexe a política
AdministratorAccess(para fins de demonstração)

e. Verifique e clique em Criar usuário.
⚠️ Em ambientes de produção, use políticas do IAM de menor privilégio.
2. Criar uma tabela DynamoDB no AWS
a. Acesse a Console do AWS.
b. Navegue até DynamoDB.

c. Clique em Criar tabela.

d. Especifique:
- Nome da tabela
- Chave de partição
- Chave de classificação opcional

e. Aceite as definições padrão e crie a tabela.
f. Examine as tabelas criadas.

3. Adicione uma nova coluna ou insira registros de amostra na tabela DynamoDB.
a. Acesse a Console do AWS.
b. Selecione a tabela
c. Clique em Ações, Criar Item

d. Inserir registros de amostra

e. Validar Registros

Tarefa 2: Exportar Tabela DynamoDB para o Bucket do Amazon S3
Use o recurso de exportação nativa para S3 do DynamoDB para extrair dados da tabela no formato JSON DynamoDB para o bucket S3.
1. Criar Bucket do Amazon S3
a. Acesse a Console do AWS
b. Navegue até S3
c. Criar um novo bucket

d. Manter configurações padrão
e. Validar Bucket

2. Ativar PITR (Point-In-Time Recovery)
A exportação DynamoDB requer Recuperação de Ponto no Tempo. PITR deve ser ativado no nível da tabela, antes de exportá-lo.
a. Selecionar tabela
b. Ativar recuperação pontual

c. Depois de ativar o PITR.

3. Exportar Dados da Tabela para o Bucket S3.
a. Acesse a Console do AWS.
b. Selecionar tabela
c. Clique em Exportar para S3
d. Escolha:
- Exportação total
- Formato JSON do DynamoDB
- Criptografia (padrão)
e. Clique em Exportar


4. Verificar Dados Exportados
Após a conclusão:

S3://bucket-name/AWSDynamoDB/ExportID/data/
Contém:
- Arquivos JSON compactados com GZIP
- Formato JSON do DynamoDB

Tarefa 3: Preparar o Ambiente do Oracle Cloud Infrastructure
1. Criar um Compartimento
a. Acesse o Console do OCI.
b. Navegue até Identity & Security, Compartments.
c. Crie um novo compartimento para a tabela NoSQL do sistema Oracle.
2. Criar uma Instância de Computação
a. Navegue até Compute , Instances.
b. Clique em Criar instância.
c. Selecionar:
- Forma:
VM.Standard.E4.Flex(ou equivalente) - Sistema Operacional: Oracle Linux 9 d. Crie a instância.
Esta instância de computação executa o Oracle NoSQL Database Migrator.
3. Instalar o Oracle NoSQL Database Migrator
O Oracle NoSQL Migrator lê arquivos de exportação DynamoDB do Amazon S3 e importa dados para o banco de dados Oracle NoSQL da OCI. Instalaremos a ferramenta Oracle NoSQL Migrator em uma das instâncias de computação da OCI criadas acima.
a. Instalar o Java 11
O Oracle NoSQL Database Migrator exige que o Java esteja em execução na computação.
- Faça log-in como usuário opc na instância de computação recém-criada e instale o Java 11 da seguinte forma:
sudo yum install java-11
b. Extrair Pacote do Migrador
- Faça download do Oracle NoSQL Database Migrator 1.8.0. Use o SCP para fazer upload do arquivo ZIP do Oracle NoSQL Database Migrator para o diretório home do usuário opc na nova instância de computação.
- Descompacte o software do Oracle NoSQL Database Migrator baixado. O Migrator não requer nenhuma instalação, apenas descompacte-o.
tar -zxvf V1053574-01.tar.gz
cd nosql-migrator-1.8.0/
Verificar instalação:
[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
Tarefa 4: Configurar o Acesso Seguro (OCI e AWS)
Para usar o Oracle NoSQL Migrator, a autenticação segura entre nuvens deve ser configurada para permitir que a instância do serviço Compute acesse os recursos do Amazon S3 e da Oracle Cloud Infrastructure (OCI).
1. Criar Chave de API do OCI
Na console do OCI, crie uma chave de API para o usuário do OCI que será proprietário da tabela de destino do Oracle NoSQL Database Cloud Service. Esse usuário deve ter permissões para criar e gerenciar a tabela do Oracle NoSQL Database Cloud Service.
a. Na Console do OCI, abra Perfil, Chaves de API.
b. Adicione uma nova chave de API.

c. Faça download da chave privada.
d. Registro:
- OCID do Usuário
- OCID da Tenancy
- Impressão Digital
- Identificador da região

2. Criar Arquivo de configuração do OCI
a. Use SSH para fazer log-in como usuário opc na instância de computação criada anteriormente.
b. Crie todo o arquivo de identidade do OCI em /home/opc/.oci directory.
Chave Privada:
c. Copie a chave privada na computação como /home/opc/.oci/ociuser.pem.
/home/opc/.oci/ociuser.pem
Arquivo de configuração:
\$vi /home/opc/.oci/config
Exemplo:
[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. Criar Chaves de Acesso AWS
No console da AWS, crie uma chave de acesso (se ainda não existir) para o usuário que acessará o Amazon S3 Object Storage no qual os dados do Amazon DynamoDB estão sendo exportados.
a. Acesse a Console do AWS.
b. Vá para IAM, Usuário, Credenciais de Segurança
c. Criar Chave de Acesso
Caso de uso: Aplicativo em execução fora da AWS.

4. Configurar credenciais da AWS
Crie os seguintes arquivos na instância de computação:
/home/opc/.aws/config
/home/opc/.aws/credentials
Exemplo de configuração:
[default]
region=<aws_region>
Credenciais de exemplo:
[default]
aws_access_key_id=<access_key>
aws_secret_access_key=<secret_key>
Tarefa 5: Configurar e Executar o Oracle NoSQL Migrator
O Migrator requer um arquivo de configuração JSON que descreva:
- Origem (S3)
- Pia (OCI NoSQL)
- Esquema da tabela
- Credenciais
1. Criar Arquivo de Configuração de Migração
Crie um arquivo JSON de configuração de migração que inclua informações sobre a origem e o destino (sink). Na nota DDBPartitionKey e DDBSortKey da tabela DynamoDB.
Criar:
/home/opc/.oci/migrator-config-dynamodb-bucket_to_OCI.json
Exemplo de configuração:
{
"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"
}
Noções Básicas Sobre o Modo de Esquema Padrão
Quando defaultSchema: true:
O Oracle NoSQL cria a tabela com:
- Chave de Partição
- Chave de Classificação Opcional
- Coluna JSON
document
Todos os atributos DynamoDB não relacionados à chave são armazenados dentro de document.
2. Executar Migração
Na instância de computação, altere o diretório para o subdiretório 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
Após a execução bem-sucedida, a saída exibe o número de registros processados.
Log de migração bem-sucedido:
[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.
Tarefa 6: Validar Migração
Após uma execução bem-sucedida do Data Migrator, todos os registros de Tabela inseridos em DynamoDB devem ficar visíveis no Oracle NoSQL.
a. Abra a Console da OCI.
b. Navegue até Banco de Dados, Oracle NoSQL Database, Tabelas.

c. Selecione o compartimento apropriado.
d. Abra a tabela migrada.

e. Verifique os registros.
- Selecione Tabela e clique em Explorar dados.
- Clique em Executar.

Considerações sobre Migração e Melhores Práticas
Capacity Planning
- Configurar Unidades de Leitura/Gravação apropriadas
- Ajuste
writeUnitsPercentcuidadosamente
Segurança
- Usar o IAM de privilégio mínimo
- Rotacionar chaves de API
- Evite armazenar credenciais em texto sem formatação
Tabelas Grandes
Para exportações de vários terabytes:
- Monitorar tamanho da exportação S3
- Aumente as unidades de gravação na OCI
- Considere agrupar exportações
Manuseio de TTL
Se o DynamoDB TTL for necessário, ative:
"includeTTL": true
Migração de Várias Tabelas
Automatize as exportações usando scripts da CLI da AWS se estiver migrando várias tabelas.
Conclusão
Este tutorial demonstrou um fluxo de trabalho de migração de ponta a ponta do Amazon DynamoDB para o Oracle NoSQL Database Cloud Service usando recursos de exportação nativos e o Oracle NoSQL Database Migrator.
Essa abordagem permite:
- Portabilidade na nuvem
- Iniciativas de modernização
- Arquitetura multicloud
- Otimização de custos
- Integração com o ecossistema da OCI
Com planejamento adequado, configuração segura e ajuste de capacidade, as organizações podem obter migração de dados NoSQL perfeita em plataformas de nuvem.
Diagnosticando e Solucionando Problemas
- Certifique-se de que o PITR esteja ativado antes da exportação.
- Verifique as credenciais do AWS se o acesso ao S3 falhar.
- Confirme o OCID correto da região e do compartimento do OCI.
- Aumente as unidades de gravação se o throughput de migração for lento.
- Verifique os logs do migrador para obter mensagens de erro detalhadas.
Limpar Recursos
Após concluir este tutorial, considere remover os seguintes recursos para evitar cobranças desnecessárias:
- Exclua a tabela DynamoDB.
- Exclua o bucket do Amazon S3 e os arquivos exportados.
- Encerre a instância de computação do OCI.
- Exclua a tabela NoSQL do sistema Oracle (se não for mais necessário).
- Remova usuários e chaves de API do IAM não utilizados.
Links Relacionados
Confirmações
Autor - Dharmesh Patel (Arquiteto de Nuvem Principal, Customer Success Services)
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Migrate Data from Amazon DynamoDB to Oracle NoSQL Database Cloud Service
G53047-01