HP DL145 HP InfiniBand Solution for Oracle RAC Environments white paper - Page 4

Internode synchronization in an Oracle RAC environment

Page 4 highlights

Figure 2. Protocols used in an Oracle RAC environment with InfiniBand Internode synchronization in an Oracle RAC environment Because RAC is a shared-disk clustering architecture, the database instances on each node must cooperate in order to maintain the integrity of the data. Database users could potentially attempt to update the same records from different nodes. The database instances must coordinate user access to the data to ensure the database does not become corrupted. There are four situations that warrant consideration when multiple Oracle instances access the same data. For reasons of simplicity, the examples refer to a two-node cluster with "node 1" and "node 2." • Read/read - User on node 1 wants to read a block that user on node 2 has recently read. • Read/write - User on node 1 wants to read a block that user on node 2 has recently updated. • Write/read - User on node 1 wants to update a block that user on node 2 has recently read. • Write/write - User on node 1 wants to update a block that user on node 2 has recently updated. The read/read case typically requires little or no coordination, depending the on the specific database implementation. In a traditional shared disk implementation, the request by the user on node 1 will be satisfied either via local cache access or by way of disk read operations. Oracle RAC allows the read request to be served by any of the caches in the cluster database where the order of access preference is local cache, remote cache, and finally disk I/O. If the query request is served by a remote cache, the block is transferred across the cluster interconnect from one node's cache to another. Both the read/write and write/write cases, in which a user on one or both nodes updates the block, coordination between the instances becomes necessary so that the block being read is a read consistent image (for read/write) and the block being updated preserves data integrity (for 4

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

Figure 2.
Protocols used in an Oracle RAC environment with InfiniBand
Internode synchronization in an Oracle RAC environment
Because RAC is a shared-disk clustering architecture, the database instances on each node must
cooperate in order to maintain the integrity of the data. Database users could potentially attempt to
update the same records from different nodes. The database instances must coordinate user access to
the data to ensure the database does not become corrupted.
There are four situations that warrant consideration when multiple Oracle instances access the same
data. For reasons of simplicity, the examples refer to a two-node cluster with “node 1” and “node 2.”
Read/read
— User on node 1 wants to read a block that user on node 2 has recently read.
Read/write
— User on node 1 wants to read a block that user on node 2 has recently updated.
Write/read
— User on node 1 wants to update a block that user on node 2 has recently read.
Write/write
— User on node 1 wants to update a block that user on node 2 has recently updated.
The
read/read
case typically requires little or no coordination, depending the on the specific
database implementation. In a traditional shared disk implementation, the request by the user on
node 1 will be satisfied either via local cache access or by way of disk read operations. Oracle RAC
allows the read request to be served by any of the caches in the cluster database where the order of
access preference is local cache, remote cache, and finally disk I/O. If the query request is served by
a remote cache, the block is transferred across the cluster interconnect from one node’s cache to
another.
Both the
read/write
and
write/write
cases, in which a user on one or both nodes updates the block,
coordination between the instances becomes necessary so that the block being read is a read
consistent image (for
read/write
) and the block being updated preserves data integrity (for
4