10+ Reasons why AWS RDS is not an option for Oracle Database High Availability

Introduction

AWS Relational Database Service (RDS) provides a managed service for several database engines, including Oracle. It offers automation for administration tasks like provisioning, patching, and backup. Hence, it is often compared to Oracle Autonomous Database on Shared Exadata Infrastructure. However, the differences are tremendous, especially (and not only) regarding database high availability. This is why:

Exadata

Oracle Autonomous Database runs on Exadata, which provides redundant components across the entire stack: storage, compute, and networking.

AWS RDS runs on general-purpose virtual machines.

Oracle Real Application Clusters (Oracle RAC)

Oracle Autonomous Database always runs on Oracle RAC, providing database instance high availability during planned maintenance and local outages. Rolling patching ensures the database is available to the application while patches are applied in a rolling manner, one node at a time.

AWS RDS runs a single-instance database that must be taken down for patching and other maintenance activities.

Automatic Storage Management (ASM)

ASM provides data redundancy across multiple disks, IO rebalancing, and automatic block corruption detection and repair, keeping your data highly available.

AWS RDS does not support ASM and hence, does not even use Oracle Restart (Grid Infrastructure for a Standalone Server) that (at least) provides restart capabilities for the ASM instance, database listener, and the Oracle database instance.

Flashback Database

When restoring the database to a previous point in time is needed, e.g., after deleting data by human error, Oracle Autonomous Database automatically considers the fastest way to restore the data, using Flashback Database or RMAN restore. Flashback Database is usually much faster than a restore operation, providing less downtime.

AWS RDS does not support Flashback Database. Check Unsupported features in RDS for Oracle:

(Active / Autonomous) Data Gaurd

Autonomous Database provides local and across-region standby databases for data protection against disasters with a Recovery Time Objective (RTO) of 2 minutes and a Recovery Point Objective of up to 1 minute.

AWS RDS provides (Active) Data Gaurd. However, only for the non-CDB Architecture, which has been deprecated for almost a decade and is not supported anymore starting Oracle Database 21c onward. Additionally, it is available in-region only, not protecting against “real” disasters affecting an entire metropolitan area.

The AWS RDS Multi-AZ (Availability Zone) option, as the name reveals, provides an in-region replication only, too. More importantly, it is based on storage volume replication, not on redo apply. One of the worst characteristics of storage mirroring is replicating every block as is, including the corrupted ones, without any data validation and correction.

Application Continuity

Application Continuity makes planned maintenance activities and unplanned outages transparent for end-users by recovering the in-flight work of impacted database sessions. Application Continuity can easily be enabled on Oracle Autonomous Database.

As AWS RDS is not based on Grid Infrastructure, it is not possible to use Application Continuity.

Online (Auto) CPU Scaling

Scaling CPUs up and down according to your needs, even automatically, is an online operation in Oracle Autonomous Database that does not impact the availability of your database.

AWS RDS requires downtime for a scaling operation.

Performance

A database that does not perform well, or even hangs, might still be considered “running”, but it is not available from the end-user perspective. Oracle Autonomous Database benefits from the unique Exadata Performance features like Smar Scan, Real-Time Statistics, Automatic Indexing, and many other Exadata-specific performance features.

Additionally, Oracle RAC provides read-write scalability and load balancing, ensuring high performance when the workloads increase.

As discussed above, both Exadata and Oracle RAC are unavailable on AWS RDS.

Security

Yes, security impacts high availability. Unauthorized access to data usually does not only mean reading the data but typically also deleting or encrypting them, making the data unavailable.

Oracle Autonomous Database provides Database Vault, Oracle Label Security, Data Redaction, and Transparent Data Encryption TDE (enabled by default) at no additional cost, even with the Bring Your Own License (BYOL) model.

Database Vault is not supported in WAS RDS, Oracle Label Security is supported only for non-CDBs, and for Data Redaction and Transparent Data Encryption (TDE), the Oracle Advanced Security option is required.

Protection against Human Error

Human error plays a significant role in many data corruptions and data breaches. It is also one of the most challenging threats to eliminate, as we all are humans.

Oracle Autonomous Database reduces the opportunity for human error by taking care of standard and time-consuming security requirements. Additionally, human error is further reduced by restricting the range for SQL commands that can run, e.g., disabling TDE.

I will let AWS RDS talk for itself:

Additional Features

Additionally, Oracle Autonomous Database provides the following features that are not available in AWS RDS:

  • Refreshable Clones
  • Hybrid Columnar Compression (HCC)
  • Auto Partitioning
  • Oracle Enterprise Manager (non-CDB only in AWS RDS)
  • Object Storage cost for Automatic Backups is included

Refreshable Clones increase availability by allowing you to create one or more copies of the source database. The copies can be used as read-only databases or disconnected from the source and used for read-write for 24 hours for testing purposes.

Conclusion

If you are considering Oracle Autonomous Database vs. AWS RDS, have a look at the following summary before taking your final decision:

Further Reading

Would you like to get notified when the next post is published?