Chap - 4 RAC
Chap - 4 RAC
This chapter introduces cluster database processing and the features of Real
Application Clusters. This chapter includes the following topics:
You can use Real Application Clusters to deliver high performance, increased
throughput, and high availability. Before deploying Real Application Clusters,
however, you should understand Real Application Clusters processing.
Harnessing the power of clusters offers obvious advantages. A large task divided into
subtasks and distributed among multiple nodes is completed sooner and more
efficiently than if you processed the entire task on one node. Cluster processing also
provides increased performance for larger workloads and for accommodating rapidly
growing user populations.
With Real Application Clusters, you can scale applications to meet increasing data
processing demands without changing the application code. As you add resources
such as nodes or storage, Real Application Clusters extends the processing powers of
these resources beyond the limits of the individual components.
Data warehouse applications that access read-only data are prime candidates for Real
Application Clusters. In addition, Real Application Clusters successfully
manages Online Transaction Processing (OLTP) systems and hybrid systems which
combine the characteristics of both read-write and read-only applications. Real
Application Clusters also serves as an important component of robust high availability
solutions, tolerating failures with little or no downtime.
Real Application Clusters lowers the overall cost of ownership more effectively than
other cluster database products. This is due in great part to the single-system image
afforded by the Real Application Clusters architecture.
The degree of system consolidation that you can achieve with Real Application
Clusters enables you to use significantly less software and computing equipment than
other cluster database products. Moreover, you can deploy Real Application Clusters
for any configuration requiring high availability and scalability. In addition, the
comprehensive, easy-to-use manageability tools that interact with Real Application
Clusters keep your overall costs low by greatly reducing the administrative overhead
throughout the life of your project.
Expanded Scalability
High Availability
High availability refers to systems with redundant components that provide consistent,
uninterrupted service, even during failures. In most high availability configurations,
nodes are isolated from each other so that a failure on one node does not affect the
entire system.
Transparency
The concept of transparency implies that Real Application Clusters environments are
functionally equivalent to single-instance Oracle database configurations. In other
words, you do not need to make code changes to deploy applications on Real
Application Clusters if your applications ran efficiently on single-instance Oracle
configurations.
The Cache Fusion feature, which implies a fusing of the multiple buffer caches in a
cluster, simplifies the administration of Real Application Clusters environments. With
Real Application Clusters and Cache Fusion, you also do not need to perform capacity
planning.
Transparency is also realized by efficient resource use at both the application and
system levels. For example, you do not need to perform time-consuming resource
configurations by examining data access patterns because Real Application Clusters
does this automatically.
Oracle stores resources, such as data block information, in a buffer cache that resides
in memory. Storing this information locally reduces database operations and disk I/O.
Because each instance has its own memory, Real Application Clusters coordinates the
buffer caches of multiple nodes while minimizing disk I/O. This optimizes
performance and expands the effective memory to be nearly equal to the sum of all
memory in your cluster database.
To do this, Real Application Clusters uses the Global Cache Service (GCS) to
coordinate operations among the multiple buffer caches and to optimize Oracle's high
performance features. The Global Enqueue Service (GES) also assists in
synchronization by managing intranode communications. The GCS and GES are
described in more detail later in Part II of this book.
Row Locking
Oracle row locking and multi-version read consistency provide a high degree of
concurrency and throughput. Row locking ensures that transactions that modify
different rows in the same data block do not need to wait for each other to commit.
Multiversion read consistency ensures that read operations do not block write
operations and that write operations do not block read operations. Multiversion read
consistency creates snapshots or read consistent versions of blocks that have been
modified by a transaction that has not committed. This approach has two key benefits:
Read operations do not have to wait for resources because users modifying
data do not prevent readers from reading
A snapshot view of the data is available from a specific point in time
If you operate Oracle in ARCHIVELOG mode, then when a log file is full Oracle converts
it to an archive log file before overwriting the log file with information. In Real
Application Clusters, each instance automatically archives its own redo log files, or
one or more instances can archive the redo log files for some or all of the instances in
the cluster database.
If you operate your database in NOARCHIVELOG mode, then you can only make offline
backups. If you cannot afford data loss, then Oracle strongly recommends that you
use ARCHIVELOG mode.
Figure 1-1 Oracle Database with Oracle RAC Architecture