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

R Type: Re-architect

Source: Databases: Relational

Target: Amazon DynamoDB

Created by: AWS

Environment: PoC or pilot

Additional technologies: Databases

Workload: Oracle

Summary

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

Prerequisites

  • An active AWS account

Limitations

  • 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

Architecture

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

Tools

  • 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 SCTAWS 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.  

Epics

Task Description Skills required
Validate the source and target database version and engine. DBA
Determine the application migration strategy. DBA, SysAdmin, AppOwner
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
Task Description Skills required
Create a virtual private cloud (VPC) and subnets in your AWS account. SysAdmin
Create security groups and network access control lists (ACLs). SysAdmin
Configure and start the Amazon RDS for Oracle DB instance. DBA, SysAdmin
Task Description Skills 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. SysAdmin
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. AWS DMS
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. AWS DMS
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. AWS DMS
Validate the tables in DynamoDB. To view the migration results, choose Tables from the left navigation pane in the DynamoDB console. DynamoDB, DBA
Task Description Skills required
Follow the application migration strategy. DBA, SysAdmin, AppOwner
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
Task Description Skills required
Switch the application clients over to use DynamoDB. DBA, SysAdmin, AppOwner
Task Description Skills required
Shut down temporary AWS resources. DBA, SysAdmin
Review and validate the project documents. DBA, SysAdmin, AppOwner
Gather metrics around time to migrate, % of manual vs. tool, cost savings, etc. DBA, SysAdmin, AppOwner
Close out the project and provide feedback. DBA, SysAdmin, AppOwner