当前位置: 首页 > news >正文

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

      最近,处理一次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 = rac11gn1Done 
[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集群。

相关文章:

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

最近&#xff0c;处理一次oracle 11.2.0.4 rac cluster由于cssd无法启动&#xff0c;导致集群一个节点的CRS集群无法正常启动的故障。原本&#xff0c;计划变更是从ASM剔除磁盘&#xff0c;解除存储到数据库服务器的映射&#xff1b;磁盘已经成功从ASM剔除&#xff0c;也已经成…...

Converting Phase Noise to Random Jitter(Cycle-to-Cycle)

借用Phase Noise to Random Jitter(Period)的转换过程推导了Cycle to Cycle random Jitter&#xff0c;一般展频时钟调制,用来评估相邻周期的随机抖动。...

HashMap知识总结

HashMap: 1. 扰动函数hash值右移16位与原hash值做异或运算得出的新hash值散列程度高. 2. 负载因子0.75,就是说一个数组初始化new HashMap(17)容量会比17最小2的n次方大,就是32,想要已空间换时间,就是负载因子小于0.75这样的话hash冲突更低,但是扩容频率更高.3 扩容,jdk…...

PLC编码器测速(限幅滤波+中心差分法求导SCL源代码)

M法测速的基本原理,大家可以查看专栏的系列文章,这里不再赘述常用链接如下: PLC通过编码器反馈值计算速度的推荐做法(算法解析+ST代码)_编码器脉冲怎么转换为速度_RXXW_Dor的博客-CSDN博客PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:三菱FX3U PLC…...

SW的stp文件转成CAD格式文件学习笔记

SW的stp文件转成CAD格式文件 文章目录 SW的stp文件转成CAD格式文件另存为part文件&#xff08;零件图&#xff09;另存为CAD文件 另存为part文件&#xff08;零件图&#xff09; 如图一个STP文件&#xff0c;右上角标注是什么文件呢 另存为零件图&#xff0c;即另存为part …...

【数据结构】栈---C语言版(详解!!!)

文章目录 &#x1f438;一、栈的概念及结构&#x1f344;1、栈的概念定义&#x1f344;2、动图演示&#x1f332;入栈&#x1f332;出栈&#x1f332;整体过程 &#x1f438;二、栈的实现&#x1f438;三、数组结构栈详解&#x1f34e;创建栈的结构⭕接口1&#xff1a;定义结构…...

sqlserver 联表查询、子查询、窗口函数、聚合函数等概念与例子

with cte as的用法 查询的一个有用工具&#xff0c;允许创建临时命名结果集&#xff0c;可在查询中多次引用相同的子查询结果&#xff0c;可以提高查询的可读性和维护性 WITH cte_name (column1, column2, ...) AS (-- 这里是子查询SELECT column1, column2, ...FROM your_ta…...

GO学习之 消息队列(Kafka)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…...

搭建自己的OCR服务,第三步:PPOCRLabel标注工具安装

一、安装说明 安装好了PaddleOCR后&#xff0c;还需要安装PPOCRLabel这个标注工具&#xff0c;想要自己训练模型的话&#xff0c;有个标注工具会起很大作用。 尤其是PPOCRLabel就是跟PaddleOCR配套的标注工具&#xff0c;同样是开源的。 在下载 PaddleOCR 整个源码中&#x…...

Java学习笔记37——网络编程01

网络编程入门 网络编程入门网络编程概述网路编程的三要素ip地址InetAddress类的使用端口 网络编程入门 网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操作系统&#xff0c;网络管理…...

powershell 搜索文本并返回行号

目录 powershell 搜索文本并返回行号 python调用powershell搜索文本并返回行号&#xff1b; powershell 搜索文本并返回行号 $keyword PS dir "d:\" -Filter "*.txt" -Recurse | foreach {$line 0 $fileName $_.FullNameGet-Content $fileName | f…...

网络原理

网络原理 传输层 UDP 特点 特点&#xff1a;无连接&#xff0c;不可靠&#xff0c;面向数据报&#xff0c;全双工 格式 怎么进行校验呢&#xff1f; 把UDP数据报中的源端口&#xff0c;目的端口&#xff0c;UDP报文长度的每个字节&#xff0c;都依次进行累加 把累加结果&a…...

力扣(LeetCode)算法_C++——同构字符串

给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符的顺序。不同字符不能映射到同一个字符上&#xff0c;相…...

网管实战⑼:配置华为S5720交换机

配置好汇聚交换机后&#xff0c;需要根据单位情况配置具体的接入交换机。 自从2019年12月底配置好交换机后&#xff0c;基本上都没有怎么操作交换机了。那时候使用的是H3C交换机&#xff0c;主要是H3C S7706、H3C S5120、H3C S5130、H3C S5500、H3C S3600等型号的交换机&#x…...

文件上传漏洞第十六关十七关

第十六关 第十七关 第十六关 直接上传php文件判断限制方式&#xff1a; 同第十五关白名单限制 第十六关源码&#xff1a; 代码逻辑判断了后缀名、content-type&#xff0c;以及利用imagecreatefromgif判断是否为gif图片&#xff0c;最后再做了一次二次渲染 二次渲染图片马&…...

Try llama2 in NUC (by quqi99)

作者&#xff1a;张华 发表于&#xff1a;2023-09-06 版权声明&#xff1a;可以任意转载&#xff0c;转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 据说现在在PC机上可以运行llama2大模型了&#xff0c; Way 1 于是照…...

强大易用的开源 建站工具Halo

特点 可插拔架构 Halo 采用可插拔架构&#xff0c;功能模块之间耦合度低、灵活性提高。支持用户按需安装、卸载插件&#xff0c;操作便捷。同时提供插件开发接口以确保较高扩展性和可维护性。 ☑ 支持在运行时安装和卸载插件 ☑ 更加方便地集成三方平台 ☑ 统一的可配置设置表…...

如何使用vuex

1.安装vuex 2.在store文件夹内写index.js 此处tab是自定义的文件 import Vue from "vue" import Vuex from "vuex" import tab from "./tab"Vue.use(Vuex)export default new Vuex.Store({modules:{tab} }) 3.在store文件夹内写tab.js(自定义…...

动手深度学习——Windows下的环境安装流程(一步一步安装,图文并配)

目录 环境安装官网步骤图文版安装Miniconda下载包含本书全部代码的压缩包使用conda创建虚拟&#xff08;运行&#xff09;环境使用conda创建虚拟环境并安装本书需要的软件激活之前创建的环境打开Jupyter记事本 环境安装 文章参考来源&#xff1a;http://t.csdn.cn/tu8V8 官网…...

个人博客系统-测试用例+自动化测试

一、个人博客系统测试用例 二、自动化测试 使用selenium4 Junit5单元测试框架&#xff0c;来进行简单的自动化测试。 1. 准备工作 &#xff08;1&#xff09;引入依赖&#xff0c;此时的pom.xml文件&#xff1a; <?xml version"1.0" encoding"UTF-8&quo…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...