Oracle RAC
Encyclopedia
In database
computing
, Oracle Real Application Clusters (RAC) — an option for the Oracle Database
software produced by Oracle Corporation
and introduced in 2001 with Oracle9i — provides software for clustering and high availability
in Oracle database
environments. Oracle Corporation includes RAC with the Standard Edition of Oracle Database (aka Baby RAC), but makes it an extra-charge option for the Enterprise Edition.
software simultaneously while accessing a single database
, thus providing a clustered database.
In a non-RAC Oracle database, a single instance accesses a single database. The database consists of a collection of data file
s, control files, and redo log
s located on disk
. The instance comprises the collection of Oracle-related memory and operating system
processes that run on a computer system.
In an Oracle RAC environment, two or more computers (each with an instance) concurrently access a single database. This allows an application or user to connect to either computer and have access to a single coordinated set of data.
component Oracle Clusterware
to coordinate multiple servers and their sharing of data storage.
FAN (Fast Application Notification) technology detects down-states.
Since all computers/instances in an RAC access the same database, the overall system must guarantee the coordination of data changes on different computers such that whenever a computer queries data it receives the current version — even if another computer recently modified that data. Oracle RAC refers to this functionality as Cache Fusion. Cache Fusion involves the ability of Oracle RAC to "fuse" the in-memory data cache
d physically separately on each computer into a single, global cache.
makes sense for single-instance databases, it becomes even more necessary for clustered databases because of their increased complexity.
Oracle Real Application Clusters (RAC), introduced with Oracle9i in 2001, supersedes the Oracle Parallel Server (OPS) database option. Whereas Oracle9i required an external clusterware (known as vendor clusterware like Veritas
or Sun Cluster
) for most of the Unix flavors (except for Linux and Windows where Oracle provided free clusterware called Cluster Ready Services or CRS), as of Oracle 10g, Oracle's clusterware product was available for all operating systems. With the release of Oracle Database 10g Release 2 (10.2), Cluster Ready Services was renamed to Oracle Clusterware
. When using Oracle 10g or higher, Oracle Clusterware
is the only clusterware that you need for most platforms on which Oracle RAC operates (except for Tru cluster, in which case you need vendor clusterware). You can still use clusterware from other vendors if the clusterware is certified for Oracle RAC.
In RAC the write-transaction must take ownership of the relevant area of the database: typically this involves a request across the cluster interconnection (local IP network) to transfer the data-block
ownership from another node to the one wishing to do the write. This takes a relatively long time (from a few millisecond
s to tens of milliseconds) compared to single database-node using in-memory operations. For many types of applications, the time spent coordinating block access across systems is low relative to the many operations on the system, and RAC will scale
comparably to a single system. Moreover, high read-transactional databases (such as data-warehousing applications) work very well under RAC, as no need for ownership-transfer exists. (Oracle 11g has made many enhancements in this area and performs a lot better than earlier versions for read-only workloads.)
The overhead on the resource mastering (or ownership-transfer) is very minimal for fewer than three nodes, as the request for any resource in the cluster can be obtained in a maximum of three hops (owner-master-requestor). This makes Oracle RAC horizontally scalable with many nodes. Application vendors (such as SAP
) use Oracle RAC to demonstrate the scalability of their application. Most of the biggest OLTP
benchmarks are on Oracle RAC. Oracle RAC 11g supports up to 100 nodes.
For some applications, RAC may require careful application-partitioning to enhance performance
. An application which scales linearly on an SMP
machine may scale linearly under RAC. However, if the application cannot scale linearly on SMP, it will not scale when ported to RAC. In short the application scalability
is based on how well the application scales in a single instance.
and shared-everything architectures each have advantages over the other. DBMS vendors and industry analysts regularly debate the matter; for example, Microsoft
touts a comparison of its SQL Server 2005
with Oracle 10g RAC by Performance Tuning Corporation.
Oracle Corporation offered a Shared Nothing architecture RDBMS with the advent of the IBM SP and SP2 with the release of 7.x MPP editions, in which virtual shared drives (VSD) were used to create a Shared Everything implementation on a Shared Nothing architecture.
Some commercially-available databases offer a "shared-everything" architecture. IBM DB2
for z/OS
(the IBM
mainframe operating-system) has provided a high-performance data-sharing option since the mid 1990s when IBM released its mainframe hardware and software-clustering infrastructure. In late 2009, IBM announced DB2 pureScale, a shared-disk clustering scheme for DB2 9.8 on AIX that mimics the parallel sysplex implementation behind DB2 data sharing on the mainframe.
In February 2008, Sybase
released its Adaptive Server Enterprise
, Cluster Edition. It resembles Oracle RAC in its shared-everything design. See Sybase ASE Cluster Edition's data sheet here for details.
Although technically not shared-everything, Sybase
also provides a column-based relational database focused on analytic and datawarehouse applications called Sybase IQ
which can be configured to run in a shared disk mode.
ScaleDB provides a storage engine that transforms MySQL into a shared-disk database much like Oracle RAC. ScaleDB's Cache Accelerator Server (CAS) is a tier-based cache sharing solution that compares to Oracle's peer-based Cache Fusion.
" architectures share neither disk nor memory between nodes in the cluster. This is in contrast to "shared-everything" architectures, which share both.
Competitive products offering shared-nothing architectures include:
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
computing
Computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
, Oracle Real Application Clusters (RAC) — an option for the Oracle Database
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
software produced by Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...
and introduced in 2001 with Oracle9i — provides software for clustering and high availability
High availability
High availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....
in Oracle database
Oracle database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
environments. Oracle Corporation includes RAC with the Standard Edition of Oracle Database (aka Baby RAC), but makes it an extra-charge option for the Enterprise Edition.
Functionality
Oracle RAC allows multiple computers to run Oracle RDBMSRelational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
software simultaneously while accessing a single database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
, thus providing a clustered database.
In a non-RAC Oracle database, a single instance accesses a single database. The database consists of a collection of data file
Data file
A data file is a computer file which stores data to use by a computer application or system. It generally does not refer to files that contain instructions or code to be executed , or to files which define the operation or structure of an application or system ; but specifically to information...
s, control files, and redo log
Redo log
In the Oracle RDBMS environment, redo logs comprise files in a proprietary format which log a history of all changes made to the database. Each redo log file consists of redo records...
s located on disk
Disk storage
Disk storage or disc storage is a general category of storage mechanisms, in which data are digitally recorded by various electronic, magnetic, optical, or mechanical methods on a surface layer deposited of one or more planar, round and rotating disks...
. The instance comprises the collection of Oracle-related memory and operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
processes that run on a computer system.
In an Oracle RAC environment, two or more computers (each with an instance) concurrently access a single database. This allows an application or user to connect to either computer and have access to a single coordinated set of data.
Implementation
Oracle RAC depends on the infrastructureInfrastructure
Infrastructure is basic physical and organizational structures needed for the operation of a society or enterprise, or the services and facilities necessary for an economy to function...
component Oracle Clusterware
Oracle Clusterware
Oracle Clusterware is the cross platform cluster software required to run the Real Application Clusters option for Oracle Database. It provides the basic clustering services at the operating system level that enable Oracle software to run in clustering mode...
to coordinate multiple servers and their sharing of data storage.
FAN (Fast Application Notification) technology detects down-states.
Cache Fusion
Prior to Oracle 9, network-clustered Oracle databases used a storage device as the data-transfer medium (meaning that one node would write a data block to disk and another node would read that data from the same disk), which had the inherent disadvantage of lackluster performance. Oracle 9i addressed this issue: RAC uses a dedicated network-connection for communications internal to the cluster.Since all computers/instances in an RAC access the same database, the overall system must guarantee the coordination of data changes on different computers such that whenever a computer queries data it receives the current version — even if another computer recently modified that data. Oracle RAC refers to this functionality as Cache Fusion. Cache Fusion involves the ability of Oracle RAC to "fuse" the in-memory data cache
Cache
In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...
d physically separately on each computer into a single, global cache.
Versions
- Oracle Real Application Clusters One Node (RAC One Node) applies RAC to single-node installations running Oracle Database 11g Release 2 Enterprise Edition.
Evolution
Relative to the single-instance Oracle database, Oracle RAC adds additional complexity. While database automationDatabase administration and automation
Database administration is the function of managing and maintaining database management systems software. Mainstream DBMS software such as Oracle, IBM DB2 and Microsoft SQL Server need ongoing management...
makes sense for single-instance databases, it becomes even more necessary for clustered databases because of their increased complexity.
Oracle Real Application Clusters (RAC), introduced with Oracle9i in 2001, supersedes the Oracle Parallel Server (OPS) database option. Whereas Oracle9i required an external clusterware (known as vendor clusterware like Veritas
Veritas
In Roman mythology, Veritas, meaning truth, was the goddess of truth, a daughter of Saturn and the mother of Virtue. It was believed that she hid in the bottom of a holy well because she was so elusive. Her image is shown as a young virgin dressed in white...
or Sun Cluster
Sun Cluster
Solaris Cluster is a high-availability cluster software product for the Solaris Operating System, created by Sun Microsystems, a subsidiary of Oracle Corporation. It is used to improve the availability of software services such as databases, file sharing on a network, electronic commerce...
) for most of the Unix flavors (except for Linux and Windows where Oracle provided free clusterware called Cluster Ready Services or CRS), as of Oracle 10g, Oracle's clusterware product was available for all operating systems. With the release of Oracle Database 10g Release 2 (10.2), Cluster Ready Services was renamed to Oracle Clusterware
Oracle Clusterware
Oracle Clusterware is the cross platform cluster software required to run the Real Application Clusters option for Oracle Database. It provides the basic clustering services at the operating system level that enable Oracle software to run in clustering mode...
. When using Oracle 10g or higher, Oracle Clusterware
Oracle Clusterware
Oracle Clusterware is the cross platform cluster software required to run the Real Application Clusters option for Oracle Database. It provides the basic clustering services at the operating system level that enable Oracle software to run in clustering mode...
is the only clusterware that you need for most platforms on which Oracle RAC operates (except for Tru cluster, in which case you need vendor clusterware). You can still use clusterware from other vendors if the clusterware is certified for Oracle RAC.
In RAC the write-transaction must take ownership of the relevant area of the database: typically this involves a request across the cluster interconnection (local IP network) to transfer the data-block
Block (data storage)
In computing , a block is a sequence of bytes or bits, having a nominal length . Data thus structured are said to be blocked. The process of putting data into blocks is called blocking. Blocking is used to facilitate the handling of the data-stream by the computer program receiving the data...
ownership from another node to the one wishing to do the write. This takes a relatively long time (from a few millisecond
Millisecond
A millisecond is a thousandth of a second.10 milliseconds are called a centisecond....
s to tens of milliseconds) compared to single database-node using in-memory operations. For many types of applications, the time spent coordinating block access across systems is low relative to the many operations on the system, and RAC will scale
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
comparably to a single system. Moreover, high read-transactional databases (such as data-warehousing applications) work very well under RAC, as no need for ownership-transfer exists. (Oracle 11g has made many enhancements in this area and performs a lot better than earlier versions for read-only workloads.)
The overhead on the resource mastering (or ownership-transfer) is very minimal for fewer than three nodes, as the request for any resource in the cluster can be obtained in a maximum of three hops (owner-master-requestor). This makes Oracle RAC horizontally scalable with many nodes. Application vendors (such as SAP
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
) use Oracle RAC to demonstrate the scalability of their application. Most of the biggest OLTP
Online transaction processing
Online transaction processing, or OLTP, refers to a class of systems that facilitate and manage transaction-oriented applications, typically for data entry and retrieval transaction processing...
benchmarks are on Oracle RAC. Oracle RAC 11g supports up to 100 nodes.
For some applications, RAC may require careful application-partitioning to enhance performance
Performance
A performance, in performing arts, generally comprises an event in which a performer or group of performers behave in a particular way for another group of people, the audience. Choral music and ballet are examples. Usually the performers participate in rehearsals beforehand. Afterwards audience...
. An application which scales linearly on an SMP
Symmetric multiprocessing
In computing, symmetric multiprocessing involves a multiprocessor computer hardware architecture where two or more identical processors are connected to a single shared main memory and are controlled by a single OS instance. Most common multiprocessor systems today use an SMP architecture...
machine may scale linearly under RAC. However, if the application cannot scale linearly on SMP, it will not scale when ported to RAC. In short the application scalability
Scalability
In electronics scalability is the ability of a system, network, or process, to handle growing amount of work in a graceful manner or its ability to be enlarged to accommodate that growth...
is based on how well the application scales in a single instance.
Competitive context
Shared-nothingShared nothing architecture
A shared nothing architecture is a distributed computing architecture in which each node is independent and self-sufficient, and there is no single point of contention across the system...
and shared-everything architectures each have advantages over the other. DBMS vendors and industry analysts regularly debate the matter; for example, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
touts a comparison of its SQL Server 2005
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...
with Oracle 10g RAC by Performance Tuning Corporation.
Oracle Corporation offered a Shared Nothing architecture RDBMS with the advent of the IBM SP and SP2 with the release of 7.x MPP editions, in which virtual shared drives (VSD) were used to create a Shared Everything implementation on a Shared Nothing architecture.
Shared-Everything
"Shared-everything" architectures share both disk and memory between nodes in the cluster. This is in contrast to "shared-nothing" architectures which share neither.Some commercially-available databases offer a "shared-everything" architecture. IBM DB2
IBM DB2
The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...
for z/OS
Z/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...
(the IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
mainframe operating-system) has provided a high-performance data-sharing option since the mid 1990s when IBM released its mainframe hardware and software-clustering infrastructure. In late 2009, IBM announced DB2 pureScale, a shared-disk clustering scheme for DB2 9.8 on AIX that mimics the parallel sysplex implementation behind DB2 data sharing on the mainframe.
In February 2008, Sybase
Sybase
Sybase, an SAP company, is an enterprise software and services company offering software to manage, analyze, and mobilize information, using relational databases, analytics and data warehousing solutions and mobile applications development platforms....
released its Adaptive Server Enterprise
Adaptive Server Enterprise
Adaptive Server Enterprise is Sybase Corporation's flagship enterprise-class relational model database server product. ASE is predominantly used on the Unix platform but is also available for Windows.-History:...
, Cluster Edition. It resembles Oracle RAC in its shared-everything design. See Sybase ASE Cluster Edition's data sheet here for details.
Although technically not shared-everything, Sybase
Sybase
Sybase, an SAP company, is an enterprise software and services company offering software to manage, analyze, and mobilize information, using relational databases, analytics and data warehousing solutions and mobile applications development platforms....
also provides a column-based relational database focused on analytic and datawarehouse applications called Sybase IQ
Sybase IQ
Sybase IQ is a relational database software system used for business intelligence and data warehousing, produced by Sybase.-Features:As a column-oriented DBMS, Sybase IQ stores data tables as sections of columns of data rather than as rows of data...
which can be configured to run in a shared disk mode.
ScaleDB provides a storage engine that transforms MySQL into a shared-disk database much like Oracle RAC. ScaleDB's Cache Accelerator Server (CAS) is a tier-based cache sharing solution that compares to Oracle's peer-based Cache Fusion.
Shared-Nothing
"Shared-nothingShared nothing architecture
A shared nothing architecture is a distributed computing architecture in which each node is independent and self-sufficient, and there is no single point of contention across the system...
" architectures share neither disk nor memory between nodes in the cluster. This is in contrast to "shared-everything" architectures, which share both.
Competitive products offering shared-nothing architectures include:
- MySQL ClusterMySQL ClusterMySQL Cluster is a technology which provides shared-nothing clustering capabilities for the MySQL database management system. It was first included in the production release of MySQL 4.1 in November 2004. It is designed to provide high availability and high performance, while allowing for nearly...
(Oracle Corporation has owned MySQL since 2009) - IBM InfoSphere Warehouse editions that include the Database Partitioning Feature (formerly known as DB2 Extended Enterprise Edition)
- GreenplumGreenplumGreenplum is a database software company in San Mateo, California, specializing in enterprise data cloud solutions for large-scale data warehousing and analytics...
- ParaccelParaccelParAccel, Inc. is a vendor in the data warehouse appliance market category. Vendors in this category provide a purpose-built database management system used for data warehousing, business intelligence and analytic processing and, according to Hackathorn and White, there are varying degrees of...
- NetezzaNetezzaNetezza designs and markets high-performance data warehouse appliances and advanced analytics applications for uses including enterprise data warehousing, business intelligence, predictive analytics and business continuity planning....
(aka. Netezza Performance Server) - TeradataTeradataTeradata Corporation is a vendor specializing in data warehousing and analytic applications. Its products are commonly used by companies to manage data warehouses for analytics and business intelligence purposes. Teradata was formerly a division of NCR Corporation, with the spinoff from NCR on...
- VerticaVerticaVertica Systems is an analytic database management software company. Vertica was founded in 2005 by database researcher Michael Stonebraker, and Andrew Palmer; its President and CEO is Christopher P. Lynch. HP announced it would acquire the company in February 2011. On March 22, 2011, HP completed...
- Lexst Database ClusterLexst Database ClusterLEXST Cluster is a simple database management system which provides both horizontal partitioning and vertical partitioning. It's designed to provide high performance when querying a huge table which exceeds 1 million rows. Lexst scaling is linear, the biggest cluster allows 20,000 nodes included,...
External links
- Oracle RAC Documentation
- Oracle Real Application Clusters (official website from Oracle CorporationOracle CorporationOracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...
) - A Step-By-Step Project Guide for Implementing Oracle RAC