This pattern provides guidance for migrating an Amazon Relational Database Service (Amazon RDS) for Oracle DB instance to an Amazon RDS for MySQL DB instance on Amazon Web Services (AWS). The pattern uses AWS Database Migration Service (AWS DMS) and AWS Schema Conversion Tool (AWS SCT).
The pattern provides best practices for handling the migration of stored procedures. It also covers and code changes to support the application layer.
Prerequisites
An active AWS account.
An Amazon RDS for Oracle source database.
An Amazon RDS for MySQL target database. Source and target databases should be in the same virtual private cloud (VPC). If you’re using multiple VPCs, or you must have the required access permissions.
Security groups that allow connectivity between the source and target databases, AWS SCT, the application server, and AWS DMS.
A user account with the required privilege to run AWS SCT on the source database.
Supplemental logging enabled for running AWS DMS on the source database.
Limitations
The source and target Amazon RDS database size limit is 64 TB. For Amazon RDS size information, see the AWS documentation.
Oracle is case-insensitive for database objects, but MySQL is not. AWS SCT can handle this issue while creating an object. However, some manual work is required to support full case insensitivity.
This migration doesn't use MySQL extensions to enable Oracle-native functions. AWS SCT handles most of the conversion, but some work is required to change code manually.
Java Database Connectivity (JDBC) driver changes are required in the application.
Product versions
Amazon RDS for Oracle 12.2.0.1 and later. For currently supported RDS for Oracle versions, see the AWS documentation.
Amazon RDS for MySQL 8.0.15 and later. For currently supported RDS for MySQL versions, see the AWS documentation.
AWS DMS version 3.3.0 and later. See the AWS documentation for more information about AWS DMS supported source endpoints and target endpoints.
AWS SCT version 1.0.628 and later. See the AWS SCT source and target endpoint support matrix in the AWS documentation.
Source technology stack
Amazon RDS for Oracle. For more information, see Using an Oracle database as a source for AWS DMS.
Target technology stack
Amazon RDS for MySQL. For more information, see Using a MySQL-Compatible database as a target for AWS DMS.
Migration architecture
In the following diagram, AWS SCT copies and converts schema objects from the Amazon RDS for Oracle source database and sends the objects to the Amazon RDS for MySQL target database. AWS DMS replicates data from the source database and sends it to the Amazon RDS for MySQL instance.