Until Oracle Database 11g Release 2 (11.2), Oracle RAC deployment was limited to what’s called administrator-managed deployment. Under this type of deployment, you configured each database instance to run on a predetermined node in the cluster. You could also specify which instance a database service would run by designating the instance as preferred and available when creating (or modifying) a database service.
Starting from the Oracle 11.2 release, you have the choice of using the newer policy-managed deployment, where there’s no direct link between database services and the instances on which they run. Instead of designating the preferred and available instances for a database service, you determine in which server pool a service will run. A server pool is a logical grouping of servers containing the resources managed by Oracle Clusterware to support applications. These resources include instances, services, application VIPs, and other application components. In order to use policy-managed deployment, you specify a service as “singleton” or “uniform” when creating or modifying a service. A singleton service will run only on a specific server in a server pool, whereas a service designated as uniform can run on any instance on any server in the server pool. The number of database instances is determined by the size of the server pool.
Server pools logically divide a cluster into groups of servers that host applications. Note that these “applications” can include a database service, for example, or even a non-database application such as an application server.
Policy-managed administration offers online server relocation based on policies you configure, in order to satisfy workload requirements. This ensures that the resources required for critical work are allocated as needed. A server can belong to a specific server pool at any given point in time. You can configure the policies to change the server pools based on the workload demand, to ensure that resource allocation matches changing workload requirements. You can also dedicate specific cluster servers to various applications and databases. Oracle uses the server pool attribute IMPORTANCE to direct the placement and prioritization of servers. Besides the IMPORTANCE attribute, you can configure a number of server pool attributes.
Dynamic database services enable you define characteristics and rules for users and applications in an Oracle RAC database. Oracle recommends that you create database services, which are an automatic workload management facility, to take advantage of various workload-balancing and failover options, as well as that you configure high availability.
A database service is a named representation of a single database instance or a set of instances. You can use services to group database workloads and ensure that client requests are serviced by the optimal instance(s). Services also help provide high availability by failing over client connections to surviving instances when one of the instances crashes or is otherwise unavailable.
Oracle Database Quality of Service Management
Oracle Database Quality of Service (QoS) Management is a policy-based product that helps monitor and manage the Oracle RAC workload. QoS enables you to automatically adjust resources such as server pools.
QoS Management automatically adjusts the configuration to keep applications running at peak performance levels. It also automatically adjusts to any changes in the system configuration and demand, thus helping smooth out application performance.
You can manage QoS through the Oracle QoS Management page in the Oracle Enterprise Manager Cloud Control.
Now let's look at Oracle RAC Components in details.