High availability solutions for Oracle
Oracle introduced the concept of the Maximum Availability Architecture (MAA) as the foundation of the high availability architecture for mission-critical applications and databases that run in large corporate data centers. Maximum Availability refers to a comprehensive end-to-end solution developed for large, mission-critical data centers that require all layers of the application, data, and system environment to be fully redundant—for example, fault tolerant, with zero data loss, and maximum uptime to protect against loss in system performance and availability. Moreover, it provides application server protection with the Oracle Application Server topology, which includes middleware services, database tier with Oracle Data Guard, and system availability with Oracle RAC.
There are four high availability solutions for Oracle:
Oracle Data Guard
Oracle Streams
Oracle Application Server Clustering
High availability—Oracle 11g R1 and 11g R2 Real Application Clusters (RAC)
Oracle Data Guard
Oracle provides a true disaster recovery solution with Oracle Data Guard. Data Guard provides a standby database environment that can be used for failover or switchover operations in the event of a database failure that may occur at the primary database site.
A complete discussion of Data Guard is beyond the scope of this book. Since Data Guard requires special care and feeding with Oracle RAC environments, we will present a later chapter on how to integrate and manage a Data Guard physical standby solution with RAC environments.
Oracle Streams
Another option for implementing the Maximum Availability Architecture (MAA) blueprint for high availability is to use Oracle Streams or Oracle GoldenGate with the Oracle RAC environments.
Oracle Streams and Oracle GoldenGate are replication technologies that allow you to replicate a copy of your database or subset of database tables to another site. Oracle Streams is not a true disaster recovery solution or high availability option, but more of a complementary solution to enhance the availability options provided by Oracle Data Guard and Oracle RAC technologies. One of the most common ways to use this technology is with large Oracle data warehouses and data marts to replicate a subset of the source data to another environment for testing and verification purposes. A better solution would be to complement the replication technologies with transportable tablespaces to enhance performance, as TTS has robust performance advantages over replication technologies. Oracle Streams uses Advanced Queuing (AQ) as the foundation of its model for propagating changes between master and target replication sites.
In addition to Data Guard and Streams, as part of the Oracle Maximum Availability Architecture (MAA) solutions, we also have failover and clustering with Oracle Application Server Fusion Middleware servers.
Oracle Application Server Clustering
Oracle Application Servers form the core web and application layer foundation for many large data center environments. In this day and age of e-commerce and intranet site operations, Oracle Application Servers are the key components in a data center environment. Furthermore, many large firms use Oracle EBS or Oracle Application environments such as Oracle 11i or Oracle 12i Financials to manage the business operations for large financial transactions and reporting. As such, Oracle Application Servers are the middle-tier or application broker component of the Oracle Applications environments.
In order to implement true Disaster Recovery (DR) for high availability and protection against costly downtime and application data loss, Oracle provides clustering and failover technology as part of the Oracle Application Server environments.
In our coverage of the Oracle Maximum Availability Architecture (MAA), we introduced Data Guard, Streams, and Application Server clustering and failover. Now we will present how Oracle RAC fits into the grand scheme of this high availability paradigm.
High availability: Oracle 11g R1 Real Application Clusters (RAC)
Oracle 11g R1 RAC provides a combination of options that could be considered to be a high availability solution. It provides server-level redundancy, as well as database instance availability by clustering hardware and database resources. However, RAC is not a true disaster-recovery solution because it does not protect against site failure or database failure.
The reason is that with an Oracle RAC configuration, the database is shared by nodes in the cluster and staged on shared storage, which is a Single Point of Failure (SPOF). If the RAC database is lost, the entire cluster will fail. Many people incorrectly assume that RAC is a true Disaster Recovery (DR) solution when, in fact, it is not. For a true disaster recovery solution with Oracle, you would need to implement Data Guard to protect against site and data failure events.
High availability: Oracle 11g R2 Real Application Clusters (RAC)
Among the numerous enhancements to the Oracle 11g RAC technology, the following new features of Oracle 11g R2 RAC improve on high availability for Oracle database technology:
Oracle Automatic Storage Management Cluster File System (Oracle ACFS): A new scalable filesystem that extends Oracle ASM configurations and provides robust performance and availability functionality for Oracle ASM files.
Snapshot copy for Oracle ACFS: Provides point-in-time copy of the Oracle ACFS filesystem to protect against data loss.
Oracle ASM Dynamic Volume Manager (Oracle ADVM): Provides volume management services and disk driver interface to clients.
Oracle ASM Cluster Filesystem Snapshots: Provides point-in-time copy of up to 63 snapshot images with Oracle single instance and RAC environments with 11g R2.