AWS Database Blog
Migrate from Oracle RAC to AWS: Alternatives on AWS
October 2024: This post was reviewed for accuracy.
Oracle Real Application Clusters (RAC) are a way of accessing a database from multiple database servers. This provides some added high availability (HA) features over a single-instance database.
In this post, we talk about why you might choose Oracle RAC for your Oracle databases, and the different ways to implement similar architecture on AWS while staying with Oracle, providing the HA and disaster recovery (DR) features and performance features customers seek from Oracle RAC.
Customers who are running Oracle RAC are primarily doing it to satisfy one of the following criteria:
- To meet explicit SLAs
- Rolling upgrade feature of RAC
- Applications heavily customized to use RAC’s Oracle Notifications Services (ONS)
- The current workload needs more than 128 vCPUs
There are three Oracle database migration patterns:
- Rehost – From Oracle to Amazon Elastic Compute Cloud (Amazon EC2)
- Replatform – From Oracle to Amazon Relational Database Service (Amazon RDS) for Oracle
- Re-architect – From Oracle to open-source and AWS managed databases
If you want to migrate to AWS while retaining Oracle services or features, you can choose from several AWS options. The following questions are critical to decide if the workload will necessitate maintaining Oracle RAC services:
- Is the database read intensive or write intensive?
- Does the application require read replica scaling?
- What are the HA and DR requirements and SLAs?
- What’s the current utilization of the RAC environment?
Running an Oracle AWR report can provide the details regarding your current utilization of the Oracle RAC implementation.
Oracle RAC alternative in AWS
The functionality and features offered by RAC are similar to strategies offered in the AWS cloud. These strategies include the following:
- The high availability of RAC, allowing service to persist with only a brief interruption during server failure, is an automatic feature of EC2 and RDS instances in AWS. Workloads that fail due to hardware are automatically restarted on another host. In addition, for workloads that can tolerate almost zero downtime, Amazon RDS offers a Multi-AZ option to maintain a standby copy of a database that can be failed over automatically (and nearly instantly) in the case of an outage.
- The scalability of RAC can be less important in a cloud environment where additional CPU, RAM, or disk resources are only a few clicks away. The ability to scale RDS for Oracle instances up or down in size on-demand is a powerful scalability tool.
- Zero downtime rolling patching, an important RAC feature for 24/7 business-critical databases, can be accomplished with Oracle GoldenGate and standby instances. This requires a separate Oracle GoldenGate license and expertise related to the implementation and configuration of Oracle GoldenGate.
AWS provides several options that are cost-effective, performant, and highly available. As with any infrastructure platform decision for Oracle, the right option for you depends on your operational goals and the nature of your applications. We discuss these options in the following sections.
Amazon RDS for Oracle
Amazon RDS for Oracle is a managed database service that helps simplify the provisioning and management of Oracle databases. Amazon RDS for Oracle makes it simple to set up, operate, and scale a relational database in the cloud by automating installation, disk provisioning and management, patching, minor version upgrades, failed instance replacement, as well as backup and recovery tasks. The push-button scaling feature of Amazon RDS allows you to efficiently scale the database instance up or down for performance and cost-effectiveness.
Amazon RDS for Oracle offers both Oracle Database Enterprise Edition and Oracle Database Standard Edition. Amazon RDS for Oracle also comes with a license-included service model, which allows you to pay per use by the hour. The License included model is only applicable to Oracle Standard Edition. Oracle replicas are supported for the Oracle Enterprise Edition (EE) engine only.
The following diagram illustrates an example architecture.
Self-managed Oracle Database directly on Amazon EC2
This option gives you full control over the setup of the infrastructure and database environment. Running the database on Amazon EC2 is very similar to running the database on your own server. You have full control of the Oracle binaries database and have operating system-level access, so you can run monitoring and management agents and use your choice of tools for data replication, backup, and restoration. Furthermore, you have the ability to use every optional module available in Oracle Database.
However, this option requires you to set up, configure, manage, and tune all of the components; including EC2 instances, storage volumes, scalability, networking, and security based on AWS architecture best practices. With fully managed Amazon RDS, this is taken care of for you.
The following diagram illustrates an example architecture.
Oracle Database@AWS
Oracle Database@AWS allows customers to access Oracle Autonomous Database and Oracle Exadata Database Service on AWS, providing a unified experience between Oracle Cloud Infrastructure (OCI) and AWS. This simplifies database administration, billing, and support.
Customers can directly access Oracle Exadata Database Service on AWS, including Oracle Autonomous Database and Real Application Clusters (RAC). This integration offers low-latency connections between Oracle databases and AWS applications, combining Oracle’s automated, managed services with AWS’s security, agility, and cost-effectiveness.
The new Oracle Database@AWS capabilities allow organizations to leverage their existing skills and quickly start deploying, managing, and using Oracle Autonomous Database and Oracle Exadata Database Service on AWS. Oracle and AWS will jointly market this offering, benefiting organizations worldwide across various industries, including financial services, healthcare, manufacturing, retail, telecoms, and utilities.
Oracle Database@AWS will be available in preview later in the year with broader availability in 2025 as it expands to new Regions to meet the needs of customers.
How AWS provides high availability and disaster recovery
AWS manages infrastructure resources based on geographical region and data center. In AWS, a separate geographical region is an AWS Region. An Availability Zone (AZ) is a separate set of isolated resources (data centers) within a Region.
The following are infrastructure redundancy best practices for disaster recovery:
- For DR purposes, it’s recommended to distribute workloads across Regions. This provides the most insulation from disaster.
- To make your workload highly available in AWS, we advise distributing EC2 resources across Availability Zones. This allows for close network connectivity while providing isolated server and storage redundancy.
- Although Multi-AZ in AWS makes for a good HA solution for Amazon EC2, Amazon Elastic Block Store (Amazon EBS) storage is isolated to a single Availability Zone, so the data for an application must be replicated.
AWS provides DR solutions for data replication. An EBS volume can have a snapshot taken to a different Availability Zone. Once the snapshot exists, it can be copied to a different Region. Using a snapshot of an EBS volume requires some form of configuration, recovery (potentially), and failover before it’s useful to the application, which makes snapshots a DR solution, not an HA solution.
High availability requires that the data be immediately available upon disruption to the primary data source. In other words, if the primary database goes down, you need an active copy ready to accept connections. One way to do this in AWS is to use Oracle database replication technologies to perform the data replication.
In the following sections, we provide more details regarding four service options.
Amazon RDS
Amazon RDS offers the following benefits:
- With Amazon RDS Multi-AZ, you get enhanced availability and durability for database instances within a specific Region. This is often an effective DR solution for most use cases.
- You can use RDS for Oracle read replicas when running mission-critical databases with a business requirement for your DR configuration to span across different Availability Zones or Regions. At the same time, you want to use your DR investments to handle some of your production read workloads in another Region closer to the users.
- RDS for Oracle mounted DB replicas are ideal if you just need DR but don’t have the requirement to route your read workloads to the replica.
- You can also opt for logical replication for self-managed DR via AWS Database Migration Service (AWS DMS) and Oracle GoldenGate.
The following table showcases the Recovery Point Objective (RPO) and Recovery Time Objective (RTO) that you can attain with various HA and DR capabilities Amazon RDS for Oracle.
Amazon EC2
Amazon EC2 offers the following benefits:
- Oracle databases on Amazon EC2 support Oracle Data Guard, Oracle Active Data Guard, and Oracle GoldenGate options.
- Third-party solutions available in AWS Marketplace also support replication for Oracle databases.
- You can use both Oracle and third-party solutions to replicate databases within a Region and across Regions.
- You can replicate Oracle databases to and from your on-premises data centers.
- You can use AWS DMS to replicate all or a subset of tables.
- GoldenGate with active/passive databases will get you similar results as compared to RAC’s level of HA.
Oracle Database@AWS
Oracle Database@AWS offers the following benefits:
- Zero-ETL integration with AWS Analytics services for seamless data analysis.
- Flexible migration options, including Oracle Zero Downtime Migration.
- Simplified procurement via AWS Marketplace, using existing AWS commitments and Oracle license benefits.
- Unified support from AWS and Oracle, with guidance for building and running enterprise applications in the cloud.
- Integration with Amazon S3 for easy, secure database backups, restoration, and disaster recovery.
Conclusion
Regardless of the infrastructure on which you’re running, AWS is designed with a high level of fault tolerance. AWS services are designed to help you eliminate lengthy unscheduled outages as much as possible.
In this post, we showed you several alternatives when implementing Oracle RAC on AWS Cloud. We discussed several RAC alternatives like RDS for Oracle, Self-managed EC2 on Oracle and Oracle Database@AWS. We also discussed how the implementation for each one of them differ, and also the benefits of each option. This post can help you make a decision if you are looking to move Oracle RAC workloads to AWS.
If you have questions or suggestions, please leave a comment.
About the Authors
Vishal Srivastava is a Senior Partner Solutions Architect specializing in databases at AWS. In his role, Vishal works with ISV Partners to provide guidance and technical assistance on database projects, helping them improve the value of their solutions when using AWS. He also works with Public Sector ISV Partners to help them design scalable, secure, performant, robust database architectures in the AWS Cloud.
Vineet Agarwal is a Senior Database Specialist Solutions Architect with Amazon Web Services (AWS). Prior to AWS, Vineet has worked for large enterprises in financial, retail and healthcare verticals helping them with database and solutions architecture. In his spare time, you’ll find him playing poker, trying a new activity or a DIY project.