If you are currently using Oracle Standard Edition (SE), or considering it to reduce your Oracle spend, you probably know that its high availability (HA) and disaster recovery (DR) options are limited. Since DataGuard is not available for Standard Edition, RAC is the only native availability option. Or at least it was, until Oracle took it away in Oracle 19c and announced a new option called Standard Edition High Availability (SE HA), which on close inspection reveals itself to be a downgrade from RAC.
Oracle RAC for SE delivered HA within a single data center with two running nodes supporting a single database. By comparison, SE HA is a set of packaged scripts that run on top of Oracle Clusters and use Grid Control to manage failover. Since SE HA uses Oracle Clusters and ASM, both the primary and standby (or failover) servers also have to be located in the same data center and connected to the same shared storage. Of course, just like RAC, SE HA uses the same database files—if those are unavailable, so too is your database. In other words, SE HA has the same data center limitations and the same failure points as RAC.
From a data center limitations and failure points perspective, the two solutions are comparable, but when you consider recovery times, it is clear that the new solution is a downgrade. As RAC is a clustered database with a shared cache architecture, all servers in the cluster pool are active, continuously processing traffic. If a server in the clustered pool fails, the database continues to process activity on the remaining nodes. In other words, there is no actual failover with RAC—you get continuous availability when handling server failures. By comparison, if you choose to adopt Oracle 19c SE High Availability and experience a server failure, this is what will happen:
- The instance will crash
- Grid control will need time to identify the crash
- Grid control will mount the database disks to a designated server
- Grid control will start the instance, triggering a recovery
- The instance will become available for users
It is important to test this failover, because this type of failure recovery could take a significant amount of time in your environment. In any event, it will certainly be longer than that you would have experienced with RAC.
It is also important to remember that availability is not just about handling server failures, it is about avoiding downtime altogether. Oracle Standard Edition users had the option of using RAC for rolling upgrades. With that option removed, Standard Edition users are now going to be required to take their database offline to perform the entire upgrade. And, Oracle’s more frequent release strategy (quarterly Release Updates, Update Revisions, annual Feature Releases) can be expected to increase the problem.
Assuming you are OK with the downgraded failover time, and elimination of rolling upgrades, it is important to recognize that within data-center high availability does not help with DR. If there's a fire in your data center, or an earthquake or other disaster, your business critical applications are going to be out of service.
It is pretty clear that Oracle wants you to upgrade to Enterprise Edition, so they keep key features out of reach for SE customers. As you think about your move to 19c, ask yourself if SE HA is really going to work for you, or if this is the right time to consider a new approach. Instead of taking Oracle’s Standard Edition High Availability downgrade, consider an upgrade to SharePlex, which offers an affordable option to improve availability, support rolling upgrades and add disaster recovery to your Oracle database environment.