Describe Operating system processes in an Oracle Parallel Server system.
Operating System Processes and Oracle Real Application Clusters
Oracle introduced Oracle Real Application Clusters (RAC) in 1995 to replace Oracle Parallel Server. RAC is a cluster database solution that allows multiple Oracle instances to access a single database. RAC provides high availability, scalability, and performance for demanding workloads.
Oracle Parallel Server was a complex and expensive solution to implement and manage. RAC simplified the cluster database architecture and made it more affordable and accessible to a wider range of customers. RAC is now the standard networking technology for Oracle databases. Oracle Parallel Server is no longer supported and was officially discontinued in 2018.
Here is a table that summarizes the key differences between Oracle Parallel Server and Oracle RAC:
Feature
Oracle Parallel Server
Oracle RAC
Architecture
Shared disk
Shared storage or cluster file system (CFS)
Scalability
Limited to a single node
Can scale to hundreds of nodes
High availability
Limited
High availability with no single point of failure
Performance
Good
Excellent
Complexity
High
Low
Cost
High
Low
If you are considering migrating from Oracle Parallel Server to Oracle RAC, there are a number of resources available to help you with the process.
Distinctive Attributes of Operating System Processes in Oracle Real Application Clusters (RAC)
Oracle Real Application Clusters (RAC) represents a groundbreaking solution in the domain of database clustering, allowing multiple instances on different servers to access a single database. This enhances both availability and scalability. Within the context of RAC, operating system processes assume unique characteristics, tailored to fit this complex, multi-node environment. Here's a closer look at the distinctive aspects of operating system processes within Oracle RAC:
Global Services Daemon (GSD): In a RAC environment, the GSD facilitates the start and stop of RAC instances and services. Each node in the cluster runs its own GSD process, allowing centralized control over multiple instances.
Cluster Ready Services (CRS): CRS is the primary component ensuring high availability in a RAC setup. The processes under CRS, including `crsd`, monitor and manage the high-availability operations, detecting failures and ensuring necessary components are restarted.
Cluster Synchronization Services (CSS): The CSS daemon (`ocssd`) manages cluster node membership and ensures that a consistent view of cluster membership is maintained across nodes. It ensures that if a node becomes unresponsive (due to issues like network failures), it's evicted from the cluster to maintain data integrity.
Event Manager (EVM): EVM is a background process that publishes events, allowing components to be notified and take action when specific events occur.
RACG: Oracle RAC uses the RACG (RAC Generic) services to run scripts on remote nodes in the cluster. This ensures coordination and centralized management across nodes.
Inter-process Communication (IPC): In a RAC environment, nodes must frequently communicate with one another. This necessitates specialized IPC mechanisms. The Global Enqueue Service Daemon (`LMD`) process manages requests for data dictionary locks and library cache locks across instances.
Cache Fusion: Oracle RAC employs Cache Fusion to maintain a coherent cache across nodes. When a block of data in one instance's cache is needed by another instance, it's transferred directly between the instances without being written to disk. Processes like the Global Cache Service (`LMS`) are responsible for managing Cache Fusion.
ACMS: The Atomic Controlfile to Memory Service (ACMS) is essential in a RAC environment where an update to the control file must be globally committed across all instances.
Global Resource Directory (GRD): GRD manages resources like data blocks or enqueues across cluster nodes. It ensures that a requested resource, currently held by one instance, is either read or written by another instance without disk I/O. Processes in the RAC manage the GRD, ensuring efficient resource sharing and conflict resolution.
Cluster Health Monitor (CHM): The CHM continuously monitors node health, tracking operating system statistics and metrics and detecting and diagnosing node and network failures.
The Oracle Real Application Clusters environment, with its distributed architecture, necessitates a suite of specialized operating system processes. These processes, each tailored for a specific purpose, ensure that the RAC maintains high availability, data integrity, and seamless operation across multiple interconnected nodes. For any professional working with Oracle RAC, understanding these processes is pivotal for effective cluster management and optimization.
Setting up Oracle Parallel Server | Legacy
There are several ways to set up OPS, depending on your hardware and software configuration and the needs of your system.
However, no matter how you do it, your operating system must have certain components in place and available for use by the OPS.
OPS uses the operating system components to access database files and to speed up communications, as you see in the diagram below.
Operating System Components of Oracle Parallel Server: A Legacy Perspective
CM
The Cluster Manager watches over all the activity for all of the processors. All transactions register and de-register with this component. If a failure occurs in one instance, the Cluster Manager redirects traffic until it is fixed.
Startup
The Startup component is part of the Windows NT operating system, but is not needed on other operating systems. It controls the sequence of events when the OPS starts up.
IO
The Input/Output component coordinates simultaneous access to shared disks. It works with the Oracle process called the Integrated Distributed Lock Manager (IDLM).
IPC
The interprocessor communication (IPC) component is responsible for moving information between the interconnected parallel processors as quickly as possible. A fast IPC is needed for good response time in the OPS.
Oracle Component
The Oracle component that works closely with these operating system components is called the Integrated Distributed Lock Manager (IDLM). The IDLM is the choreographer of all the communications that are happening at once in a parallel system. Its primary tasks are to:
Coordinate operations, such as locking and updating data, that require reading and writing of data on disks. This maximizes re-use of data in memory.
Ensure that all operations have a consistent view of the data. This validates data integrity.
The IDLM is a built-in component of the (OPS) Oracle Parallel Server that is customized for each operating system that Oracle suports. The next lesson covers the concept of instance affinity.