Migrate an on-premises Oracle database to Oracle on Amazon EC2 - AWS Prescriptive Guidance

Migrate an on-premises Oracle database to Oracle on Amazon EC2

Created by Baji Shaik (AWS) and Pankaj Choudhary (AWS)

Environment: PoC or pilot

Source: Databases: Relational

Target: Oracle on Amazon EC2

R Type: Rehost

Workload: Oracle

Technologies: Migration; Databases

AWS services: Amazon EC2


This pattern walks you through the steps for migrating an on-premises Oracle database to Oracle on an Amazon Elastic Compute Cloud (Amazon EC2) instance. It describes two options for migration: using AWS Data Migration Service (AWS DMS) or using native Oracle tools such as RMAN, Data Pump import/export, transportable tablespaces, and Oracle GoldenGate.

Prerequisites and limitations


  • An active AWS account

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


  • The target operating system (OS) must be supported by Amazon EC2. For a complete list of supported systems, see Amazon EC2 FAQs.

Product versions

  • Oracle versions 10.2 and later (for versions 10.x), 11g and up to 12.2, and 18c for the Enterprise, Standard, Standard One, and Standard Two editions. For the latest list of versions supported by AWS DMS, see "On-premises and Amazon EC2 instance databases" in Sources for Data Migration in the AWS DMS documentation. 


Source technology stack

  • An on-premises Oracle database

Target technology stack

  • An Oracle database instance on Amazon EC2

Target architecture

Data migration architecture

Using AWS DMS:

Using native Oracle tools:


  • AWS DMS - AWS Database Migration Services (AWS DMS) supports several types of source and target databases. For information about the database versions and editions that are supported, see Using an Oracle Database as a Source for AWS DMS. We recommend that you use the latest version of AWS DMS for the most comprehensive version and feature support.  

  • Native Oracle tools - RMAN, Data Pump import/export, transportable tablespaces, Oracle GoldenGate                                                         


TaskDescriptionSkills required
Validate the versions of the source and target databases.DBA
Identify the version of the target OS.DBA, SysAdmin
Identify hardware requirements for the target server instance based on the Oracle compatibility list and capacity requirements.DBA, SysAdmin
Identify storage requirements (storage type and capacity).DBA, SysAdmin
Identify network requirements (latency and bandwidth).DBA, SysAdmin
Choose the proper instance type based on capacity, storage features, and network features.DBA, SysAdmin
Identify network/host access security requirements for source and target databases.DBA, SysAdmin
Identify a list of OS users required for Oracle software installation.DBA, SysAdmin
Download AWS Schema Conversion Tool (AWS SCT) and drivers.DBA
Create an AWS SCT project for the workload, and connect to the source database.DBA
Generate SQL files for the creation of objects (tables, indexes, sequences, etc.).DBA
Determine a backup strategy.DBA, SysAdmin
Determine availability requirements.DBA
Identify the application migration/switch-over strategy.DBA, SysAdmin, App owner
TaskDescriptionSkills 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 EC2 instance.SysAdmin
TaskDescriptionSkills required
Create the OS users and groups required for the Oracle software.DBA, SysAdmin
Download the required version of Oracle software.
Install the Oracle software on the EC2 instance.DBA, SysAdmin
Create objects like tables, primary keys, views, and sequences by using the scripts generated by AWS SCT.DBA
TaskDescriptionSkills required
Use native Oracle tools or third-party tools to migrate database objects and data.

Oracle tools include Data Pump import/export, RMAN, transportable tablespaces, and GoldenGate.

TaskDescriptionSkills required
Determine the migration method.DBA
Create a replication instance in the AWS DMS console.DBA
Create source and target endpoints.DBA
Create a replication task.DBA
Enable change data capture (CDC) to capture changes for a continuous replication.DBA
Run the replication task and monitor logs.DBA
Create secondary objects like indexes and foreign keys when the full load is done.DBA
TaskDescriptionSkills required
Follow the application migration strategy.DBA, SysAdmin, App owner
TaskDescriptionSkills required
Follow the application cutover/switch-over strategy.DBA, SysAdmin, App owner
TaskDescriptionSkills required
Shut down temporary AWS Secrets Manager resources.DBA, SysAdmin
Review and validate the project documents.DBA, SysAdmin, App owner
Gather metrics around time to migrate, % of manual vs. tool, cost savings, etc.DBA, SysAdmin, App owner
Close out the project and provide feedback.

Related resources


Tutorials and videos