首页 > 数据库 >ORACLE 11.2.0.4 RAC Cluster not starting cssd with Cannot get GPnP profile

ORACLE 11.2.0.4 RAC Cluster not starting cssd with Cannot get GPnP profile

时间:2023-09-03 11:00:41浏览次数:43  
标签:profile xml RAC get -- grid 集群 节点

      最近,处理一次oracle 11.2.0.4 rac cluster由于cssd无法启动,导致集群一个节点的CRS集群无法正常启动的故障。原本,计划变更是从ASM剔除磁盘,解除存储到数据库服务器的映射;磁盘已经成功从ASM剔除,也已经成功从存储解除到操作系统的映射,为了验证磁盘剔除是否对集群有影响,重启了集群两个节点,重启之后节点1能够成功启动CRS集群,但是节点2确启动不了cssd。于是,将盘从新映射到集群两台主机,但是并没有将其加入任何ASM磁盘组,然后再重启集群两台服务器,节点1能够启动集群,节点2第一次没有启动集群原因还是CSSD无法启动,但是手工清理集群进程后再次尝试启动集群成功。

     由于变更目的是要将磁盘从主机端释放,于是再次unmap磁盘,重启两台服务器,重启之后尝试启动oracle集群,节点1最终成功启动集群,节点2依然无法启动cssd而集群无法启动,无论是整个CRS集群先启动节点2、还是后启动节点2,节点2都无法启动到正常状态。后来,仔细观察集群alert日志输出内容,还是提示gpnp profile无法获取到。报错内容如下: 

--首先提示gpnp进程启动
2023-09-02 15:05:12.014: [    GPNP][2895390528]clsgpnp_Init: [at clsgpnp0.c:619] GPnP pid=91293, GPNP comp tracelevel=1, depcomp tracelevel=0, tl
src:ORA_DAEMON_LOGGING_LEVELS, apitl:0, complog:1, tstenv:0, devenv:0, envopt:0, flags=3
2023-09-02 15:05:12.017: [    GPNP][2895390528]clsgpnpkwf_initwfloc: [at clsgpnpkwf.c:399] Using FS Wallet Location : /u01/app/11.2.0/gpnp/rac11gn2/profiles/peer

--最终,集群日志提示gpnp由于获取不到gpnp profile没有运行
2023-09-02 15:05:12.025: [ default][2895390528]Cannot get GPnP profile. Error CLSGPNP_NO_DAEMON (GPNPD daemon is not running). 

    但是,分别查看报错提示路径下的gpnp profile,两个节点都是存在的。尝试使用gpnptool get也都能输出gpnp profile内容,对比两个节点gpnp profile文件内容也完全是一致的,包括使用scp方式将一个节点的gpnp profile传输到另外一个节点,然后diff对比也没有任何区别。

[grid@rac11gn1 peer]$ gpnptool get
Warning: some command line parameters were defaulted. Resulting command line: 
         /u01/app/11.2.0/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="8" ClusterUId="262b2efebaf14f70bfcbc36adccfdb34" ClusterName="orcl-cls" PALocation=""><gpnp:Network-Profile><gpnp:HostNetwork id="gen" HostName="*"><gpnp:Network id="net2" IP="192.168.56.0" Adapter="eth1" Use="cluster_interconnect"/><gpnp:Network id="net3" Adapter="eth0" IP="172.20.20.0" Use="public"/></gpnp:HostNetwork></gpnp:Network-Profile><orcl:CSS-Profile id="css" DiscoveryString="+asm" LeaseDuration="400"/><orcl:ASM-Profile id="asm" DiscoveryString="" SPFile="+OCRDG/orcl-cls/asmparameterfile/registry.253.1137254593"/><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>l9tBwYqpzw5wzpzvAugvKkBi3xg=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>jQC6gEiuuVUIts8bvQmmfNGSA/A4zBWmIKiKqynYAdEfhAV1bN7wAsQqvGB9HOgrqeXspLFph6C6Xu8Kugt8oZLh5pOLrXCXT/4kK1cI/UX3224M9PkY13wtaG31joaIjxOAnhlyqnN11Oik865WNyonG0LuGPAhuW5eqQQ4uek=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>
Success.
[grid@rac11gn1 peer]$
[grid@rac11gn2 rac11gn2]$ gpnptool get
Warning: some command line parameters were defaulted. Resulting command line: 
         /u01/app/11.2.0/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="8" ClusterUId="262b2efebaf14f70bfcbc36adccfdb34" ClusterName="orcl-cls" PALocation=""><gpnp:Network-Profile><gpnp:HostNetwork id="gen" HostName="*"><gpnp:Network id="net2" IP="192.168.56.0" Adapter="eth1" Use="cluster_interconnect"/><gpnp:Network id="net3" Adapter="eth0" IP="172.20.20.0" Use="public"/></gpnp:HostNetwork></gpnp:Network-Profile><orcl:CSS-Profile id="css" DiscoveryString="+asm" LeaseDuration="400"/><orcl:ASM-Profile id="asm" DiscoveryString="" SPFile="+OCRDG/orcl-cls/asmparameterfile/registry.253.1137254593"/><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>l9tBwYqpzw5wzpzvAugvKkBi3xg=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>jQC6gEiuuVUIts8bvQmmfNGSA/A4zBWmIKiKqynYAdEfhAV1bN7wAsQqvGB9HOgrqeXspLFph6C6Xu8Kugt8oZLh5pOLrXCXT/4kK1cI/UX3224M9PkY13wtaG31joaIjxOAnhlyqnN11Oik865WNyonG0LuGPAhuW5eqQQ4uek=</ds:SignatureValue></ds:Signature></gpnp:GPnP-Profile>
Success.
[grid@rac11gn2 rac11gn2]$ 

     后来,认真观察两个节点的本地的gpnp profile目录,均存在pending.xml.

[grid@rac11gn1 peer]$ ll
total 16
-rw-r--r--. 1 grid oinstall 1876 Sep  3 09:32 pending.xml
-rw-r--r--. 1 grid oinstall 1946 Jul 26 08:11 profile.old
-rw-r--r--. 1 grid oinstall 1874 May 19 15:59 profile_orig.xml
-rw-r--r--. 1 grid oinstall 1876 Jul 26 08:24 profile.xml
[grid@rac11gn1 peer]$

[root@rac11gn2 peer]# ll
total 20
-rw-r--r--. 1 grid oinstall 1876 Sep  3 09:30 pending.xml
-rw-r--r--. 1 grid oinstall 1946 Aug  2 14:47 profile.old
-rw-r--r--. 1 grid oinstall 1874 May 19 16:08 profile_orig.xml
-rw-r--r--. 1 grid oinstall 1876 Aug  2 15:00 profile.xml
[root@rac11gn2 peer]#

    猜测rac集群两个节点虽然是都能读写,但是也存在主从节点之分。

[grid@rac11gn2 rac11gn2]$ oclumon manage -get master replica
Master = rac11gn2
Replica = rac11gn1
 Done 
[grid@rac11gn2 rac11gn2]$

    经过沟通,将节点2的pending.xml文件mv走,然后再次尝试重启crs集群,集群竟然很顺利的成功启动到正常状态。

    后续测试,先停止两个节点的crs集群,两个节点的crs停止后,节点1的gpnp profile本地文件目录中原来就存在pending.xml文件;然后手工复制profile.xml一份作为节点2的pending.xml文件。然后,启动节点1的crs集群,能够成功启动到正常状态,再启动节点2的crs集群,也能成功启动到正常状态,但是,查询集群主节点发现是节点2,并且节点1的pending.xml文件被删除,节点2的gpnp profile文件目录中多了一份pending.old文件,原先的pending.xml文件时间戳发生变化。

[root@rac11gn2 peer]# ll
total 20
-rw-r--r--. 1 grid oinstall 1876 Sep  3 09:30 pending.old
-rw-r--r--. 1 grid oinstall 1876 Sep  3 09:30 pending.xml
-rw-r--r--. 1 grid oinstall 1946 Aug  2 14:47 profile.old
-rw-r--r--. 1 grid oinstall 1874 May 19 16:08 profile_orig.xml
-rw-r--r--. 1 grid oinstall 1876 Aug  2 15:00 profile.xml
[root@rac11gn2 peer]#

    测试中,如果关闭节点2的crs集群,pending.xml又会自动被清理掉;但是,节点1并没有生成pending.xml文件,但是节点1变成了master。

[root@rac11gn2 peer]# ll
total 16
-rw-r--r--. 1 grid oinstall 1876 Sep  3 09:30 pending.old
-rw-r--r--. 1 grid oinstall 1946 Aug  2 14:47 profile.old
-rw-r--r--. 1 grid oinstall 1874 May 19 16:08 profile_orig.xml
-rw-r--r--. 1 grid oinstall 1876 Aug  2 15:00 profile.xml
[root@rac11gn2 peer]# 

[grid@rac11gn1 peer]$ oclumon manage -get master replica
Master = rac11gn1
Replica = 
 Done 
[grid@rac11gn1 peer]$ 

分析:可能是故障前,节点2是master,节点2的gpnp profile相关的pending.xml文件在主机reboot时没有被正常自动清理,后续启动集群先启动集群节点1,节点1启动后成为master并生成了pending.xml文件,再启动节点2的crs集群时,不自动生成新的pending.xml文件导致节点2的CRS集群无法启动。但是,在模拟测试时,该故障没有重现。然而,客户环境中,清理了节点2的pending.xml文件后却很顺利的启动了crs集群。



标签:profile,xml,RAC,get,--,grid,集群,节点
From: https://blog.51cto.com/u_3557740/7338595

相关文章

  • Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法
    出现原因:主要是我把F盘的数据库文件给删了导致的(这个是我遇到的问题,可能还有其他情况下也会出现这种问题)第一步,运行cmd,输入:sqlplus/assysdba  第二步,输入:startup第三步,输入:shutdownabort第四步,重新输入:startup命令,这时会报如下错误,这种情况主要是我把数据库文件给删了......
  • 缩小数据文件Oracle
    缩小数据文件查看数据文件能缩小的最小值ceil函数:返回大于或等于n的最小整数setverifyoffcolumnfile_nameformata50word_wrappedcolumnsmallestformat999,990heading"Smallest|Size|Poss."columncurrsizeformat999,990heading"Current|Size"columnsavings......
  • Oracle-UNDO数据文件被创建在本地
    在Oracle的RAC环境中,UNDO表空间也是被创建在ASM。假如,UNDO表空间的数据文件,有一个被创建在了本地,那如何处理呢?1.删除数据文件会提示ORA-03262:thefileisnon-empty2.正确的方法A.创建新的UNDO表空间createundotablespaceUNDOTBS3datafile'+DATA'size1g;B.切换到新的UNDO......
  • Implementing Domain Driven Design (A practical guide for implementing the Domain
    CONTENTSIntroduction..................................................Goal......................................................SimpleCode...................................................................WhatistheDomainDrivenDesign?...........
  • 设计一个有getMin功能的栈
    一题目实现一个特殊的栈,实现栈的基本功能并实现返回栈中最小元素的操作。二要求1、pop、push、getMin操作时间复杂度都是O(1)2、设计的栈类型可以使用现成的栈结构三分析我们可以使用两个栈,一个用来保存当前栈中的元素,其功能为正常的栈,记为stackData;另外一个用于保存每一步中的最......
  • Oracle普通堆表的不足之处
    Oracle表的分类是多种多样的,除了普通表外,还有全局临时表、外部表、分区表、索引组织表等等具有其他特性的表。虽然普通表基本上可以实现所有的功能,但是这是说功能,而不是说性能。如果我们善于在合适的场合选择合适的技术,这些“特殊”的表往往能在系统应用设计的性能方面,发挥出巨大的......
  • PHP extract() Function
    PHPextract()Function定义和用法extract()函数从数组中将变量导入到当前的符号表。该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。第二个参数type用于指定当某个变量已经存在,而数组中又有同名元素时,extract......
  • python flask 提供web的get/post开发
    转载请注明出处:使用pythonflask框架编写webapi中的get与post接口,代码编写与调试示例如下:fromflaskimportFlask,request,jsonifyapp=Flask(__name__)@app.route('/api/get',methods=['GET'])defhandle_get_request():try:#解析URL参数......
  • oracle 数据库自增长
    有的时候,我们在创建oracle自增序列时,会报错。这个时候不用慌,表创建完了就不用管了。然后我们可以根据下面的教程中的第二步,第三步,来创建序列。 --第一步创建表createtablet_user(user_idnumbernotnullprimarykey,user_namevarchar2(30),creditsnumber,user_pas......
  • Oracle - 运维相关总结
    读写分离读写分离的重点其实就是数据同步,能实现数据实时同步的技术很多。基于日志的Oracle复制技术,Oracle自身组件可以实现,同时也有成熟的商业软件。选商业的独立产品还是Oracle自身的组件功能,这取决于多方面的因素。比如团队的相应技术运维能力、项目投入成本、业务系统的负......