The Architecture of RAC
In this chapter, the architecture of Oracle 11g
RAC is examined in further detail. RAC is a
multi-instance single database.
The database data files of an Oracle
database usually have the .dbf
file extension.
In RAC, these .dbf data files reside on a
shared disk.
The shared disk file system must be a
cluster aware
file system.
One way to better visualize RAC architecture is
to redefine what a computer or server is.
A typical server has the following
components:
-
Cabinet /chassis
-
Processors/CPUs (Central Processing Units)
-
Local hard drives
-
Memory/RAM (Random Access Memory)
-
System bus
-
Public network adapters/Public Ethernet
adapters
-
Public network link
Additional Server Components for RAC
A server that is part of an Oracle RAC
environment has these additional components:
These components will be explained briefly here
with cache fusion and clusterware being covered
in more detail later in this chapter.
Before shared disks and clustered file systems
were a common part of a data center, a computer
or server was defined on an individual or
discrete basis.
Like other clustered systems, Oracle RAC
redefines a server.
The opposite of individual and discrete
is attached, combined, indistinct and joined.
The Google search platform is also a
clustered system.
The hundreds of thousands of computers
that make up the Google search platform
combine/join together to create one massively
powerful server.
In the same way, Oracle RAC combines
multiple computers to present a single server
view to the application and end user.
Cache fusion
is a diskless cache coherency mechanism that
provides copies of blocks directly from a
holding instance’s memory cache, or local SGA
buffer cache, to a requesting instance’s memory
cache, or remote SGA buffer cache. A server’s
local memory communicates with a local CPU via
the system or memory bus.
In an Oracle RAC environment, the memory
bus to CPU communication channel still exists,
but the memory communication is extended across
the others servers using cache fusion.
The memory or cache is fused together
across the servers via Gigabit Ethernet,
10 Gigabit Ethernet or the InfiniBand
protocol.
Gigabit Ethernet’s maximum speed is 125
MB/s.
10 Gigabit Ethernet and most InfiniBand
implementations are about ten times faster than
Gigabit Ethernet.
Oracle Clusterware
allows clustering of servers providing the SSI
(single system image).
Oracle Clusterware is the intelligence in
Oracle RAC that ensures the required cooperation
between cluster nodes.
A single instance Oracle database can function
properly with only one network adapter which is
used by the public network.
A RAC database with its multiple
instances hosted on multiple servers also
requires a private network adapter on each
server to communicate over the private RAC
network. The private RAC network is referred to
as the interconnect.
This private network link is the
communication channel used by cache fusion.
Clusters and Grids Defined
Clusters
and grids, which were briefly described in
Chapter 1, have a different vision and different
objectives. Clusters have static resources for a
specific application. Grids, that can consist of
multiple clusters and standalone servers, are
dynamic resource pools and are shareable among
many different applications and users. A grid
does not assume that all servers in the grid are
running the same set of applications.