Migrate from Oracle 8i or 9i to Amazon RDS for Oracle using SharePlex and AWS DMS - AWS Prescriptive Guidance

Migrate from Oracle 8i or 9i to Amazon RDS for Oracle using SharePlex and AWS DMS

Created by Ramu Jagini (AWS)

Environment: PoC or pilot

Source: Databases: Relational

Target: Amazon RDS

R Type: Replatform

Workload: Open-source; Oracle

Technologies: Databases; Cloud-native; Migration

AWS services: AWS DMS; Amazon RDS

Summary

This pattern describes how to migrate an on-premises Oracle 8i or 9i database to an Amazon Relational Database Service (Amazon RDS) for Oracle database. You can use this pattern to complete your migration with reduced downtime by using Quest SharePlex for synchronous replication.

You must use an intermediate Oracle database instance for your migration because AWS Database Migration Service (AWS DMS) doesn’t support Oracle 8i or 9i as a source environment. You can use SharePlex 7.6.3 to replicate from previous Oracle database versions to later Oracle database versions. The intermediate Oracle database instance is compatible as a target for SharePlex 7.6.3 and supported as a source for AWS DMS or newer releases of SharePlex. This support enables onward replication of data to the Amazon RDS for Oracle target environment.

Consider that several deprecated data types and features can impact a migration from Oracle 8i or 9i to the latest version of Oracle Database. To mitigate this impact, this pattern uses Oracle 11.2.0.4 as an intermediate database version to help optimize the schema code prior to migrating to the Amazon RDS for Oracle target environment.

Prerequisites and limitations

Prerequisites

  • An active AWS account

  • A source Oracle 8i or 9i database in an on-premises environment

  • Oracle Database 12c Release 2 (12CR2) for staging on Amazon Elastic Compute Cloud (Amazon EC2)

  • Quest SharePlex 7.6.3 (commercial grade)

Limitations

Product versions

  • Oracle 8i or 9i for the source database

  • Oracle 12CR2 for the staging database (must match the Amazon RDS for Oracle version)

  • Oracle 12CR2 or later for the target database (Amazon RDS for Oracle)

Architecture

Source technology stack

  • Oracle 8i or 9i database

  • SharePlex

Target technology stack

  • Amazon RDS for Oracle

Migration architecture

The following diagram shows how to migrate an Oracle 8i or 9i database from an on-premises environment to an Amazon RDS for Oracle DB instance in the AWS Cloud.

The diagram shows the following workflow:

  1. Enable the Oracle source database with archive log mode, force logging, and supplemental logging.

  2. Restore the Oracle staging database from the Oracle source database by using Recovery Manager (RMAN) point-in-time recovery and FLASHBACK_SCN.

  3. Configure SharePlex to read redo logs from the Oracle source database by using FLASHBACK_SCN (used in RMAN).

  4. Start SharePlex replication to synchronize data from the Oracle source database to the Oracle staging database.

  5. Restore the Amazon RDS for Oracle target database by using EXPDP and IMPDP with FLASHBACK_SCN.

  6. Configure AWS DMS and its source tasks as the Oracle staging database and Amazon RDS for Oracle as the target database by using FLASHBACK_SCN (used in EXPDP).

  7. Start AWS DMS tasks to synchronize data from the Oracle staging database to the Oracle target database.

Tools

Epics

TaskDescriptionSkills required

Create an EC2 instance.

  1. Create an EC2 instance

  2. Install Oracle 12CR2 on the EC2 instance to serve as the Oracle staging database.

Oracle administration

Prepare the staging database.

Prepare the Oracle staging database for restore as an upgrade on Oracle 12CR2 by taking the RMAN backup from the Oracle 8i or 9i database source environment.

For more information, see Oracle 9i Recovery Manager User's Guide and Database Backup and Recovery User's Guide in the Oracle documentation.

Oracle administration

Configure SharePlex.

Configure the SharePlex source as an on-premises Oracle 8i or 9i database, and configure the target as the Oracle 12CR2 staging database hosted on Amazon EC2.

SharePlex, Oracle administration
TaskDescriptionSkills required

Create an Oracle DB instance.

Create an Amazon RDS for Oracle database, and then connect Oracle 12CR2 to the database.

For more information, see Creating an Oracle DB instance and connecting to a database on an Oracle DB instance in the Amazon RDS documentation.

DBA

Restore Amazon RDS for Oracle from the staging database.

  1. Take an EXPDP backup from the Oracle staging database server by using FLASHBACK_SCN.

  2. Restore Amazon RDS for Oracle from the staging database.

For more information, see 54 DBMS_DATAPUMP in the Oracle documentation.

DBA
TaskDescriptionSkills required

Create endpoints for the databases.

Create a source endpoint for the Oracle staging database and a target endpoint for the Amazon RDS for Oracle database.

For more information, see How do I create source or target endpoints using AWS DMS? in the AWS Knowledge Center.

DBA

Create a replication instance.

Use AWS DMS to launch a replication instance for the Oracle staging database to the Amazon RDS for Oracle database.

For more information, see How do I create an AWS DMS replication instance? in the AWS Knowledge Center.

DBA

Create and start replication tasks.

Create AWS DMS replication tasks for change data capture (CDC) by using FLASHBACK_SCN from EXPDP (since the full load already happened through EXPDP).

For more information, see Creating a task in the AWS DMS documentation.

DBA
TaskDescriptionSkills required

Stop the application workload.

Stop the application servers and its applications during the planned cutover window.

App developer, DBA

Validate the synching of the on-premises Oracle staging database with the EC2 instance.

Confirm that all messages have been posted for replication tasks from the SharePlex replication instance to the Oracle staging database on Amazon EC2 by performing a few log switches on the on-premises source database.

For more information, see 6.4.2 Switching a Log File in the Oracle documentation.

DBA

Validate the synching of the Oracle staging database with the Amazon RDS for Oracle database.

Confirm that all your AWS DMS tasks have no lag and no errors, and then check the validation state of the tasks.

DBA

Stop the replication of SharePlex and Amazon RDS.

If both the SharePlex and AWS DMS replications are not showing any errors, then stop both replications.

DBA

Remap the application to Amazon RDS.

Share the Amazon RDS for Oracle endpoint details with the application server and its applications, and then start the application to resume business operations.

App developer, DBA
TaskDescriptionSkills required

Test the Oracle staging database environment on AWS.

  1. Test the SharePlex replication and verify that there are no sync gaps or replication errors on the Oracle staging database.

  2. Verify that the application behaves as expected through benchmarks defined in the on-premises environment.

SharePlex, Oracle administration

Test the Amazon RDS environment.

  1. Verify that all data propagated to Amazon RDS after replication is error free.

  2. Point another application to the Amazon RDS DB instance, and then run performance tests to verify expected behavior.

For more information, see Amazon RDS for Oracle in the Amazon RDS documentation.

Oracle administration

Related resources