Set up an HA/DR architecture for Oracle E-Business Suite on Amazon RDS Custom with an active standby database - AWS Prescriptive Guidance

Set up an HA/DR architecture for Oracle E-Business Suite on Amazon RDS Custom with an active standby database

Created by Simon Cunningham (AWS) and Nitin Saxena

Environment: Production

Technologies: Databases; Infrastructure

Workload: Oracle

AWS services: Amazon RDS

Summary

This pattern describes how you can architect your Oracle E-Business solution on Amazon Relational Database Service (Amazon RDS) Custom for high availability (HA) and disaster recovery (DR) by setting up an Amazon RDS Custom read replica database in another Amazon Web Services (AWS) Availability Zone and converting it to an active standby database. The creation of the Amazon RDS Custom read replica is fully automated through the AWS Management Console.

This pattern doesn’t discuss the steps for adding additional application tiers and shared file systems, which can also be part of an HA/DR architecture. For more information about those topics, see the following Oracle Support Notes: 1375769.1, 1375670.1, and 1383621.1 (section 5, Advanced Cloning Options). (Access requires an Oracle Support account.)

To migrate E-Business Suite system to a single-tier, Single-AZ architecture on Amazon Web Services (AWS), see the pattern Migrate Oracle E-Business Suite to Amazon RDS Custom.

Oracle E-Business Suite is an Enterprise Resource Planning (ERP) solution for automating enterprise-wide processes such as financials, human resources, supply chains, and manufacturing. It has a three-tier architecture: client, application, and database. Previously, you had to run your E-Business Suite database on a self-managed Amazon Elastic Compute Cloud (Amazon EC2) instance, but you can now benefit from Amazon RDS Custom.  

Prerequisites and limitations

Prerequisites

Limitations

Product versions

For Oracle Database versions and instance classes supported by Amazon RDS Custom, see Requirements and limitations for Amazon RDS Custom for Oracle.

Architecture

The following diagram illustrates a representative architecture for E-Business Suite on AWS that includes multiple Availability Zones and application tiers in an active/passive setup. The database uses an Amazon RDS Custom DB instance and Amazon RDS Custom read replica. The read replica uses Active Data Guard to replicate to another Availability Zone. You can also use the read replica to offload read traffic on the primary database and for reporting purposes.

Multi-AZ architecture for Oracle E-Business Suite on AWS

For more information, see Working with read replicas for Amazon RDS Custom for Oracle in the Amazon RDS documentation. 

The Amazon RDS Custom read replica is created by default as mounted. However, if you want to offload some of your read-only workloads to the standby database to reduce the load on your primary database, you can manually change the mode of mounted replicas to read-only by following the steps in the Epics section. A typical use case for this would be to run your reports from the standby database. Changing to read-only requires an active standby database license. 

When you create a read replica on AWS, the system uses Oracle Data Guard broker under the covers.  This configuration is automatically generated and set up in Maximum Performance mode as follows:

DGMGRL> show configuration Configuration - rds_dg   Protection Mode: MaxPerformance   Members:   vis_a - Primary database     vis_b - Physical standby database  Fast-Start Failover: DISABLED Configuration Status: SUCCESS   (status updated 58 seconds ago)

Tools

AWS services

  • Amazon RDS Custom for Oracle is a managed database service for legacy, custom, and packaged applications that require access to the underlying operating system and database environment. It automates database administration tasks and operations while making it possible for you, as a database administrator, to access and customize your database environment and operating system. 

Other tools

  • Oracle Data Guard is a tool that helps you create and manage Oracle standby databases. This pattern uses Oracle Data Guard to set up an active standby database on Amazon RDS Custom.

Epics

TaskDescriptionSkills required
Create a read replica of the Amazon RDS Custom DB instance.

To create a read replica, follow the instructions in the Amazon RDS documentation and use the Amazon RDS Custom DB instance you created (see the Prerequisites section) as the source database.

By default, the Amazon RDS Custom read replica is created as a physical standby and is in the mounted state. This is intentional to ensure compliance with the Oracle Active Data Guard license. Follow the next steps to convert the read replica to read-only mode.

DBA
TaskDescriptionSkills required
Connect to the Amazon RDS Custom read replica.

Use the following commands to convert your physical standby database to an active standby database.  

Important: These commands require an Oracle active standby license. To get a license, contact your Oracle representative.

$ sudo su - rdsdb -bash-4.2$ sql SQL> select process,status,sequence# from v$managed_standby; PROCESS    STATUS        SEQUENCE# --------- ------------ ---------- ARCH       CLOSING            3956 ARCH       CONNECTED             0 ARCH       CLOSING            3955 ARCH       CLOSING            3957 RFS        IDLE                  0 RFS        IDLE               3958 MRP0       APPLYING_LOG       3958 SQL> select name, database_role, open_mode from v$database; NAME       DATABASE_ROLE    OPEN_MODE --------- ---------------- -------------------- VIS        PHYSICAL STANDBY MOUNTED SQL> alter database recover managed standby database cancel; Database altered. Open the standby database SQL> alter database open; Database altered. SQL> select name, database_role, open_mode from v$database; NAME       DATABASE_ROLE    OPEN_MODE --------- ---------------- -------------------- VIS        PHYSICAL STANDBY READ ONLY
DBA
Start media recovery with real-time log apply.

To enable the real-time log apply feature, use the following commands. These convert and validate the standby (read replica) as an active standby database, so you can connect and run read-only queries.

SQL>   alter database recover managed standby database using current logfile disconnect from session; Database altered
DBA
Check the database status.

To check the status of the database, use the following command.

SQL> select name, database_role, open_mode from v$database; NAME      DATABASE_ROLE    OPEN_MODE --------- ---------------- -------------------- VIS       PHYSICAL STANDBY READ ONLY WITH APPLY
DBA
Check redo apply mode.

To check redo apply mode, use the following command.

SQL> select process,status,sequence# from v$managed_standby; PROCESS    STATUS        SEQUENCE# --------- ------------ ---------- ARCH       CLOSING            3956 ARCH       CONNECTED             0 ARCH       CLOSING            3955 ARCH       CLOSING            3957 RFS        IDLE                  0 RFS        IDLE               3958 MRP0       APPLYING_LOG       3958   SQL> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY WITH APPLY
DBA

Related resources