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 |
Summary
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
Prerequisites
An active AWS account
A source Oracle database in an on-premises data center
Limitations
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.
Architecture
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:
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
Epics
Task | Description | Skills 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 |
Task | Description | Skills 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 |
Task | Description | Skills 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 |
Task | Description | Skills 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. | DBA |
Task | Description | Skills 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 |
Task | Description | Skills required |
---|---|---|
Follow the application migration strategy. | DBA, SysAdmin, App owner |
Task | Description | Skills required |
---|---|---|
Follow the application cutover/switch-over strategy. | DBA, SysAdmin, App owner |
Task | Description | Skills 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
References
Tutorials and videos