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
最近,处理一次oracle 11.2.0.4 rac cluster由于cssd无法启动,导致集群一个节点的CRS集群无法正常启动的故障。原本,计划变更是从ASM剔除磁盘,解除存储到数据库服务器的映射;磁盘已经成功从ASM剔除,也已经成…...
Converting Phase Noise to Random Jitter(Cycle-to-Cycle)
借用Phase Noise to Random Jitter(Period)的转换过程推导了Cycle to Cycle random Jitter,一般展频时钟调制,用来评估相邻周期的随机抖动。...
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文件(零件图)另存为CAD文件 另存为part文件(零件图) 如图一个STP文件,右上角标注是什么文件呢 另存为零件图,即另存为part …...
【数据结构】栈---C语言版(详解!!!)
文章目录 🐸一、栈的概念及结构🍄1、栈的概念定义🍄2、动图演示🌲入栈🌲出栈🌲整体过程 🐸二、栈的实现🐸三、数组结构栈详解🍎创建栈的结构⭕接口1:定义结构…...
sqlserver 联表查询、子查询、窗口函数、聚合函数等概念与例子
with cte as的用法 查询的一个有用工具,允许创建临时命名结果集,可在查询中多次引用相同的子查询结果,可以提高查询的可读性和维护性 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后,还需要安装PPOCRLabel这个标注工具,想要自己训练模型的话,有个标注工具会起很大作用。 尤其是PPOCRLabel就是跟PaddleOCR配套的标注工具,同样是开源的。 在下载 PaddleOCR 整个源码中&#x…...
Java学习笔记37——网络编程01
网络编程入门 网络编程入门网络编程概述网路编程的三要素ip地址InetAddress类的使用端口 网络编程入门 网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理…...
powershell 搜索文本并返回行号
目录 powershell 搜索文本并返回行号 python调用powershell搜索文本并返回行号; powershell 搜索文本并返回行号 $keyword PS dir "d:\" -Filter "*.txt" -Recurse | foreach {$line 0 $fileName $_.FullNameGet-Content $fileName | f…...
网络原理
网络原理 传输层 UDP 特点 特点:无连接,不可靠,面向数据报,全双工 格式 怎么进行校验呢? 把UDP数据报中的源端口,目的端口,UDP报文长度的每个字节,都依次进行累加 把累加结果&a…...
力扣(LeetCode)算法_C++——同构字符串
给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相…...
网管实战⑼:配置华为S5720交换机
配置好汇聚交换机后,需要根据单位情况配置具体的接入交换机。 自从2019年12月底配置好交换机后,基本上都没有怎么操作交换机了。那时候使用的是H3C交换机,主要是H3C S7706、H3C S5120、H3C S5130、H3C S5500、H3C S3600等型号的交换机&#x…...
文件上传漏洞第十六关十七关
第十六关 第十七关 第十六关 直接上传php文件判断限制方式: 同第十五关白名单限制 第十六关源码: 代码逻辑判断了后缀名、content-type,以及利用imagecreatefromgif判断是否为gif图片,最后再做了一次二次渲染 二次渲染图片马&…...
Try llama2 in NUC (by quqi99)
作者:张华 发表于:2023-09-06 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 据说现在在PC机上可以运行llama2大模型了, Way 1 于是照…...
强大易用的开源 建站工具Halo
特点 可插拔架构 Halo 采用可插拔架构,功能模块之间耦合度低、灵活性提高。支持用户按需安装、卸载插件,操作便捷。同时提供插件开发接口以确保较高扩展性和可维护性。 ☑ 支持在运行时安装和卸载插件 ☑ 更加方便地集成三方平台 ☑ 统一的可配置设置表…...
如何使用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创建虚拟(运行)环境使用conda创建虚拟环境并安装本书需要的软件激活之前创建的环境打开Jupyter记事本 环境安装 文章参考来源:http://t.csdn.cn/tu8V8 官网…...
个人博客系统-测试用例+自动化测试
一、个人博客系统测试用例 二、自动化测试 使用selenium4 Junit5单元测试框架,来进行简单的自动化测试。 1. 准备工作 (1)引入依赖,此时的pom.xml文件: <?xml version"1.0" encoding"UTF-8&quo…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
