Grid Plug and Play [GPNP] Profile :

It is small xml file located  in $GRID_HOME/gpnp/<hostname>/profiles/peer under the name profile.xml. It is used to establish the correct global personality of a node. Each node maintains a local copy of the GPnP Profile and is maintanied by the GPnP Deamon (GPnPD) .

[root@rac1 peer]# cat profile.xml
<?xml version="1.0" encoding="UTF-8"?>
<gpnp:GPnP-Profile Version="1.0" xmlns="http://www.grid-pnp.org/2005/11/gpnp-profile"
 xmlns:gpnp="http://www.grid-pnp.org/2005/11/gpnp-profile" 
 xmlns:orcl="http://www.oracle.com/gpnp/2005/11/gpnp-profile" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://www.grid-pnp.org/2005/11/gpnp-profile gpnp-profile.xsd"
 ProfileSequence="6" ClusterUId="2c53a432a9ec6f23bf6143088d54493d" 
 ClusterName="raccluster" PALocation=""><gpnp:Network-Profile>
<gpnp:HostNetwork id="gen" HostName="*">
<gpnp:Network id="net1" IP="10.0.32.0" Adapter="eth0" Use="public"/>
<gpnp:Network id="net2" IP="10.0.10.0" Adapter="eth1" Use="cluster_interconnect"/>
</gpnp:HostNetwork></gpnp:Network-Profile><orcl:CSS-Profile id="css" DiscoveryString="+asm" 
LeaseDuration="400"/><orcl:ASM-Profile id="asm" DiscoveryString="" 
SPFile="+DATA/raccluster/asmparameterfile/registry.253.963920767"/>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> 
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="gpnp orcl xsi"/>
</ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>UxeBWoBxhiRO9XCVa8dEKFXopII=</ds:DigestValue></ds:Reference>
</ds:SignedInfo><ds:SignatureValue>UE7l3zKHEupzZVT/El7M7HdHqK1QbB70vFgjgtz+RSj/Xax4DRg4rKDtrRA3ryVXrAOTaALN+dHCUV+xIg2sdxW11hSUUf/rX3ieLyKOm98XldQp2fkgyLUet6hX1vALvPfqIa6xKCOdFkJnQZthO+EMfdFO2rzoYKqdSTbKOhA=
</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>
[root@rac1 peer]#

Now , with above file we will understand what it stores .

  1. Cluster Name : In our case rac cluster.
  2. Storage used for CSS : here +asm
  3. Storage used for ASM: SPFILE location, ASM DiskString
  4. Public or Private[Interconnect] Network classification : In above example eth0 is used for public network and eth1 is used for Interconnect.

With above example we have learn what is stored in GPnP profile. Now , how it is being accessed ?

To start Oracle Clusterware , voting disk needs to be accessed. If voting disk in stored in ASM , GPnP will tell clusterware that it is stored in ASM.

<orcl:CSS-Profile id=”css” DiscoveryString=”+asm” LeaseDuration=”400″/>

kfed utility is used to read voting disk even if asm is not up.

Whenever a node is started/added to the cluster, the clusterware software on the starting node starts a GPnP agent.

If node if already a part of cluster , GPnP profile is read by GPnP agent.

If the node is being added to the cluster, GPnP agent locates agent on another existing node using multicast protocol (provided by mDNS) and gets the profile from that agent.

We can also check GPnP profile using below command :

[root@rac1 bin]#gpnptool get

Stay tuned for More articles on Oracle RAC

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Telegram Channel : https://t.me/helporacle

Skant Gupta’s LinkedIn: www.linkedin.com/in/skantali/

Joel Perez’s LinkedIn: Joel Perez’s Profile

LinkedIn Group: Oracle Cloud DBAAS

Facebook Page: OracleHelp

About The Author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.