Migrate from an on-premises Oracle database or Amazon RDS for Oracle to Amazon DynamoDB using AWS DMS and AWS SCT - AWS Prescriptive Guidance

Migrate from an on-premises Oracle database or Amazon RDS for Oracle to Amazon DynamoDB using AWS DMS and AWS SCT

Created by Rambabu Karnena (AWS)

R Type: Re-architect

Source: Databases: Relational

Target: Amazon DynamoDB

Created by: AWS

Environment: PoC or pilot

Technologies: Databases; Migration

Workload: Oracle

AWS services: Amazon DynamoDB


This pattern walks you through the steps for migrating a source, on-premises Oracle database or Amazon Relational Database Service (Amazon RDS) for Oracle DB instance to a target Amazon DynamoDB database using AWS Database Migration Service (AWS DMS) and AWS Schema Conversion Tool (AWS SCT). 

Prerequisites and limitations


  • An active AWS account


  • Oracle database objects, such as procedures, functions, packages, and triggers, are not considered for migration because Amazon DynamoDB does not support these database objects.

Product versions


Source technology stack

  • Amazon RDS for Oracle DB instances or on-premises Oracle databases

Target technology stack

  • Amazon DynamoDB

Source and target architecture

AWS data migration architecture


  • AWS DMSAWS Database Migration Service (AWS DMS) helps you migrate your data to and from widely used commercial and open-source databases, including Oracle, MySQL, and PostgreSQL. The service supports homogeneous migrations such as Oracle to Oracle, and heterogeneous migrations such as Oracle to PostgreSQL or MySQL to Oracle. 

  • AWS SCT AWS Schema Conversion Tool (AWS SCT) makes heterogeneous database migrations easy by automatically converting the source database schema and a majority of the custom code to a format compatible with the target database.  


TaskDescriptionSkills required
Validate the source and target database version and engine.

Determine the application migration strategy.

DBA, SysAdmin, App owner
Identify network access security requirements for source and target databases.

DBA, SysAdmin
Choose the proper instance type based on capacity, storage features, and network features.

DBA, SysAdmin
Identify storage requirements, storage type, and capacity.

DBA, SysAdmin
Identify hardware requirements for source and target server instances.

DBA, SysAdmin
TaskDescriptionSkills required
Create a virtual private cloud (VPC) and subnets in your AWS account.

Create security groups and network access control lists (ACLs).

Configure and start the Amazon RDS for Oracle DB instance.

DBA, SysAdmin
TaskDescriptionSkills required
In the AWS Identity and Access Management (IAM) console, create a role to access DynamoDB.

To the role, attach the policy AmazonDynamoDBFullAccess, and select AWS DMS as the service.

Create source and target endpoints in AWS DMS.

For the source database endpoint, choose the endpoint from the Amazon RDS console, Databases, DB identifier, Connectivity & Security. Alternatively, you can choose “Select RDS DB instance” from the AWS DMS console. For the target database endpoint, choose the role ARN from the previous task to access DynamoDB.

Create an AWS DMS replication instance for migration.

The replication instance should be in the same Availability Zone and virtual private cloud (VPC) as the source database.

Create an AWS DMS task to load the source Oracle database tables to DynamoDB.

Choose the source and destination endpoint names and replication instance from the previous steps. The type can be full load. Choose the Oracle schema and specify % to select all tables.

Validate the tables in DynamoDB.

To view the migration results, choose Tables from the left navigation pane in the DynamoDB console.

DynamoDB, DBA
TaskDescriptionSkills required
Follow the application migration strategy.

DBA, SysAdmin, App owner
Use AWS SCT to analyze and convert the SQL code inside the application code.

For more information, see https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.App.html.

SysAdmin, Developer
TaskDescriptionSkills required
Switch the application clients over to use DynamoDB.

DBA, SysAdmin, App owner
TaskDescriptionSkills required
Shut down temporary AWS resources.

DBA, SysAdmin
Review and validate the project documents.

DBA, SysAdmin, App owner
Gather metrics around time to migrate, % of manual vs. tool, cost savings, etc.

DBA, SysAdmin, App owner
Close out the project and provide feedback.

DBA, SysAdmin, App owner