Licensing Oracle RAC on AWS is tricky, because Oracle wants to deter people from running it in any cloud environment but their own. While they have not outright forbade support for RAC on AWS, they have made some public statements to attempt to discourage users from doing so. Oracle released this brief in June of this year, and which purports that Oracle RAC is not license-able nor supportable in any cloud environment except Oracle Cloud Infrastructure (OCI). While the document contains many claims, they can be broken down into two categories: licensing and support. Setting aside the support claims for the moment, which are the bulk of the document, this blog will focus only on licensing.
Oracle’s policy on licensing software in Amazon EC2 is relatively clear and straightforward, which is unusual for Oracle. This extra-contractual policy grant by Oracle is contained in two documents. The main document Licensing Oracle Software in the Cloud Computing Environment lays out the rules for licensing Oracle software on a vCPU basis, instead of the normal contractual rules that tie Oracle licensing to physical processor cores. The second document, Oracle Authorized Cloud Environments, is linked from the first and details specifically the Oracle software products to which the policy applies. While the list includes the majority of Oracle database products, Oracle RAC is conspicuous in its absence.
Keep in mind that both the Cloud Licensing Policy and Oracle Authorized Cloud Environments documents are non-contractual documents. Pay particular attention to the footer, which states that the document is for educational purposes only and may not be included as part of any contract. While these documents are non-contractual, Oracle has made the extra-contractual grant of cloud licensing rights very publicly, and House of Brick has seen Oracle accept usage of them without challenge during software audits.
Based on these two documents, many DBAs will immediately jump the conclusion that Oracle RAC cannot be licensed on a vCPU basis in AWS just as Oracle seems to claim. And those claims are correct. Oracle RAC cannot be licensed in Amazon EC2 on a vCPU basis. That does not mean, however, that Oracle RAC cannot be licensed in EC2 at all. The vCPU licensing model is only one way to license Oracle products, and an extra-contractual one at that, so there are alternatives worth exploring.
The first alternative, available for larger enterprises, is the use of Unlimited License Amendments (ULA). Any organization with a ULA in place with Oracle has a right to unlimited deployment of certain Oracle products. If Oracle RAC is on the list of products included in a ULA, then there’s nothing stopping an organization from using unlimited Oracle RAC in EC2. Organizations with ULAs in place should check the fine print however, as sometimes there are clauses which forbid ULA usage in public cloud environments during the term of the ULA. Also, most ULAs we have reviewed specify that deployments in public cloud environments cannot be included during ULA certification. ULA certification is the process of counting license usage when converting from a ULA back to core-based licensing. While House of Brick generally does not encourage clients to look into ULAs, as they are often financially unfavorable in the long run, it can be an effective means of getting unlimited rights to deploy Oracle solutions in EC2.
The second alternative is a bit more counterintuitive but offers very promising options for organizations that find ULAs unattractive. One can simply use the traditional physical processor licensing rules to license a known set of physical servers in EC2. While many database professionals may not be aware of this, AWS offers customers the option to deploy entire dedicated hosts on a pay-as-you-go basis in EC2. These dedicated hosts can then house EC2 instances that are provisioned and managed in exactly the same as any other EC2 instance. Any organization with an AWS presence can leverage this feature right now with their existing account using the VPCs and AMIs already defined. Take a look at the AWS documentation on dedicated hosts for full details on how to implement this alternative.
From a licensing perspective, once there are known physical hosts with known physical socket and core counts, they can be licensed for Oracle products in the same manner as any on-premises physical host or collocated server. Sum the cores on the dedicated hosts and multiply by the core factor to determine the required number of Oracle Database Enterprise Edition and RAC licenses required. That’s all there is to it.
Of course, beyond the licensing issues, there’s still the issue of finding performant configurations that will work with RAC, but that’s a topic for another day. Until then, we hope you’ve found this information useful. As always, feel free to reach out to us if your organization is in a bind with Oracle licensing or Oracle databases in the cloud. Our expertise has helped many of our clients overcome these challenges and we look forward to the opportunity to help you as well.