AWS Prescriptive Guidance
Patterns

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

R Type :RePlatform

source :Databases: Relational

target :Amazon RDS for MySQL

tags :Oracle, database, MySQL, RDS

Summary

This pattern walks you through the migration of an on-premises Oracle database to an Amazon Relational Database Service (Amazon RDS) for MySQL DB instance. It uses AWS Database Migration Service (AWS DMS) to migrate the data, and AWS Schema Conversion Tool (AWS SCT) to convert the source database schema and objects to a format that's compatible with Amazon RDS for MySQL.

Assumptions and Prerequisites

Prerequisites

  • An active AWS account

  • A source Oracle database in an on-premises data center

Limitations

  • Database size limit: 64 TB

Product versions

  • Oracle versions 10g, 11g, and 12c, for the Enterprise, Standard, Standard One, and Standard Two editions 

Architecture

Source technology stack

  • On-premises Oracle database (for a complete, up-to-date list of sources, see Sources for Data Migration in the AWS DMS documentation)

Target

technology stack

  • Amazon RDS for MySQL DB instance

Source and target architecture

Tools Used

AWS DMS -AWS Database Migration Services (AWS DMS) supports several different source and target databases. For details, see AWS DMS Step-by-Step Walkthroughs.

AWS SCT -AWS Schema Conversion Tool (AWS SCT) supports heterogeneous database migrations by automatically converting the source database schema and a majority of the custom code to a format that's compatible with the target database. The custom code that the tool converts includes views, stored procedures, and functions. Any code that the tool cannot convert automatically is clearly marked so that you can convert it yourself. 

Epics

Plan the migration

Tasks

Title Description Skills Predecessor
Validate the source and target database version and engine. DBA
Identify the hardware requirements for the target server instance. DBA, SysAdmin
Identify the storage requirements (storage type and capacity). DBA, SysAdmin
Choose the proper instance type based on capacity, storage features, and network features. DBA, SysAdmin
Identify the network access security requirements for the source and target databases. DBA, SysAdmin
Identify the application migration strategy. DBA, SysAdmin, AppOwner

Configure the infrastructure

Tasks

Title Description Skills Predecessor
Create a virtual private cloud (VPC) and subnets. SysAdmin
Create the security groups and network access control lists (ACLs). SysAdmin
Configure and start an Amazon RDS DB instance. DBA, SysAdmin

Migrate data

Tasks

Title Description Skills Predecessor
Migrate the database schema by using AWS SCT. DBA
Migrate data by using AWS DMS. DBA

Migrate the application

Tasks

Title Description Skills Predecessor
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. AppOwner
Follow the application migration strategy. DBA, SysAdmin, AppOwner

Cut over

Tasks

Title Description Skills Predecessor
Switch the application clients over to the new infrastructure. DBA, SysAdmin, AppOwner

Close the project

Tasks

Title Description Skills Predecessor
Shut down the temporary AWS resources. DBA, SysAdmin
Review and validate the project documents. DBA, SysAdmin
Gather metrics around time to migrate, % of manual vs. tool, cost savings, etc. DBA, SysAdmin
Close out the project and provide feedback.

References and Help

References

Tutorial and videos

Contact and help

Migration Pattern Library Support: aws-mpl@amazon.com