gpnp Tools 使用方法小节
来源:互联网 发布:c语言算法描述举例 编辑:程序博客网 时间:2024/06/12 03:34
首先,gpnp profile(这是个xml文件,而对于gpnp的 wallet文件,我们并不做过多的介绍)用于存放构建集群的bootstrap 信息,或者可以称为构建集群的最基本的信息,其中包括,集群名称,集群GUID, ASM discovery string, 公网和私网信息等等。所以,当我们在启动集群的某一个节点时,需要读取这个文件(默认文件名为<gi_home>/gpnp/<node_name>/profiles/peer/profile.xml),从而获得构建集群的基本信息。另外,由于这个文件中保存的是整个集群的基本信息,所以这个文件在所有节点之间都应该是相同的。同时,我们还需要一个守护进程,也就是gpnpd.bin(资源名为 ora.gpnpd) 来对gpnp profile 进行维护。举个例子,一个3节点的集群,其中节点3由于一些问题暂时没有启动,而在此期间,集群的私网配置发生了改变,之后,节点3启动,在启动的过程中,节点3的gpnpd进程需要和其他节点的gpnpd进程通信,获得最新版本的gpnp profile。
参考文章:
《11gR2新特性---Gpnp守护进程》
https://blogs.oracle.com/Database4CN/tags/gpnp
我们知道,11gr2 修改网络配置,都必须在集群开启的状态下,使用oifcfg或者其他srvctl等命令。
如果网络状态已经改变,无法开启集群,除了将网络恢复到原来的状态,还能如何?
这就引入了gpnptool工具,这个工具可以在不开启集群的情况下修改集群bootstrap的信息。包括:
1) Cluster Name
2) Network Profile
3) CSS-Profile tag
4) ASM-Profile tag
下面的示例就是在集群已经关闭,但是私有网已经变化无法正常开启crs,而使用gpnptool工具来修改配置信息的示例:
以下为gpnpprofile的示例信息:
<?xml version="1.0" encoding="UTF-8"?>
-<gpnp:GPnP-Profile PALocation="" ClusterName="dsdb11g-cluster" ClusterUId="aa0494cef6b5ef5cff657765a26907cd" ProfileSequence="13" xsi:schemaLocation="http://www.grid-pnp.org/2005/11/gpnp-profile gpnp-profile.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:orcl="http://www.oracle.com/gpnp/2005/11/gpnp-profile" xmlns:gpnp="http://www.grid-pnp.org/2005/11/gpnp-profile" xmlns="http://www.grid-pnp.org/2005/11/gpnp-profile" Version="1.0">
-<gpnp:Network-Profile>
-<gpnp:HostNetwork HostName="*" id="gen">
--网络信息,包括共有以及私有网卡的配置信息。
<gpnp:Network id="net1" Use="public" Adapter="net0" IP="10.8.28.0"/>
<gpnp:Network id="net4" Use="cluster_interconnect" Adapter="net2" IP="192.168.99.0"/>
</gpnp:HostNetwork>
</gpnp:Network-Profile>
--cssprofile的信息。
<orcl:CSS-Profile id="css" LeaseDuration="400" DiscoveryString="+asm"/>
--磁盘信息,包括discovery 信息以及asm spfile 所在位置。
<orcl:ASM-Profile id="asm" DiscoveryString="/dev/raw/*" SPFile="+DATA1/dsdb11g-cluster/asmparameterfile/registry.253.918380117"/>
-<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>Vs9jpO31IQw2RpAq3W4bGbwq3EE=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>FvquupL+1aQKqTNjLw5R0q9IYXd/d7rSfHtUvLVnydpEW4OnFeRiGRLQ0XPFZ0+4a3FH2eaTVptJw6GSL9rtb78C/Av2xQvL5DzXAaKuq56FYS43eLqK3FtcfrMNFLS69F7sY6QXpYv89P5gHB3gCK4QwmsBeXPWpo6reH9ZUKI=</ds:SignatureValue>
</ds:Signature>
</gpnp:GPnP-Profile>
复制代码
我们要修改
<gpnp:Network id="net4" Use="cluster_interconnect" Adapter="net2" IP="192.168.99.0"/>
这一条,可能有人会问,为什么不直接修改xml文件呢。
我也尝试过,但是这个gpnpprofile因为比较重要,每修改一处都有相应的文档编号生成,并且如上面的资料所说有固定的后台进程维护。
所以就算自己修改以后,还是会出现开启集群的时候,xml文件回复为未修改前的内容。
下面只列举了网络相关的说明
gpnptool help
-[pid:]net Profile Tag: <Network> children of <HostNetwork Id="pid">, optional
-[id:]net_ip Profile Tag: <Network [Id="id"] IP="<val>">, optional
-[id:]net_use Profile Tag: <Network [Id="id"] Use="<val>">, optional
-[id:]net_nt Profile Tag: <Network [Id="id"] NameTempl="<val>">, optional
-[id:]net_aip Profile Tag: <Network [Id="id"] AutoIP="<val>">, optional
-[id:]net_ada Profile Tag: <Network [Id="id"] Adapter="<val>">, optional
cd /u01/app/11.2.0/grid/gpnp/dsdb11g1/profiles/peer
cp profile.xml profile.bak
固定步骤,移除标识信息
gpnptool unsign -p=profile.bak
要修改的内容
gpnptool edit -net4:net_ip='192.168.77.0' -p=profile.bak -o=profile.bak -ovr
固定步骤,wallet标识配置文件
gpnptool sign -p=profile.bak -w=file:/u01/app/11.2.0/grid/gpnp/dsdb11g1/wallets/peer/ -o=profile.new
固定步骤,替换现有的profile
mv profile.new profile.xml
两个节点都按照上述步骤修改后
start the crs
集群正常开启。
后续希望可以可用这个工具将已安装好集群软件以及数据库软件的模板做出来。
其他参考文章:
集群启动顺序说明
https://www.linkedin.com/pulse/gpnp-profile-internals-oracle-rac-nitish-anand-srivastava
http://oracleinaction.com/edit-gpnp-profile/
http://www.hhutzler.de/blog/fix-a-wrong-entry-profile-xml-and-redistribute-the-fixed-profile-with-gpnptool-put/
- gpnp Tools 使用方法小节
- kfed amdu使用方法小节
- jquery tools overlay 使用方法
- inotify-tools使用方法介绍
- i2c-tools的使用方法
- 小节
- 小节
- i2c-tools for android使用方法
- 遇到“found 0 gpnp ..."
- GPnP profile文件
- Zend Framework附带的 ZF tools使用方法
- i2c-tools的使用方法及举例
- 虚拟机上安装vmware tools的使用方法
- CentOS 6.5上inotify-tools使用方法
- i2c-tools的使用方法及举例
- GPnP Profile 包含的内容
- MySQL图形工具 MySQL GUI Tools的安装使用方法
- 11gR2新特性---Gpnp守护进程
- 朋友圈的“全文”“收起”实现
- 第4章 处理器体系结构
- 第八周项目三(1)顺序串算法
- Android——软引用引用
- appium基础操作方法--滑动操作(上滑、下滑、左右滑动)--JAVA篇
- gpnp Tools 使用方法小节
- qsort源代码分析
- 2016腾讯实习生笔试编程题:有趣的数字
- Python特殊语法:filter map reduce lambda
- nodejs ssh2 上传下载文件错误(打开通道错误:Error: (SSH) Channel open failure: open failed)
- 第5章 优化程序性能
- db queue grant and revoke
- 网易云音乐底部播放栏实现思路
- Material Design5.x动画实现解析篇一