This is an excerpt from the bestselling book
Oracle Grid & Real Application Clusters. To get immediate
access to the code depot of working RAC scripts, buy it
directly from the publisher and save more than 30%.
Another important distinction
that needs to be made is between a high availability (HA) system and
a fault tolerant (FT) system. Fault tolerant systems offer higher
level of resilience and recovery. They use a high degree of hardware
redundancy and specialized software to provide near-instantaneous
recovery from any single hardware or software unit failure. This
technology is relatively expensive and requires allocation of higher
budgets. Fault Tolerant servers are primarily used for applications
that support high-value, high-rate transactions such as check
clearinghouses, automated teller machines, or stock exchanges.
Whereas, clustered systems are more often characterized as high
availability and scalable solutions. HA Clusters may not guarantee
non-stop operation, but they provide availability sufficient for
most mission critical business applications.
When referring to the
availability of databases, the total environment and infrastructure
in which a typical database is located need to be examined.
Typically, a database is an application hosted on a server. The
database application has its own availability features that are
unique from the system availability point of view.
There are three situations that
need to be considered:
* Database Availability is a
function of the system availability, or more appropriately the
server availability. If the server is inoperable for any reason, the
database is not available or usable.
* The server is up and running
and at the same time the database is functioning as expected, but
end users or applications are unable to access the database on
account of failures in the networking path. In this case, even
though the system and/or database are highly available, the data
service in not reachable.
* The database is a logical
structure for the physical data store that resides on the physical
disks, also known as the storage device. If for some reason, the
storage unit fails or the server is unable to reach or connect to
the storage unit, the database cannot be brought up. As a result,
database service is not available for use.
As an application, the database
is more viewed as a service. Factors like end-user database path
failures, system failures or storage failures equally affect the
ability to provide the database access to application users. As a
result, all of these factors need to be taken into consideration to
design a better database system. System Availability and Database
Availability may not be always the same.
Another important issue relevant
for the database is the need to maintain the database consistency.
Unlike application servers or other application instances, multiple
database instances or copies of database cannot exist. As the
database contents change in real-time, multiple copies cannot be
maintained in a timely manner.
The real solution is a Parallel
Database that has a single copy of the database files, but can be
accessed by multiple nodes concurrently through database instances.
HA systems are almost synonymous
with clustered systems. In order to minimize downtime, two or more
servers, called nodes, are linked to form a high-availability
cluster system. At the same time, Parallel Databases are another
type of the clustered systems, which offers multiple instances or
database processing locations.