The most demanding Oracle Database workloads require very high I/O capacity. They also need low-latency access to storage. This document describes a scalable, high-bandwidth, low-latency solution for running Oracle Database workloads on Azure virtual machines (VMs) with shared file access via the network file system (NFS) protocol. The architecture uses Azure NetApp Files, a first-party Azure shared file-storage service.
Azure NetApp Files offers the following benefits:
- Flexibility: You can enlarge or reduce capacity and throughput on demand to align your configuration to the actual business needs without interruption to the service.
- Scalability: Use multiple storage volumes and add volumes on the fly to expand both capacity and throughput as needed
- Availability: Volumes are built on highly available fault-tolerant bare-metal fleet powered by ONTAP with built-in replication capabilities for business continuity and disaster recovery.
- Consolidation: Run multiple smaller database instances on an Azure VM while maintaining isolation of the database and log files over multiple storage volumes.
- Data protection: Space-efficient snapshot copies provide application-consistent point in time copies of live databases, and snapshot copies can be backed up by Azure NetApp Files backup or third-party solutions as desired.
- Cloning: Snapshots can be cloned to provide current data copies to test and development.
- Storage throughput: Networked storage is subjected to higher throughput limits than managed disk. As a result, you can use smaller VM SKUs than you would with managed disk storage without degrading performance. This approach could significantly reduce costs.
This solution has many uses:
- Running new Oracle Database instances that require high availability (HA) and have high standards for performance.
- Migrating highly performant, highly available Oracle Database instances from on-premises to Azure Virtual Machines.
- Migrating Oracle Exadata systems to Azure.
- Consolidating multiple small Oracle instances onto a single Azure VM with one or more storage volumes for individual isolation and management.
- Cloning enterprise-scale Oracle Database systems for use in test and development environments. The solution is particularly suited for cases that require advanced data management capabilities. It can help meet aggressive data protection service level agreements (SLAs) by utilizing fast and space-efficient snapshots.
- Implementing Oracle Pacemaker clusters that use NFS shared storage.
- Deploying SAP AnyDB, or Oracle 19c.
You can run a small-to-medium sized Oracle database on an Azure VM with one or more storage volumes for storing the database files, redo logs, and optionally a backup volume.
Deploy multiple data volumes for consolidating multiple smaller Oracle instances onto a single Azure VM.
Create an Azure NetApp Files capacity pool of the desired capacity and service level. Check the Quickstart for setting up Azure NetApp Files.
If you're migrating existing Oracle databases from on-premises to Azure, you can utilize AWR reports to obtain current throughput statistics which you need for sizing the Azure NetApp Files capacity pool and volumes. Recommendations for pool and volumes sizing can be obtained by processing AWR reports through the Atroposs service. Contact your Oracle on Azure specialist for details on how to use the service.
Available throughput for the volumes in a capacity pool is defined by the size and service level (Standard, Premium, or Ultra) of the selected capacity pool. Auto QoS capacity pools assign throughput to volumes directly related to the volume size. You can also assign throughput to volumes independently of their size, for which you can configure your capacity pool to use manual QoS.
To protect against unlikely zonal failures make use of Oracle Data Guard to replicate database files and redo logs to an alternate zone in the region.
By using multiple storage volumes for database files, you can achieve additional scalability and flexibility. You can scale up to eight volumes for database files by using application volume group for Oracle to deploy the volumes. This ensures that volumes are laid out in optimal locations within the Azure infrastructure and with lowest possible latency access by the VMs.
The solution uses the following components:
- Azure NetApp Files is a first-party Azure file storage system that enables migrating and running file-based applications in Azure without code changes. It's developed by Microsoft and NetApp, a Microsoft partner.
- Virtual Machines is an infrastructure-as-a-service (IaaS) offer. You can use Virtual Machines to deploy on-demand, scalable computing resources. Virtual Machines provides the flexibility of virtualization but eliminates the maintenance demands of physical hardware. This solution uses Linux VMs with Oracle Database software.
- Azure Virtual Network is a networking service that manages virtual private networks in Azure. Through Virtual Network, Azure resources like VMs can securely communicate with each other, the internet, and on-premises networks. An Azure virtual network is like a traditional network operating in a datacenter. But an Azure virtual network also provides scalability, availability, isolation, and other benefits of the Azure infrastructure.
- Oracle Database is a multi-model database management system. It supports various data types and workloads.
- The dNFS client optimizes I/O paths between Oracle and NFS servers. As a result, it provides better performance than traditional NFS clients.
This solution uses Oracle Data Guard (ODG) for disaster recovery (DR), and snapshots for local replication. A few options exist, as the following sections explain.
Cross-region replication provides efficient DR across regions in Azure. Cross-region replication uses storage-based replication. It doesn't use VM resources. For more information, see Create volume replication for Azure NetApp Files.
Cross-zone replication provides efficient HA across zones in Azure. Cross-zone replication uses the same highly efficient block-based replication with a minimum update interval of 10 minutes. This can be used to replicate the database files, while the redo log is replicated with Oracle Data Guard. For more information, see Cross-zone replication of Azure NetApp Files volumes.
ODG on Azure Virtual Machines functions like ODG in on-premises systems. But this product relies on its underlying architecture. If you run ODG on Azure VMs, consider also using one of these options to increase redundancy and availability:
Place the Oracle VMs in the same availability set. This approach provides protection during these events:
- Outages that equipment failures cause within a datacenter. VMs within an availability set don't share resources.
- Updates. VMs within an availability set undergo updates at different times.
Place the Oracle VMs in different availability zones. This approach provides protection against the failure of an entire datacenter. Each zone represents a set of datacenters within a region. If you place resources in different availability zones, datacenter-level outages can't take all your VMs offline.
You can only choose one of these options. An Azure VM can't participate in availability sets and zones at the same time. Each option has advantages:
- Availability zones provide better availability than availability sets. See SLA for Virtual Machines for a comparison.
- You can place VMs that are in the same availability set in a proximity placement group. This configuration minimizes the network latency between the VMs by guaranteeing that they're close to each other. In contrast, VMs that you place in different availability zones have greater network latency between them. It then takes longer to synchronize data between the primary and secondary replicas. As a result, the primary replica may experience delays. There's also an increased chance of data loss during unplanned failovers.
After you choose a solution, test it under load. Ensure that it meets SLAs for performance and availability.
This image shows the benefits of using Azure NetApp Files with Oracle Database.
As a simple-to-consume Azure native service, Azure NetApp Files runs within the Azure datacenter environment. You can provision, consume, and scale Azure NetApp Files just like other Azure storage options. Azure NetApp Files uses reliability features that the NetApp data management software ONTAP provides. With this software, you can quickly and reliably provision enterprise-grade NFS volumes for Oracle Database and other enterprise application workloads.
Azure NetApp Files uses a bare-metal fleet of all-flash storage. Besides using shared and highly scalable storage, Azure NetApp Files provides latencies of less than 1 millisecond. These factors make this service well-suited for using the NFS protocol to run Oracle Database workloads over networks.
The Azure DCsv2-series VMs can use high-performance, all-flash NetApp storage systems. These systems are also integrated into the Azure software-defined networking (SDN) and Azure Resource Manager frameworks. As a result, you get high-bandwidth, low-latency shared storage that's comparable to an on-premises solution. The performance of this architecture meets the requirements of the most demanding, business-critical enterprise workloads. For more information on the performance benefits of Azure NetApp Files, see Benefits of using Azure NetApp Files with Oracle Database.
Azure NetApp Files offers on-demand scalability. You can enlarge or reduce deployments to optimize each workload's configuration.
This solution can handle workloads that require advanced data management features. ONTAP provides functionality in this area that's unmatched in the industry:
Space-efficient, instantaneous cloning enhances development and test environments.
On-demand capacity and performance scaling makes efficient use of resources.
Snapshots provide database consistency points and offer these benefits:
- They're storage efficient. You only need limited capacity to create snapshots.
- You can quickly create, replicate, restore, or clone them. As a result, they provide backup and recovery solutions that achieve aggressive recovery time objective (RTO) and recovery point objective (RPO) SLAs.
- They don't affect volume performance.
- They provide scalability. You can create them frequently and store many simultaneously.
The combination of ODG and Azure NetApp Files provides DR for this architecture. Those DR solutions are appropriate for cloud and hybrid systems. Their plans work across multiple regions and with on-premises datacenters.
The following considerations apply to this solution:
For Azure NetApp Files:
- See SLA for Azure NetApp Files for this service's availability guarantee.
- As Enterprise-scale data management discusses, you can use snapshots in backup and recovery solutions. Use Oracle hot backup mode and Azure NetApp Files APIs to orchestrate database-consistent snapshots.
When you use Oracle Database in Azure, implement a solution for HA and DR to avoid downtime:
- Use ODG.
- Run the database on one virtual machine.
- Deploy a secondary VM, but only install the binaries on it.
- Put both VMs in the same virtual network. Then they can access each other over the private persistent IP address.
As the Highly performant systems section discusses, Azure NetApp Files provides built-in scalability.
Azure NetApp Files secures data in many ways. For information about inherent protection, encryption, policy rules, role-based access control features, and activity logs, see Security FAQs.
Using Azure NetApp Files instead of block storage can reduce costs:
You can make the configuration cost-efficient. Traditional on-premises configurations are sized for maximum workload requirements. Consequently, these configurations are most cost-effective at maximum usage. In contrast, an Azure NetApp Files deployment is scalable. You can optimize the configuration for the current workload requirement to reduce expenses.
You can use smaller VMs:
- Azure NetApp Files provides low-latency storage access. With smaller VMs, you get the same performance that larger VMs deliver with ultra disk storage.
- Cloud resources usually place limits on I/O operations. This practice prevents sudden slowdowns that resource exhaustion or unexpected outages can cause. As a result, VMs have disk throughput limitations and network bandwidth limitations. The network limitations are typically higher than disk throughput limitations. With network-attached storage, only network bandwidth limits are relevant, and they only apply to data egress. In other words, VM-level disk I/O limits don't affect Azure NetApp Files. Because of these factors, network-attached storage can achieve better performance than disk I/O. This fact is true even when Azure NetApp Files runs on smaller VMs.
Smaller VMs offer these pricing advantages over larger ones:
- They cost less.
- They carry a lower Oracle Database license cost, especially when you use smaller, constrained-code SKUs.
- The network-attached storage doesn't have an I/O cost component.
These factors make Azure NetApp Files less costly than disk storage solutions.
For resources on deploying Oracle Database on Azure VMs with Azure NetApp Files, see Solution architectures using Azure NetApp Files.
For information on how to deploy and access Azure NetApp Files volumes, see Azure NetApp Files documentation.
Consider the database size:
- For small databases, you can deploy all components, such as data files, the redo log, the archive log, and control files, into a single volume. Such simplified configurations are easy to manage.
- For large databases, it's more efficient to configure multiple volumes. You can use automatic or manual Quality of Service (QoS) volumes. These volume types provide more granular control over performance requirements.
This article is maintained by Microsoft. It was originally written by the following contributors.
Principal author:
- Deanna Garcia | Principal Program Manager
- Arnt de Gier | Technical Marketing Engineer for Azure NetApp Files
- Oracle database performance on Azure NetApp Files single volumes
- Linux NFS mount options best practices for Azure NetApp Files
- Azure NetApp Files performance benchmarks for Linux
- Capacity management FAQs
Fully deployable architectures that use Azure NetApp Files: