首先来看下oracle11g r2进程关系:
gpnp 全称为grid plug and play,是Oracle 11 gR2 版本集群管理软件新增的组件。该组件的功能由即npd.bin 守护进程实现的。Oracle 设计gpnp 的目的主要有以下两点:
目的1:将集群的基本配置信息保存在本地,以便在启动集群时能够从本地文件中获得足够的信息,而不再需要完全依赖于OCR。
目的2: 通过和mdnsd 进行通信,能够更加灵活地识别集群中的节点,使集群结构更加灵活,而不再需要从OCR 中获取节点列表。
gpnp 组件由两部分构成:gpnp wallet 和gpnp profile。
gpnp wallet
gpnp wallet 的功能是保存需要访问gpnp profile 文件的客户签名信息, 当客户访问gpnp profile 时通过wallet 中的签名信息进行验证,以确保只有指定的客户能够访问profile 文件。
这部分内容是不需要用户配置的,在安装GI 时,Oracle 会自动完成签名信息的初始化。另外,gpnp 的wallet 文件可以在路径<GI_home>/gpnp/wallets/peer 下找到。例如:
-rwx—— 1 grid oinstall 6301 Sep 19 11:45 cwallet.sso
gpnp profile
gpnp profile 是gpnp组件的重要部分,它是一个XML 文件,用于保存启动( bootstrap )集群节点时所需的必要信息。换句话说,当GI 在启动时,所有必需的信息都保存在gpnp profile中,从某种意思上说 gpnp profile中的信息类似于数据库bootstrap时所需要的信息。
文件存在 < grid_home>/gpnp/profiles/peer 下:
-rw-r–r– 1 grid oinstall 1890 Oct 12 12:56 profile.xml
接下来查看一下gpnp profile文件具体内容:
通过gpnptool 来获取gpnp profile内容,
[grid@node1.localdomain$]gpnptool get
Warning: some command line parameters were defaulted. Resulting command line:
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?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="4" ClusterUId="9e8b46d3fe3cefefbf18cc7235f3b531" ClusterName="node-cluster" PALocation=""><gpnp:Network-Profile><gpnp:HostNetwork id="gen" HostName="*"><gpnp:Network id="net1" IP="10.37.2.0" Adapter="eth0" Use="public"/><gpnp:Network id="net2" IP=