|Oracle9i Real Application Clusters Deployment and Performance
Release 1 (9.0.1)
Part Number A89870-02
A file that contains information about error messages and exceptions that can occur during database operations. Each database instance maintains one alert file.
Buffer busy due to global cache is a wait event that is signaled when a process has to wait for a block to become available because another process is obtaining a resource for this block.
Buffer busy waits is a wait event that is signaled when a process cannot get a buffer because another process is using the buffer at that moment.
Cache Fusion allows the direct transfer of data blocks between instances by way of an interconnect without causing forced writes to disk. That is, when one instance needs a current or consistent-read copy of a data block from another instance for a query or DML operation, the holding instance can transmit the block directly into the cache of the requesting instance.
Cluster Manager is an operating system-dependent component that discovers and tracks the membership state of nodes by providing a common view of membership across the cluster. The Cluster Manager also monitors process health. The Lock Monitor Process (LMON), a background process that monitors the health of the Global Cache Service (GCS), registers and de-registers from the CM. The CM also manages recovery from any network card or cable failures.
A feature that balances the number of active connections among various instances and shared server dispatchers for the same service. Because of service registration's ability to register with remote listeners, a listener is always aware of all instances and dispatchers. This way, a listener can send an incoming client request for a specific service to the least loaded instance and least loaded dispatcher regardless of its location.
A client connect request is forwarded to another listener if the first listener is not responding. Connect-time failover is enabled by service registration, because the listener knows whether an instance is up prior to attempting a connection.
Consistent gets are the number of buffers that are obtained in consistent read (CR) mode.
The Global Cache Service (GCS) ensures that a consistent read block (also known as the master copy data block) is maintained. The consistent read block is the master block version that holds all the changes. It is held in at least one System Global Area (SGA) in the cluster if the block is to be changed. If an instance needs to read the block, then the current version of the block can reside in many buffer caches as a shared resource. Thus, the most recent copy of the block in all System Global Areas contains all changes made to that block by all instances, regardless of whether any transactions on those instances have committed.
The Oracle Enterprise Manager Console gives you a central point of control for the Oracle environment through an intuitive graphical user interface (GUI) that provides powerful and robust system management.
A file that records the physical structure of a database and contains the database name, the names and locations of associated databases and online redo log files, the timestamp of the database creation, the current log sequence number, checkpoint information and various other records about the database's structure and health.
The number of CR blocks shipped from the instance that has a block in exclusive access mode to the instance requesting a CR version of this block.
The cr request retry statistic is a wait that is incurred whenever Oracle re-submits a consistent read request when Oracle detects that the holding instance is no longer available.
A method of routing data based on how the data is used within an application.
A file that contains the contents of logical database structures, such as tables and indexes. One or more datafiles form a logical unit of storage called a tablespace. A datafile can be associated with only one tablespace and only one database.
Db block changes is a statistic that shows the number of current buffers obtained in exclusive mode for DML.
db block gets is a statistic that shows the number of current buffers obtained for a read.
The DBWn processes are responsible for writing modified (dirty) buffers in the database buffer cache to disk.
DBWR cross-instance writes (also known as forced writes) are the number of writes that an instance has to perform to disk to make a previously exclusively held block available for another instance to read into its buffer cache. DBWR cross-instance writes are practically eliminated with Cache Fusion, unless you specify a value greater than 0 (zero) for the
A server that requires a dedicated server process for each user process. There is one server process for each client. Oracle Net sends the address of an existing server process back to the client. The client then resends its connect request to the server address provided. Contrast this with the shared server.
The degree of parallelism specifies the number of processes, or threads, used in parallel operations. Each parallel process or thread can use one or two parallel execution processes depending on the SQL statement's complexity.
DFS Lock Handles are pointers to global resources. To perform operations on global enqueue service resources, the process first needs to acquire a DFS handle.
Disk affinity is the relationship between data on a disk and the instance that needs to access it. True disk affinity is only available in shared nothing disk configurations. This enables you to partition tablespaces across disks such that each partition is accessed by one and only one instance. The instance accessing the data on that disk has disk affinity.
A process that enables many clients to connect to the same server without the need for a dedicated server process for each client. A dispatcher handles and directs multiple incoming network session requests to shared server processes. See also shared server.
The number of flow-control (nullreq and nullack) messages that are sent by the LMS process.
The number of flow-control (nullreq and nullack) messages received by the LMD process.
Forced disk writes refer to the forced writing of a data block to disk by one instance when the data block is requested by another instance for a DML operation. Forced Writes are practically eliminated in Oracle9i with Cache Fusion, but they remain relevant if you specify 1:1 or 1:n releasable or fixed resources with the
GC_FILES_TO_LOCKS parameter. In this case, Cache Fusion is disabled.
Global cache bg acks is a wait event that only can occur during startup or shutdown of an instance when the LMS process finalizes its operations.
The global cache busy statistic is a wait event that occurs whenever a session has to wait for an ongoing operation on the resource to complete.
The global cache cr cancel wait statistic is a wait event that occurs whenever a session waits for the AST to complete for a canceled block access request. Cancelling the request is part of the Cache Fusion Write Protocol.
Global cache converts are resource converts of buffer cache blocks. This statistic is incremented whenever GCS resources are converted from Null to Exclusive, Shared to Exclusive, or Null to Shared.
Global cache convert time is the accumulated time that all sessions require to perform global conversions on GCS resources.
Global cache convert timeouts are incremented whenever a resource operation times out.
Global cache cr block flush time is the time waited for a log flush when a CR request is served. Once LGWR has completed flushing the changes to a buffer that is on the log flush queue, LMS can send it. It is part of the serve time.
When a process requests a consistent read for a data block that is not in its local cache, it sends a request to another instance. Once the request is complete, in other words, the buffer has been received, Oracle increments the statistic.
The global cache cr block receive time statistic records the total time required for consistent read requests to complete. In other words, it records the accumulated round-trip time for all requests for consistent read blocks.
The global cache cr blocks served statistic is the number of requests for a consistent read block served by LMS. Oracle increments this statistic when the block is sent.
The global cache cr block build time statistic is the time that the LMS process requires to create a consistent read block on the holding instance
The global cache cr block send time statistic is the time required by LMS to initiate a send of a consistent read block. For each request, timing begins when the block is sent and stops when the send has completed. This statistic only measures the time it takes to initiate the send; it does not measure the time elapsed before the block arrives at the requesting instance.
Await event that occurs when a session waits for the acquisition interrupt to complete for a canceled CR request. Cancelling the CR request is part of the Cache Fusion write protocol.
The global cache cr request statistic is a wait event that occurs whenever a process has to wait for a pending CR request to complete. The process waited for either shared access to a block to be granted before reading the block from disk into the cache, or it waited for the LMS of the holding instance to send the block.
The global cache cr timeouts statistic identifies a request for a consistent read block that has an excessive delay and that has timed out. This could be due to system performance problems, a slow interconnect network, or dropped network packets. The value of this statistic should always be 0 (zero).
The global cache current block flush time statistic is the time it takes to flush the changes to a block to disk, otherwise known as a forced log flush, before the block is shipped to the requesting instance
The global cache current block pin time statistic is the time it takes to the pin the current block before shipping it to the requesting instance. Pinning a block is necessary to disallow further changes to the block while it is prepared to be shipped to another instance.
The global cache current blocks received statistic is the number of current blocks received from the holding instance over the interconnect.
The global cache current block receive time statistic is the accumulated round-trip time for all requests for current blocks
The global cache current block send statistic is the time it takes to send the current block to the requesting instance over the interconnect.
The global cache current blocks served statistic is the number of current blocks shipped to the requesting instance over the interconnect
The global cache freelist wait statistic is a wait event that occurs when Oracle must wait after it detects that the local element free list is empty.
The global cache freelist waits statistic is the number of times Oracle found the resource element free list empty.
The global cache gets statistic is the number of buffer gets that result in opening a new resource with the GCS.
The global cache get time statistic is the accumulated time of all sessions needed to open a GCS resource for a local buffer.
Global cache initialization parameters are initialization parameters that determine the size of the collection of global that protect the database buffers on all instances.
The global cache null to S statistic is a wait event that occurs whenever a session has to wait for a resource conversion to complete.
The global cache null to X statistic is a wait event that occurs whenever a session has to wait for this resource conversion to complete.
The global cache open S statistic is a wait event that occurs when a session has to wait for receiving permission for shared access to the requested resource.
The global cache open X statistic is a wait event that occurs when a session has to wait for receiving a exclusive access to the requested resource.
The global cache S to X statistic is a wait event that occurs whenever a session has to wait for this resource conversion to complete.
The global cache pending ast statistic is a wait event that can occur when a process waits for an acquisition interrupt before Oracle closes a resource element.
A wait event that occurs when a session must wait for the acquisition interrupt to complete for a canceled predecessor read request. Cancelling a predecessor read request is part of the Cache Fusion write protocol.
The global cache retry prepare statistic is a wait event that occurs whenever Oracle fails to prepare a buffer for a consistent read or Cache Fusion request, and when Oracle cannot ignore or skip this failure.
The Global Cache Service is the process that implements Cache Fusion. It maintains block modes for blocks in the global role and is responsible for block transfers among instances. The Global Cache Service accomplishes these tasks using background processes such as the Global Cache Service process (LMS) and the Global Enqueue Service process (GES).
The Global Cache Service Processes (LMSn) handle remote Global Cache Service messages. Current Real Application Clusters software provides for up to 10 Global Cache Service Processes. The number of LMSn processes varies depending on the amount of messaging traffic among nodes in the cluster. The LMSn processes handle the acquisition interrupt and blocking interrupt requests from the remote instances for Global Cache Service resources. For cross-instance consistent read requests, LMSn creates a consistent read version of the block and sends it to the requesting instance. LMSn also controls the flow of messages to remote instances.
The global database name is the full name of the database that uniquely identifies it from another database. The global database name is of the form
database_name.database_domain, for example, sales.us.acme.com.
This service coordinates enqueues that are shared globally.
The Global Enqueue Service Daemon (LMD) is the resource agent process that manages Global Enqueue Service resource requests. The LMD process also handles deadlock detection Global Enqueue Service requests. Remote resource requests are requests originating from another instance.
The background Global Enqueue Service Monitor (LMON) monitors the entire cluster to manage global resources. LMON manages instance and process expirations and the associated recovery for the Global Cache and Global Enqueue Services. In particular, LMON handles the part of recovery associated with global resources. LMON-provided services are also known as cluster group services (CGS).
The global lock async converts statistic is the number of resources that Oracle converted from an incompatible mode.
The global lock sync gets statistic is the number of GCS resources that Oracle must open synchronously. Sync gets are mostly for GES resources (for example, library cache resources).
The global lock async gets statistic is the number of GES resources that Oracle must open asynchronously. Async gets are only used for GES resources and include the number of global cache gets.
The global lock get time statistic is the accumulated time for all GES resources that Oracle needed to open.
The global lock sync converts statistic is the number of GES resources that Oracle converted from an incompatible mode. Sync converts occur mostly for GES resources.
The global lock convert time statistic is the accumulated time for all global lock sync converts and global lock async converts.
The high water mark is the highest limit within a segment for which space has been allocated to store data blocks. When a commit executes, if the new limit is greater than the previous limit, the high water mark is updated.
A hybrid database is one that has both OLTP and Data Warehouse processing characteristics.
The initialization parameter file is a file with parameter settings that initialize the database (
.ora). In the case of Real Application Clusters, it initializes the instances within a cluster (
initsid.ora). The default single initialization parameter file is known as
When a database is started on a database server (regardless of the type of computer), Oracle allocates a memory area called the System Global Area (SGA) and starts one or more Oracle processes. This combination of the SGA and the Oracle processes is called an instance. The memory and processes of an instance efficiently manage the database's data and serve the database users. You can connect to any instance to access information within a Real Application Clusters database.
Use instance groups to limit the number of instances that participate in a parallel operation. You can create any number of instance groups, each consisting of one or more instances. You can then specify which instance group is to be used for any or all parallel operations. Parallel execution servers will only be used on instances that are members of the specified instance group.
Represents the name of the instance and is used to uniquely identify a specific instance when multiple instances share common service names. The instance name is identified by the
INSTANCE_NAME parameter in the initialization parameter file. The instance name is identical to Oracle System Identifier (SID).
A number that associates extents of data blocks with particular instances. The instance number enables you to start up an instance and ensure that it uses the extents allocated to it for inserts and updates. This ensures that it does not use space allocated for other instances. The instance cannot use data blocks in another free list unless the instance is restarted with that instance number.
You can use various SQL options with the
INSTANCE_NUMBER initialization parameter to associate extents of data blocks with instances.
The instance number is depicted by the
INSTANCE_NUMBER parameter in the instance initialization file,
The inter-process communication layer is an operating system-dependent component that enables transfers of messages, consistent-read, and current versions of data blocks between instances on different nodes.
The listener process is a separate process residing on the server that listens for incoming client connection requests and manages server traffic. The listener brokers the client request, handing the request to the server when the server is available. Every time a client (or server acting as a client) requests a network session with a server, a listener receives the actual request. If the client's information matches the listener's information, then the listener grants a connection to the server.
Load balancing is the even distribution of active database connections among instances. In the context of parallel execution, load balancing refers to the distribution of parallel execution server processes to spread work among the CPUs and memory resources.
The lock buffers for read statistic is the number of up-converts from Null to Shared.
The lock gets per transaction statistic is the number of global lock sync gets and global lock async gets per transaction.
The lock converts per transaction statistic is the number of global local sync converts and global lock async converts per transaction.
The number of messages intended to be sent directly but that are instead queued and delivered later by LMD/LMS.
The number of messages received by the LMD process.
The number of messages sent directly by Oracle processes.
The number of messages explicitly queued by Oracle processes.
See shared server.
See Oracle Net.
A node is machine where an instance resides.
Operating system context switches occur when a thread's time allotment has elapsed, when a thread with a higher priority has become ready to run, or when a running thread needs to wait, for example, for I/O to complete.
The operating system-dependent (OSD) layer is a software layer that consists of several software components developed either by vendors for UNIX platforms, or by Oracle for NT installations of the Oracle database. The OSD layer maps the key operating system/cluster-ware services required for operation of Real Application Clusters.
The Oracle Data Gatherer collects performance statistics for the Oracle Performance Manager. You must install the Oracle Data Gatherer on a node on your network.
A system management tool that provides an integrated solution for centrally managing your heterogeneous environment. Oracle Enterprise Manager combines a graphical console, management server, Oracle Intelligent Agent, repository database, and tools to provide an integrated, comprehensive systems management platform for managing Oracle products.
The Oracle Enterprise Manager Console is a suite of GUI tools that make up the Oracle Enterprise Manager product.
The Oracle Intelligent Agent is a process that runs on each of the node that functions as the executor of jobs and events sent by the console by way of the Management Server. The Oracle Intelligent Agent ensures high availability since the agent can function regardless of the status of the Console or network connections.
Oracle Net is the foundation of Oracle's family of networking products, allowing services and their applications to reside on different computers and communicate as peer applications. The main function of Oracle Net is to establish network sessions and transfer data between a client machine and a server or between two servers. Once a network session is established, Oracle Net acts as a data courier for the client and the server.
Oracle Performance Manager is an add-on application for Oracle Enterprise Manager that offers a variety of tabular and graphic performance statistics for Real Application Clusters. The statistics represent the aggregate performance for all instances.
An Oracle System Identifier is a name that identifies a specific instance of a running pre-release 8.1 Oracle database. For a Real Application Clusters database, each node within the cluster has an instance referencing the database. The database name, specified by the
DB_NAME parameter in the
.ora file, and unique thread ID make up each node's SID. The thread ID starts at 1 for the first instance in the cluster, and is incremented by 1 for the next instance, and so on.
For pre-release 8.1 databases,
SID identified the database. The
SID was included in the part of the connect descriptor in a
tnsnames.ora file, and in the definition of the network listener in the
Oracle9i Enterprise Edition is an object-relational database management system (ORDBMS). It provides the applications and files to manage a database. All other Real Application Clusters components are layered on top of the Oracle9i Enterprise Edition.
Parallel automatic tuning automatically controls values for all parameters related to parallel execution. These parameters affect several aspects of server processing, namely, the degree of parallelism (DOP), the adaptive multi-user feature, and memory sizing. Initialize and automatically tune parallel execution by setting the initialization parameter
Parallel execution refers to multiple processes operating together to complete a single database transaction. Parallel execution works on both single and multiple instance Oracle installations. Parallel execution is also referred to parallel query.
The physical reads statistic is the number of disk reads that had to be performed when a request for a data block could not be satisfied from a local cache..
The physical writes statistic is the number of write I/Os performed by the DBWn processes. This number includes the number of DBWR cross instance writes (forced writes) in Oracle9i when
GC_FILES_TO_LOCKS is set. Setting
GC_FILES_TO_LOCKS for a particular datafile will enable the use of the old ping protocol, and will not leverage the Cache Fusion architecture.
Pings are actually forced disk writes, which were common in previous Oracle cluster software products. Pings occurred because a data block can only be modified by one instance at a time. Before Real Application Clusters, if one instance modifies a data block that another instance requires, then whether a forced disk write occurs depends on the type of request submitted for the block. If the requesting instance needs the block for modification, then the holding instance's resources on the data block must be converted accordingly. The first instance must write the block to disk before the requesting instance can read it. This constitutes a forced disk write to a block.
PMON is a process monitor database process that performs process recovery when a user process fails. PMON is responsible for cleaning up the cache and freeing resources that the process was using. PMON also monitors dispatcher and server processes and restarts them if they have failed. As a part of service registration, PMON registers instance information with the listener.
Raw devices are disks or partitions on disk drives that do not have a file system set up on them. Raw devices are used for Real Application Clusters since they enable the sharing of disks.
An architecture that allows multiple instances to access a shared database of datafiles. Real Application Clusters is also a software component that provides the necessary Real Application Clusters scripts, initialization files, and datafiles to make the Oracle9i Enterprise Edition a Real Application Clusters database.
RMAN is an Oracle tool that enables you to back up, copy, restore, and recover datafiles, control files, and archived redo logs. It is included with the Oracle server and does not require separate installation. You can invoke RMAN as a command line utility from the operating system (O/S) prompt or use the GUI-based Enterprise Manager Backup Manager.
A redo log file is a file that contains a record of all changes made to data in the database buffer cache. If an instance failure occurs, then the redo log files are used to recover the modified data that was in memory.
The remote instance undo block writes statistic is the number of rollback segment undo blocks written to disk by DBWn as part of a forced write.
The remote instance undo header writes statistic is the number of rollback segment header blocks written to disk by DBWn as part of a forced write.
A repository database, such as that used by Oracle Enterprise Manager, is a set of tables in an Oracle database, to store data to manage Real Application Clusters environments. This database is separate from any shared Real Application Clusters database on the nodes.
Reverse key indexes reverse the bytes of each column indexed while keeping the column order. This avoids performance degradation in Real Application Clusters where index modifications concentrate on a small set of leaf blocks. Reversing the keys of You cannot use reverse key indexes for index range scans.
Rollback segments contain transactions to undo changes to data blocks for uncommitted transactions. Rollback segments also provide read consistency to roll back transactions and to recover the database. Each node typically has two rollback segments that are identified with a naming convention of RBSthread_id_rollback_number by the
ROLLBACK_SEGMENTS parameter in the instance initialization file.
A seed database is a preconfigured, ready-to-use database that requires minimal user input to create.
Server Management (SRVM) is a comprehensive, integrated system management solution for managing Real Application Clusters environments. Server Management enables you to manage multi-instance databases in heterogeneous environments. Server Management is part of the open client/server architecture of Oracle Enterprise Manager. In addition to managing cluster databases, Server Management enables you to schedule jobs, perform event management, monitor performance, and obtain statistics to tune Real Application Clusters databases.
A service name is a logical representation of a database, which is the way a database is presented to clients. A database can be presented as multiple services and a service can be implemented as multiple database instances. The service name is a string that is the global database name, a name comprised of the database name (
DB_NAME) and domain name (
DB_DOMAIN), entered during installation or database creation.
If you are not sure what the global database name is, then you can obtain it from the combined values of the
SERVICE_NAMES parameter in the initialization file.
Service registration is a feature by which the PMON process (or shared server Dispatcher processes when using shared server) automatically registers information with a listener. Because this information is registered with the listener, you do not need to configure the
listener.ora file with this static information.
The shared server is a server configured to allow many user processes to share very few server processes. This means increases the number of users that can be supported. With shared server, many user processes connect to a dispatcher. The dispatcher directs multiple incoming network session requests to a common queue. An idle shared server process from a shared pool of server processes picks up a request from the queue. This means a small pool of server processes can serve a large amount of clients. Contrast this with dedicated server.
Star schemas are query-centric schemas that when represented in a diagram have a fact table at the center. The fact table usually contains the data element that is central to queries operating against the schema. A fact table is often quite large and is surrounded by several dimension tables that contain data that are attributes of the data in the fact table. Star schemas simplify query development because it is intuitive as to how to join attributes in the dimension tables with the fact table data. Star schemas are best suited for data warehousing environments and are thus less useful for OTLP environments.
Striping refers to the interleaving of a related block of data across disks. If you properly implement striping, then it reduces I/O and improves performance. Because striping software is operating system-dependent, rely on your vendor documentation to ensure proper installation and configuration. There are two primary methods of striping, single-user or multi-user. These terms describe the type of environments in which each type of striping is most beneficial. The latter is commonly implemented for Real Application Clusters. With multi-user striping, the performance improvement is due to simultaneous disk arm movements reading related data on multiple hard drives. The degree to which average disk access time improves is proportional to the number of drives.
System change numbers uniquely identify a committed transaction and the changes it makes. Within Real Application Clusters, system change numbers must not only be maintained within an instance, but they must also be synchronized across all instances with a cluster.
The System Global Area is a group of shared memory structures that contain data and control information for an Oracle instance.
A tablespace is a logical portion of an Oracle database used to allocate storage for table and index data. Each tablespace corresponds to one or more physical datafiles. Every Oracle database has a tablespace called
SYSTEM and can have additional tablespaces. A tablespace is used to group related logical structures. For example, tablespaces commonly group all of an application's objects to simplify administrative operations.
TCP/IP is a set of protocols that allow cooperating computers to share resources across a network.
The thread ID is the number of a redo thread for an instance. Any available redo thread number can be used, but an instance cannot use the same thread number as another instance.
A transaction monitor is a class of software products that provide a transaction execution layer above the operating system. Transaction monitors combine database updates and submit them to a database. In doing this, the transaction monitor manages some of the consistency and correctness of the database. The monitor ensures that the rules of transaction atomicity are adhered to; updates take place completely or not at all. The advantages of using transaction monitors include increased throughput.
Transparent application failover is a runtime failover mechanism for high-availability environments, such as Real Application Clusters and Oracle Real Application Clusters Guard, that refers to the failover and re-establishment of application-to-service connections. It allows client applications to automatically reconnect to the database if the connection fails, and optionally resume a
SELECT statement that was in progress. This reconnect happens automatically from within the Oracle Call Interface (OCI) library.
The User Datagram Protocol is a similar protocol to TCP/IP, however, it is simpler to administer. It is considered less reliable than TCP/IP because, for example, it does not guarantee message ordering.
User-mode IPC (Inter-process Communication) is an IPC-based protocol that directly accesses network hardware. As opposed to kernel-mode IPC, with user-mode IPC the protocol avoids the overhead of copying data into kernel space, making system calls, and incurring context switches.
Virtual Interface Architecture is an implementation of user mode IPC.