Oracle databases offer multi-modal database management, which you can deploy on-premise or in the cloud. For cloud deployments, Oracle offers the use of its managed cloud platform. Alternatively, you can decide to go with different cloud providers, and set up an Oracle database on Azure or AWS. This article reviews cloud-based Oracle database options offered by these three cloud vendors.
Oracle Databases in Azure
In Azure, Oracle databases are typically hosted on standard virtual machines (VMs). You can configure these VMs with either the Standard or Enterprise editions of Oracle and either Windows Server or Oracle Linux hosts. For licensing, you can bring an existing license or purchase a new one from Oracle.
When configuring VM images, you can manually create an image or you can use one of the images that are preconfigured in the Marketplace. If you decide to use a custom image, you have the option to transfer an image created from your existing on-premises database or to configure an entirely new image.
Oracle Management in Azure
Once you set up your Oracle database in Azure, you can use a variety of native services as well as Oracle support solutions to manage your deployment.
Ensuring high availability
To ensure that your data remains highly available, Azure enables you to deploy databases across multiple availability zones or regions. It also provides the Azure Site Recovery service, which enables you to failover to a backup database in times of outage.
You can also implement features and service that are native to Oracle, such as:
- Data Guard—a set of services that enable you to create, monitor, and manage standby databases for recovery purposes.
- GoldenGate—a software package that enables real-time data replication, filtering, and transformation between database instances.
- Sharding—a database architecture that enables you to horizontally partition data across multiple databases.
Backing up your data
In addition to the above disaster recovery methods, Azure also supports two methods of database backup.
- Azure Backup—a native Azure service that enables you to automate and manage backups, and you can use it with multiple Azure services.
- Oracle Recovery Manager (RMAN)—a native Oracle feature that enables you to backup and restore databases.
Oracle Database in AWS
In AWS, there are two options for running an Oracle database. You can either host on EC2 instances or use Amazon Relational Database Service (RDS).
Setting up an Oracle database in EC2 instances works roughly the same as setting up any other instance. This method requires more work on your part but also provides greater control over configurations and flexibility over deployment. With EC2, you are responsible for managing Oracle updates, backups, and storage.
When using this method, you can employ AWS native services for monitoring, backup, and recovery. You can also use Oracle native services, such as Data Guard and RMAN.
Amazon EC2 is a good option if you:
- Need full administrative control including access at the OS level or SYS/SYSTEM users
- Have a database that is larger than 80% of the max size in RDS
- Need to retain specific IP addresses of databases or applications
RDS is a fully-managed database service that you can use for Oracle as well as Aurora, PostgreSQL, MySQL, MariaDB, and SQL Server. In RDS you can select between two instance types — standard or Provisioned IOPS. The latter is designed specifically for I/O-intensive, transactional workloads. You can also set up Read Replica and multiple availability zone deployments for improved availability and resilience.
When you use RDS, you can either bring your own Oracle license or you can choose a license included option. Bringing your own license offers cheaper rates but requires a bit more work for configuration.
Amazon RDS is a good option if you:
- Don’t want to worry about backup, recovery, updates, or storage management
- Want synchronous data replication to a recovery instance for Oracle Standard Edition
- Don’t want to purchase a stand-alone license
Oracle Database Cloud Service
The Oracle Database Cloud Service is a managed platform as a service (PaaS) offering from Oracle in which your databases are hosted on Oracle infrastructure. When you use this service, you are responsible for your databases but Oracle takes care of managing and maintaining the underlying infrastructure. In Database Cloud Service, you can choose from three different infrastructure options—bare metal, VMs, or Exadata.
When you select the bare metal option, you gain access to a dedicated service with up to 51.2TB of local NVMe storage. You can use this option with Oracle Database 11g, 12c, 18c, or 19c.
For management, you have access to native Oracle utilities and tooling and can perform tasks from a built-in console, software development kits, or REST API. For backup, you can store data on regional Oracle Cloud Infrastructure (OCI) Object Storage or Block Volumes.
When you select the VM option you have access to machines with up to 24 CPU cores and 40TB of network NVMe SSD storage. You can use this infrastructure with database versions 11g, 12c, 18c, and 19c.
For management, you have the same tools and options available as with bare metal infrastructure. Additionally, VM deployments in OCI are the only supported way to operate Oracle Real Application Clusters (RAC) on VM. Oracle RAC is an architecture that enables you to create a clustered database.
Oracle Exadata Cloud Service
The Exadata service enables you to operate your databases from Exadata machines. These machines are specifically designed for high-performance and enterprise-scale workloads. For example, OLTP, data warehousing, and real-time analytics. The Exadata service is for the Oracle Enterprise Edition with database versions 220.127.116.11, 18.104.22.168, 22.214.171.124, 18c or 19c.
When you select the Exadata option, you can choose from a quarter, half, or full-rack deployment. With these servers, you can access up to 368 CPU cores on up to eight nodes. Each node has up to 5.7TB of RAM, 300TB of NVMe flash cache, and 340TB of storage.
In the Exadata service you have the option to operate multiple databases and database versions at once for mixed workloads. You are also supported by automatic backup and recovery. For management, you have access to all of the same tools and utilities as bare metal and virtual machines. You also have support for RAC.
Oracle databases offer many benefits, including a high level of portability which enables you to deploy databases on a wide range of infrastructure environments. However, it is important to note that each environment offers different configurations and resources, which can greatly impact the performance, reliability and usage of the database.
When deploying Oracle databases in Azure, you can ensure high availability of VMs by using Data Guard and GoldenGate. You also get to use Azure’s built-in backup service and native integration with Oracle RMAN.
When deploying Oracle databases in AWS, you can set up your database in EC2, and then connect to native Oracle services like Data Guard and RMAN. This will give you a lot of control over your infrastructure. If you prefer simplicity over control, you can deploy your Oracle database using Amazon RDS.
When deploying Oracle databases on the Oracle cloud, you get to use Oracle’s managed cloud PaaS—Oracle Database Cloud Service. Once you set this up, you can choose between bare metal, VMs, and Exadata. The latter is a great option for high performance and enterprise-grade workloads.