Replatform Oracle Database Enterprise Edition to Standard Edition 2 on Amazon RDS for Oracle - AWS Prescriptive Guidance

Replatform Oracle Database Enterprise Edition to Standard Edition 2 on Amazon RDS for Oracle

Created by Lanre (Lan-Ray) showunmi (AWS) and Tarun Chawla (AWS)

Environment: Production

Source: on-premises

Target: Amazon RDS

R Type: Replatform

Workload: Oracle

Technologies: Databases

AWS services: Amazon RDS

Summary

Oracle Database Enterprise Edition (EE) is a popular choice for running applications in many enterprises. In some cases, however, applications use few or no Oracle Database EE features, so there is a lack of justification for incurring huge licensing costs. You can achieve cost savings by downgrading such databases to Oracle Database Standard Edition 2 (SE2) when you migrate to Amazon RDS.

This pattern describes how to downgrade from Oracle Database EE to Oracle Database SE2 when migrating from on premises to Amazon RDS for Oracle. The steps presented in this pattern also apply if your EE Oracle database is already running on Amazon RDS or on an Amazon Elastic Compute Cloud (Amazon EC2) instance.

For more information, see the AWS Prescriptive Guidance guide on how to Evaluate downgrading Oracle databases to Standard Edition 2 on AWS.

Prerequisites and limitations

Prerequisites

Limitations 

Product versions

The general logic described in this document applies to Oracle versions from 9i and later. For supported versions of self-managed and Amazon RDS for Oracle databases, see the AWS DMS documentation.

To identify feature usage in cases where AWS SCT is not supported, run SQL queries on the source database. To migrate from earlier versions of Oracle where AWS DMS and Oracle Data Pump are not supported, use Oracle Export and Import utilities.

For a current list of supported versions and editions, see Oracle on Amazon RDS in the AWS documentation. For details on pricing and supported instance classes, see Amazon RDS for Oracle pricing.

Architecture

Source technology stack  

  • Oracle Database Enterprise Edition running on premises or on Amazon EC2

Target technology stack using native Oracle tools 

  • Amazon RDS for Oracle running Oracle Database SE2

Three-step process for migrating from on-premises Oracle DB to Amazon RDS.
  1. Export data by using Oracle Data Pump.

  2. Copy dump files to Amazon RDS through a database link.

  3. Import dump files to Amazon RDS by using Oracle Data Pump.

Target technology stack using AWS DMS 

  • Amazon RDS for Oracle running Oracle Database SE2

  • AWS DMS

Four-step process for migrating from on-premises Oracle DB to Amazon RDS using AWS DMS.
  1. Export data by using Oracle Data Pump with FLASHBACK_SCN.

  2. Copy dump files to Amazon RDS through a database link.

  3. Import dump files to Amazon RDS by using Oracle Data Pump.

  4. Use AWS DMS change data capture (CDC).

Tools

AWS services

  • AWS Database Migration Service (AWS DMS) helps you migrate data stores into the AWS Cloud or between combinations of cloud and on-premises setups.

  • Amazon Relational Database Service (Amazon RDS) helps you set up, operate, and scale a relational database in the AWS Cloud. This pattern uses Amazon RDS for Oracle.

  • AWS SCT provides a project-based user interface to automatically assess, convert, and copy the database schema of your source Oracle database into a format compatible with Amazon RDS for Oracle. AWS SCT enables you to analyze potential cost savings that can be achieved by changing your license type from Enterprise to Standard Edition of Oracle. The License Evaluation and Cloud Support section of the AWS SCT report provides detailed information about Oracle features in use so you can make an informed decision while migrating to Amazon RDS for Oracle.

Other tools

  • Native Oracle import and export utilities support moving Oracle data in and out of Oracle databases. Oracle offers two types of database import and export utilities: Original Export and Import (for earlier releases) and Oracle Data Pump Export and Import (available in Oracle Database 10g release 1 and later).

  • Oracle GoldenGate offers real-time replication capabilities so that you can synchronize your target database after an initial load. This option can help reduce application downtime during go-live.

Epics

TaskDescriptionSkills required

Validate database requirements for your applications.

Ensure that your applications are certified to run on Oracle Database SE2. Check directly with the software vendor, developer, or application documentation.

App developer, DBA, App owner

Investigate use of EE features directly in the database.

To determine EE feature use, do one of the following:

  • Generate an AWS SCT assessment report for your Oracle EE database. The report tells you which features from your current EE database should be removed if you want to change license types.

  • If you have an Oracle Support account, obtain and run the script options_packs_usage_statistics.sql in Support document 1317265.1 to generate a report of options and features that are being used on your Oracle database.

  • Query DBA_FEATURE_USAGE_STATISTICS to display details of all features that are in use.

App owner, DBA, App developer

Identify use of EE features for operational activities.

Database or application administrators sometimes rely on EE-only features for operational activities. Common examples include online maintenance activities (index rebuild, table move) and use of parallelism by batch jobs.

These dependencies can be mitigated by modifying your operations where possible. Identify the use of these features and make a decision based on cost compared with benefits.

Use the Comparing Oracle Database EE and SE2 features table as a guide to identify features that are available in Oracle Database SE2.

App developer, DBA, App owner

Review workload patterns of the EE Oracle database.

Oracle Database SE2 automatically restricts usage to a maximum of 16 CPU threads at any time.

If your Oracle EE database is licensed to use the Oracle Diagnostic Pack, use the Automatic Workload Repository (AWR) tool, or DBA_HIST_* views, to analyze database workload patterns to determine whether the maximum limit of 16 CPU threads will negatively impact service levels when you downgrade to SE2.

Ensure that your assessment covers periods of peak activity, such as end of day, month, or year processing.

App owner, DBA, App developer
TaskDescriptionSkills required

Deploy and configure networking infrastructure.

Create a virtual private cloud (VPC) and subnets, security groups, and network access control lists.

AWS administrator, Cloud architect, Network administrator, DevOps engineer

Provision the Amazon RDS for Oracle SE2 database.

Provision the target Amazon RDS for Oracle SE2 database to meet your applications’ performance, availability, and security requirements. We recommend Multi-AZ configuration for production workloads. However, to improve migration performance, you can defer enabling Multi-AZ until after data migration.

Cloud administrator, Cloud architect, DBA, DevOps engineer, AWS administrator

Customize the Amazon RDS environment.

Configure custom parameters and options, and enable additional monitoring. For more information, see Best practices for migrating to Amazon RDS for Oracle.

AWS administrator, AWS systems administrator, Cloud administrator, DBA, Cloud architect
TaskDescriptionSkills required

Migrate the data (dry run).

Migrate data from the source Oracle EE database to the Amazon RDS for Oracle SE2 database instance using the approach best suited to your specific environment. Select a migration strategy based on factors such as size, complexity, and the available downtime window. Use one or a combination of the following:

  • Native Oracle tools such as Oracle Data Pump (recommended), Oracle Import-Export utilities, and Oracle GoldenGate.

  • AWS DMS, using the full load with continuous replication through CDC.

DBA

Validate the target database.

Perform post-migration validation of database storage and code objects. Review migration logs, and fix any identified issues. For more information, see the guide Migrating Oracle databases to the AWS Cloud.

DBA

Test the applications.

Application and database administrators should conduct functional, performance, and operational tests as appropriate. For more information, see Best practices for migrating to Amazon RDS for Oracle.

Lastly, obtain sign-offs on test-results from stakeholders.

App developer, App owner, DBA, Migration engineer, Migration lead
TaskDescriptionSkills required

Refresh data from Oracle Database EE.

Select a data refresh approach based on the application availability requirement. For more information, see the migration methods in Strategies for Migrating Oracle Databases to AWS.

For example, you can achieve near-zero downtime by using tools such as Oracle GoldenGate or AWS DMS with ongoing replication. If the downtime window permits, you can perform the final data cutover using offline methods such as Oracle Data Pump or Original Export-Import utilities.

App owner, Cutover lead, DBA, Migration engineer, Migration lead

Point applications to the target database instance.

Update connection parameters in applications and other clients to point to the Amazon RDS for Oracle SE2 database.

App developer, App owner, Migration engineer, Migration lead, Cutover lead

Perform post-migration activities.

Perform post data migration tasks such as enabling Multi-AZ, data validation, and other checks.

DBA, Migration engineer

Perform post-cutover monitoring.

Use tools such as Amazon CloudWatch and Amazon RDS Performance Insights to monitor the Amazon RDS for Oracle SE2 database.

App developer, App owner, AWS administrator, DBA, Migration engineer

Related resources

AWS Prescriptive Guidance

Blog posts