Oracle RDS Multi-AZ Failover: High Availability in AWS

Amazon RDS Multi-AZ deployments enhance high availability and reliability for database instances by automatically replicating data to a standby instance in a different Availability Zone (AZ). In the event of a failure, AWS performs an automatic failover to the standby, minimizing downtime and ensuring business continuity. This setup is essential for mission-critical applications that require seamless database availability and disaster recovery.

Lets see how much does it take to perform Oracle RDS database failover? To find out, I created a small Oracle RDS database and tested failover with AWS CLI.

Deploy Oracle on ECS Fargate

If you want auto-scaling and managed containers, AWS ECS has to be used. It has many advantages and some of the main ones are
– Easier Oracle deployment without full VM installations
– More flexibility compared to RDS (can run XE, SE2, or Enterprise)
– Good for cost savings (shutdown when not in use)
– Enables containerized workflows on AWS
– Works well with ECS, Fargate, or Kubernetes for scalability

Lets go through the steps and see how it works.

Add Oracle XE Docker Image to ECR Repository

Here’s a short description how to get an Oracle XE Docker image from the Oracle Container Registry (https://container-registry.oracle.com) and add it to ECR Repository.

1. Prerequisites
Docker must be installed and running on your local machine.
AWS CLI must be configured with the necessary permissions to access ECR
Oracle account is needed to access the Oracle Container Registry.

Docker and AWS CLI can be installed on your local machine or if you prefer on small EC2 instance with free tier eligible. Here EC2 instance will be used.
How to install docker on EC2 – check here.

Deploy Oracle on Docker in EC2

Deploying Oracle Database inside a Docker container on AWS has the following advantages –

– Easier Oracle deployment without full VM installations.
– More flexibility compared to RDS (can run XE, SE2, or Enterprise).
– Good for cost savings (shutdown when not in use).
– Enables containerized workflows on AWS.
– Works well with ECS, Fargate, or Kubernetes for scalability.

And of course it is good possibility to play a bit with Oracle on AWS and to refresh your skills with one simple hands-on exercise.

Running Oracle on Docker is simple and gives you full control over your container.