Oracle RAC 19c Masterclass – Part 8

Oracle Grid Plug and Play (GPnP): Understanding Automatic Cluster Discovery

When Oracle introduced Grid Plug and Play (GPnP) in Oracle 11g Release 2, one of its main goals was to simplify cluster management.

Before GPnP, adding a new RAC node required much more manual configuration. Administrators had to configure network settings, storage information, and cluster parameters before a node could join the cluster.

With GPnP, much of this information is automatically discovered.

Although many DBAs rarely interact directly with GPnP, it plays a critical role every time a RAC node starts. Understanding how it works helps explain why nodes can automatically discover the cluster and why certain startup failures occur.

In this article, we’ll explore the GPnP architecture, its components, configuration files, utilities, and troubleshooting techniques.

What is GPnP?

Grid Plug and Play (GPnP) is a Clusterware component that stores and distributes cluster configuration information to every node.

Its responsibilities include:

  • Cluster discovery
  • Network profile distribution
  • ASM discovery
  • Cluster profile management
  • Node initialization

Think of GPnP as the “directory service” that helps new and existing nodes locate the information needed to join the cluster.

Why GPnP Was Introduced

Before Oracle 11gR2:

  • More manual configuration
  • Higher risk of inconsistent node settings
  • More complex node additions

With GPnP:

  • Automatic cluster discovery
  • Centralized configuration
  • Simplified node deployment
  • Easier cluster expansion

GPnP Architecture

A simplified view:

                 Oracle Cluster
                       |
                 GPnP Profile
                       |
      +----------------+----------------+
      |                                 |
   Node1                           Node2
      |                                 |
      +----------------+----------------+
                       |
                 ASM Discovery

Every node reads the same GPnP profile.

What is the GPnP Profile?

The GPnP Profile is an XML configuration file.

It contains information such as:

  • Cluster name
  • ASM discovery string
  • Network profile
  • Node information
  • Grid Infrastructure configuration

It does not store database data.

Instead, it tells Clusterware how to locate essential cluster resources.

GPnP Startup Sequence

During node startup:

Linux
↓
OHASD
↓
GPnP Profile
↓
Locate ASM
↓
Locate OCR
↓
Start CSSD
↓
Start CRSD
↓
Cluster Ready

Notice that GPnP is used before Oracle Clusterware is fully operational.

GPnP and ASM

One important role of GPnP is helping Oracle locate ASM.

Example:

GPnP
↓
ASM Discovery String
↓
ASM Instance
↓
Disk Groups
↓
OCR
↓
Voting Files

Without this information, Clusterware may not know where the OCR and Voting Disks are stored.

GPnP and New Nodes

Suppose a third node is added.

      Node1

Node2

|
New Node
|
GPnP Profile
|
Automatic Discovery

Instead of manually configuring every parameter, the new node retrieves the required information from the GPnP profile.

This significantly reduces deployment time.

GPnP Profile Location

The GPnP profile is stored locally under the Grid Infrastructure home.

Typical location:

$GRID_HOME/gpnp

Example:

cd $GRID_HOME/gpnp

You may see directories similar to:

profiles

seed

wallets

These files are managed by Oracle and should not be edited manually.

GPnP Utilities

Oracle provides the gpnptool utility.

Display the GPnP profile:

gpnptool get

Display the profile in XML format:

gpnptool get -o-

This command is useful when troubleshooting GPnP-related issues.

Viewing Cluster Information

Cluster name:

olsnodes

Example:

racnode1

racnode2

Display node numbers:

olsnodes -n

Example:

racnode1 1

racnode2 2

Checking Cluster Configuration

Verify the Clusterware stack:

crsctl check cluster

Check resources:

crsctl stat res -t

Although these commands do not display GPnP information directly, they help confirm that GPnP initialization completed successfully.

GPnP and OCR

One common misunderstanding is that GPnP replaces the OCR.

It does not.

The startup process is:

GPnP
↓
Find ASM
↓
Locate OCR
↓
Read Cluster Configuration
↓
Start Resources

GPnP helps Oracle locate the OCR.

The OCR stores the cluster configuration.

GPnP and OLR

Relationship:

OLR
↓
OHAS
↓
GPnP
↓
ASM
↓
OCR
↓
CRSD

Every component depends on the previous one.

This explains why failures early in the startup sequence can prevent the cluster from starting.

Common GPnP Problems

GPnP Profile Corruption

Symptoms:

  • Cluster startup failure
  • ASM cannot be located
  • OHAS startup errors

Verify GPnP:

gpnptool get

ASM Discovery Failure

Symptoms:

  • Disk groups not found
  • OCR unavailable

Verify ASM:

asmcmd lsdg

Incorrect ASM Discovery String

Symptoms:

  • ASM starts but no disks are discovered.

Verify:

SHOW PARAMETER asm_diskstring;

Ensure it matches your storage configuration.

Node Cannot Join the Cluster

Possible causes:

  • GPnP communication issue
  • Network configuration problem
  • Incorrect hostname
  • DNS issue
  • SSH configuration

Begin by checking Clusterware logs before modifying the configuration.

GPnP Logs

Useful log directory:

cd $GRID_HOME/log/<hostname>/gpnpd

Example log:

gpnpd.log

Search for:

  • profile
  • discovery
  • wallet
  • xml
  • network
  • error

These messages can help identify startup problems.

Useful GPnP Commands

Display profile:

gpnptool get

Display XML:

gpnptool get -o-

Check cluster:

crsctl check cluster

Display resources:

crsctl stat res -t

List nodes:

olsnodes

These commands provide a good starting point when investigating GPnP-related issues.

Best Practices

  • Do not edit GPnP files manually.
  • Keep node hostnames consistent with DNS.
  • Use supported ASM discovery strings.
  • Ensure all nodes have synchronized network configuration.
  • Include GPnP log checks in your RAC troubleshooting procedures.
  • Always use Oracle utilities (srvctl, crsctl, addnode.sh, etc.) when modifying the cluster configuration.

Production Scenario

A customer recently added a third RAC node after expanding their environment.

The Grid Infrastructure installation completed successfully, but the node never joined the cluster.

The initial assumption was a Clusterware bug.

After reviewing the GPnP and CSS logs, we discovered that the new node had an incorrect private network configuration. The GPnP profile was correct, but the node could not communicate with the existing cluster over the private interconnect.

After correcting the network configuration and restarting the Grid Infrastructure stack, the node joined the cluster immediately.

The lesson was simple: GPnP can only distribute the correct configuration if the underlying network allows the node to reach the cluster.

DBA Tip

GPnP is one of those RAC components that most administrators never notice—until a node refuses to start.

When troubleshooting early startup failures, don’t jump straight to the OCR or the database. Follow the startup sequence:

  1. Is OHAS running?
  2. Can GPnP read the cluster profile?
  3. Can ASM be discovered?
  4. Can the OCR be accessed?
  5. Is CSSD online?
  6. Is CRSD starting?

Following the startup order helps isolate the failure much faster than checking components at random.

In Oracle RAC, every layer builds on the previous one. If GPnP cannot complete its work, the rest of the cluster has nothing to build upon.

Conclusion

Grid Plug and Play is a key part of Oracle Clusterware, even though it operates quietly in the background. It provides the information needed for node discovery, ASM initialization, and cluster startup, making RAC deployments easier to manage and expand.

By understanding how GPnP fits into the startup process and how it interacts with ASM, the OCR, and Clusterware, you’ll be better equipped to diagnose startup problems and maintain a healthy RAC environment.

Bookmark the permalink.
Loading Facebook Comments ...

Leave a Reply