Migrate an Oracle database to Amazon DynamoDB using AWS DMS
Created by Rambabu Karnena (AWS)
Summary
This pattern walks you through the steps for migrating an Oracle database to Amazon DynamoDB
On-premises Oracle databases
Oracle databases on Amazon Elastic Compute Cloud (Amazon EC2
) Amazon Relational Database Service (Amazon RDS
) for Oracle DB instances
In this proof of concept, this pattern focuses on migrating from an Amazon RDS for Oracle DB instance.
Prerequisites and limitations
Prerequisites
An active AWS account
An application connecting to an Amazon RDS for Oracle database
A table created in the source Amazon RDS for Oracle database with a primary key and sample data
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
This pattern applies to all editions and versions of Oracle databases that are supported by AWS DMS. For more information, see using an Oracle database as a source for AWS DMS and using an Amazon DynamoDB database as a target for AWS DMS. We recommend that you use the latest versions of AWS DMS for the most comprehensive version and feature support.
Architecture
Source technology stack
Amazon RDS for Oracle DB instances, Oracle on Amazon EC2, or on-premises Oracle databases
Target technology stack
Amazon DynamoDB
AWS data migration architecture
Tools
AWS Database Migration Service (AWS DMS) helps you migrate data stores into the AWS Cloud or between combinations of cloud and on-premises setups.
Amazon DynamoDB is a fully managed NoSQL database service that provides fast, predictable, and scalable performance.
Amazon Relational Database Service (Amazon RDS) helps you set up, operate, and scale a relational database in the AWS Cloud. This pattern uses Amazon RDS for Oracle.
Epics
Task | Description | Skills required |
---|---|---|
Create a VPC. | In your AWS account, create a virtual private cloud (VPC) and a private subnet. | Systems administrator |
Create security groups and network access control lists. | For more information, see the AWS documentation. | Systems administrator |
Configure and start the Amazon RDS for Oracle DB instance. | For more information, see the AWS documentation. | DBA, Systems administrator |
Task | Description | Skills required |
---|---|---|
Create an IAM role to access DynamoDB. | In the AWS Identity and Access Management (IAM) console, create the role, attach the policy | Systems administrator |
Create an AWS DMS replication instance for migration. | The replication instance should be in the same Availability Zone and VPC as the source database. | Systems administrator |
Create source and target endpoints in AWS DMS. | To create the source database endpoint, you have two options:
To create the target database endpoint, choose the role Amazon Resource Name (ARN) from the previous task to access DynamoDB. | Systems administrator |
Create an AWS DMS task to load the source Oracle database tables to DynamoDB. | Choose the source and destination endpoint names and the replication instance from the previous steps. The type can be full load. Choose the Oracle schema and specify % to select all tables. | Systems administrator |
Validate the tables in DynamoDB. | To view the migration results, choose Tables from the left navigation pane in the DynamoDB console. | DBA |
Task | Description | Skills required |
---|---|---|
Modify the application code. | To connect to and retrieve data from DynamoDB, update the application code. | App owner, DBA, Systems administrator |
Task | Description | Skills required |
---|---|---|
Switch the application clients to use DynamoDB. | DBA, App owner, Systems administrator |
Task | Description | Skills required |
---|---|---|
Shut down AWS resources. | For example, the shut down the AmazonĀ RDS for Oracle instance, DynamoDB, and the AWS DMS replication instance. | DBA, Systems administrator |
Gather metrics. | Metrics include the time to migrate, the percentages of manual work and work performed by the tool, and cost savings. | DBA, App owner, Systems administrator |