Migrating an Amazon RDS for Oracle Database to Amazon Aurora MySQL - Database Migration Guide
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Migrating an Amazon RDS for Oracle Database to Amazon Aurora MySQL

This walkthrough gets you started with heterogeneous database migration from Amazon RDS for Oracle to Amazon Aurora MySQL-Compatible Edition using Amazon Database Migration Service (Amazon DMS) and the Amazon Schema Conversion Tool (Amazon SCT). This is an introductory exercise so does not cover all scenarios but will provide you with a good understanding of the steps involved in executing such a migration.

It is important to understand that Amazon DMS and Amazon SCT are two different tools and serve different needs. They don’t interact with each other in the migration process. At a high level, the steps involved in this migration are:

  1. Using Amazon SCT to:

    • Run the conversion report for Oracle to Amazon Aurora MySQL to identify the issues, limitations, and actions required for the schema conversion.

    • Generate the schema scripts and apply them on the target before performing the data load via Amazon DMS. Amazon SCT will perform the necessary code conversion for objects like procedures and views.

  2. Identify and implement solutions to the issues reported by Amazon SCT. For example, an object type like Oracle Sequence that is not supported in the Amazon Aurora MySQL can be handled using the auto_increment option to populate surrogate keys or develop logic for sequences at the application layer.

  3. Disable foreign keys or any other constraints which may impact the Amazon DMS data load.

  4. Amazon DMS loads the data from source to target using the Full Load approach. Although Amazon DMS is capable of creating objects in the target as part of the load, it follows a minimalistic approach to efficiently migrate the data so it doesn’t copy the entire schema structure from source to target.

  5. Perform post-migration activities such as creating additional indexes, enabling foreign keys, and making the necessary changes in the application to point to the new database.

This walkthrough uses a custom Amazon CloudFormation template to create an Amazon RDS DB instances for Oracle and Amazon Aurora MySQL. It then uses a SQL command script to install a sample schema and data onto the Amazon RDS Oracle DB instance that you then migrate to Amazon Aurora MySQL.

This walkthrough takes approximately two hours to complete. The estimated cost to complete it, using Amazon resources, is about $5.00. Be sure to follow the instructions to delete resources at the end of this walkthrough to avoid additional charges.

Costs

For this walkthrough, you provision Amazon Relational Database Service (Amazon RDS) resources by using Amazon CloudFormation and also Amazon Database Migration Service (Amazon DMS) resources. Provisioning these resources will incur charges to your user by the hour. The Amazon Schema Conversion Tool incurs no cost; it is provided as a part of Amazon DMS.

Although you’ll need only a minimum of resources for this walkthrough, some of these resources are not eligible for Amazon Free Tier. At the end of this walkthrough, you’ll find a section in which you delete the resources to avoid additional charges. Delete the resources as soon as you complete the walkthrough. For more information, see chap-rdsoracle2aurora.steps.deleteresources.

To estimate what it will cost to run this walkthrough on Amazon, you can use the Amazon Pricing Calculator. For more information, see https://calculator.aws/ and Database Migration Service pricing.

The following table shows Amazon DMS and Amazon RDS resources that you use for this walkthrough. You can specify these values in the Amazon Pricing Calculator.

Amazon Web Service Instance Type Storage and I/O

Amazon RDS for Oracle DB instance, License Included (Standard Edition Two), Single AZ

db.m3.medium

Single AZ, 10 GB storage, GP2

Amazon Aurora MySQL DB instance

db.r3.large

Single AZ, 10 GB storage, 1 million I/O

Amazon DMS replication instance

t2.small

50 GB of storage for keeping replication logs included