ASM实例的SPILE 存储在ASM的磁盘组上时,集群要如何去获取SPFILE并启动ASM实例?(1)

从11g R2 开始,ASM spfile 会自动存储在安装集群软件时创建的第一个磁盘组中,一般为OCR磁盘组。
由于投票盘/OCR 存储在 ASM 上,因此需要在节点上启动 ASM。要启动 ASM,需要其 SPFILE 。但 SPFILE 仅位于 ASM 磁盘组上。集群是如何解决这个问题呢?

  • 当 Oracle Clusterware 集群的节点重新启动时,OHASD 将通过特定于平台的方式启动。OHASD 访问存储在本地文件系统上的 OLR(Oracle 本地注册表),以获取完成 OHASD 初始化所需的数据
  • OHASD 调出 GPNPD 和 CSSD。CSSD 访问存储在本地文件系统上的 GPNP 配置文件,其中包含以下重要的引导数据;
    1. ASM_DISKSTRING参数(如果指定)以查找配置了 ASM 磁盘的磁盘。
    2. ASM SPFILE 位置:包含 ASM spfile 的磁盘组的名称.
    3. 投票文件的位置 : ASM– CSSD 扫描所有 ASM 磁盘的标头(如 GPnP 配置文件中的ASM_DISKSTRING所示)以识别包含投票文件的磁盘。使用 ASM 磁盘头中的指针,CSSD 可以访问 ASM 磁盘上的投票文件位置,并且 CSSD 能够完成初始化并启动或加入现有集群。

要在 ASM 实例启动期间读取 ASM spfile,无需打开磁盘组。访问数据所需的所有信息都存储在设备的头部中。OHASD 读取包含 ASM SPfile 的 ASM 磁盘的标头(从 GPnP 配置文件读取),并使用磁盘标头中的指针读取 ASM spfile 的内容。此后,将启动 ASM 实例。
– 在 ASM 实例运行并挂载其磁盘组的情况下,CRSD 可以访问 Clusterware 的 OCR。
– OHASD 通过访问 ASM 磁盘组中的 OCR 来启动 CRSD。
– Clusterware完成初始化并启动其控制下的其他服务。

根据上述流程进行Spfile文件的获取:

第一步 通过gpnp配置文件找出ASM Spfile的位置
gpnptool get |grep ASM-Profile
--获取到以下信息
ASM-Profile id="asm" DiscoveryString="/dev/mapper/*" SPFile="+OCR_VOTE/rac-cluster/asmparameterfile/registry.253.1088942297"

找出ASM磁盘组对应的磁盘列表

[grid@rac01 ~]$ asmcmd lsdsk -G OCR_VOTE
---------------------------------
Path
/dev/mapper/ocr_vote01
/dev/mapper/ocr_vote02
/dev/mapper/ocr_vote03
[grid@rac01 ~]$ ll /dev/mapper/ocr_vote*
lrwxrwxrwx 1 root root 7 Jun 10 10:48 /dev/mapper/ocr_vote01 -> ../dm-2
lrwxrwxrwx 1 root root 7 Jun 10 10:48 /dev/mapper/ocr_vote02 -> ../dm-3
lrwxrwxrwx 1 root root 7 Jun 10 10:48 /dev/mapper/ocr_vote03 -> ../dm-4

第二步 扫描磁盘的盘头
[root@RAC01 ~]# kfed read /dev/dm2 | grep -E 'spf|ausize'
kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000
kfdhdb.spfile:                       27 ; 0x0f4: 0x0000001b
kfdhdb.spfflg:                        1 ; 0x0f8: 0x00000001
[root@RAC01 ~]# kfed read /dev/dm3 | grep -E 'spf|ausize'
kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000
kfdhdb.spfile:                        0 ; 0x0f4: 0x00000000
kfdhdb.spfflg:                        0 ; 0x0f8: 0x00000000
[root@RAC01 ~]# kfed read /dev/dm4 | grep -E 'spf|ausize'
kfdhdb.ausize:                  4194304 ; 0x0bc: 0x00400000
kfdhdb.spfile:                        0 ; 0x0f4: 0x00000000
kfdhdb.spfflg:                        0 ; 0x0f8: 0x00000000

可以看到/dev/dm2中包含ASM Spfile (spfflg=1) 位置从磁盘offest 27(spfile 28)开始,AU大小4M(ausize 4194304).

从磁盘内将ASM Spfile 转储出来

[root@rac2 ~]#dd if=/dev/dm2 of=spfileASM_Copy.ora skip=27  bs=4M count=1
1+0 records in
1+0 records out
4194304 bytes (4.2 MB) copied, 0.0594547 s, 70.5 MB/s[root@rac2 ~]# strings spfileASM_Copy.ora
+ASM1.__asm_max_connected_clients=5
+ASM1.__oracle_base='/oracle/gridbase'#ORACLE_BASE set from in memory value
+ASM2.__oracle_base='/oracle/gridbase'#ORACLE_BASE set from in memory value
*.asm_diskgroups='DATA'#Manual Mount
*.asm_diskstring='/dev/asm-*'
*.asm_power_limit=1
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'

相同的办法也可以获取到OCR File

扫描votedisk的盘头
[root@rac2 ~]# kfed read /dev/asm-diskc | grep -E 'vf'
kfdhdb.vfstart:                      56 ; 0x0ec: 0x00000038
kfdhdb.vfend:                        64 ; 0x0f0: 0x00000040
[root@rac2 ~]# kfed read /dev/asm-diskd | grep -E 'vf'
kfdhdb.vfstart:                      64 ; 0x0ec: 0x00000040
kfdhdb.vfend:                        72 ; 0x0f0: 0x00000048
[root@rac2 ~]# kfed read /dev/asm-diske | grep -E 'vf'
kfdhdb.vfstart:                      56 ; 0x0ec: 0x00000038
kfdhdb.vfend:                        64 ; 0x0f0: 0x00000040

所以集群可以通过这种方式获取到ASM磁盘内的文件,所以通过这个操作还能获取到哪些东西呢?后续继续探索。

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【html+css 绚丽Loading】 - 000009 五行逆流珠

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

[000-01-018].第3节:Linux环境下ElasticSearch环境搭建

我的后端学习笔记大纲 我的ElasticSearch学习大纲 1.Linux系统搭建ES环境: 1.1.单机版: a.安装ES-7.8版本 1.下载ES: 2.上传与解压:将下载的tar包上传到服务器software目录下,然后解压缩:tar -zxvf elasticsearch-7…

Excel求和方法之

一 SUM(),选择要相加的数,回车即可 二 上面的方法还不够快。用下面这个 就成功了 三 还有一种一样快的 选中之后,按下Alt键和键(即Alt)

深度学习------------------卷积神经网络(LeNet)

目录 LeNet网络手写的数字识别MNIST总结卷积神经网络(LeNet) 问题 LeNet网络 手写的数字识别 MNIST ①输入的是:3232的image ②放到一个55的卷积层里面(为什么是5?因为32-x128,∴x5)&#xff0c…

计算机毕业设计PySpark+Flask bilibili弹幕情感分析 B站视频数据可视化 B站爬虫 机器学习 深度学习 NLP自然语言处理 大数据毕业设计

### 开题报告:基于PySpark和Flask的B站弹幕情感分析系统 #### 一、研究背景 在网络视频平台的用户互动中,弹幕(Danmaku)作为一种实时评论的形式,已经成为观众表达观点和情感的重要方式。尤其是在B站(哔哩…

Go Roadmap-Basics中文笔记

Go Roadmap-Basics 地址:https://roadmap.sh/golang 简介:Github star No.6 学习路线 Go 中译版 Learn the Basics Go特点:静态类型,运行速度快,编译语言,编译速度快,自动垃圾回收&#xff…

【GH】【EXCEL】P4: Chart

文章目录 data and chartdonut chart (radial chart)Radial Chart bar chartBar Chart line chartLine Chart Scatter ChartScatter Chart Surface ChartSurface Chart Chart DecoratorsChart Decorators Chart GraphicsChart Graphics data and chart donut chart (radial cha…

C语言04--数组超详解

1.基本概念 逻辑:一次性定义多个相同类型的变量,并存储到一片连续的内存中语法: 数据类型 数组名字 [ 数据的量 ] ; 示例: int a[5]; int Num ; 语法释义: a 是数组名,即这片连续内存的名称[5] …

基于WEB的旅游推荐系统设计与实现

TOC springboot280基于WEB的旅游推荐系统设计与实现 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔…

五、2 移位操作符赋值操作符

1、移位操作符 2、赋值操作符 “ ”赋值,“ ”判断是否相等 1)连续赋值 2)复合赋值符

VS Code开发C#(.NET)之快速入门

本篇快速介绍在VS Code中开发C#的完整说明和示例: 环境准备 安装VS Code: 前往Visual Studio Code官网 下载并安装VS Code。 安装.NET SDK: C#是基于.NET框架的,因此需要安装 .NET SDK。 前往 .NET官网 下载并安装适用于操…

成为Python砖家(4): 装饰器的简单理解

第一次理解 Python 中的装饰器(decorator),是Python中一个非常强大的工具,它是一个返回函数的函数。 上面这个定义很简洁,但是没说清楚。 第二次理解 装饰器,是一个接收函数 func、返回封装后的函数 wr…

【生日视频制作】路虎劳斯莱斯中控改名字AE模板修改文字软件生成器教程特效素材【AE模板】

路虎劳斯莱斯中控改名字生日视频制作教程AE模板改文字软件特效 怎么如何做的【生日视频制作】路虎劳斯莱斯中控改名字AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤: 安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频

Element-UI Table实现列表筛选数据及列表嵌套选择框

VUE 框架在 Element UI 的基础上,Table 组件中实现了列表数据的修改功能,支持单选和多选功能,并且列表具备筛选功能。样式如图所示。 功能介绍 点击table列名实现筛选查询功能相关性判断点击列表中的正方形实现选择框功能,同时修…

Qt5 编译 Qt creator 源码中的 designer 模块

文章目录 下载 Qt Creator 源码 下载 Qt Creator 源码 Github: https://github.com/qt/qttools 笔记打算用 Qt 5.12.12 来编译 qt creator-designer 所以笔者下载的是 tag - 5.12.12 ,解压后如下,先删除多余的文件,后续还要删除更多文件方便…

Rivian暂停亚马逊送货车生产,特斯拉Roadster再引关注

Rivian遭遇供应链挑战,暂停亚马逊送货车生产 电动汽车制造商Rivian近期宣布,由于零部件短缺,已暂停为零售巨头亚马逊生产商业送货车。这一决定标志着Rivian在应对供应链挑战方面遭遇了最新挫折。作为Rivian的最大投资者,亚马逊持有…

anaconda学习笔记:复制anaconda的base环境

在anaconda的图形界面中,新建环境,可以看到,默认的包只有几个(这里是10个),像常用的numpy、pandas等等都没有,在使用过程中还需要再次安装。 而base环境有几百个(325个)这…

【Java 数据结构】PriorityQueue介绍

优先级队列 回顾二叉树堆堆是什么堆的实现初始化堆的创建向下调整建堆复杂度插入向上调整建堆复杂度删除 PriorityQueue类介绍PriorityQueue是什么PriorityQueue使用构造方法常用方法 PriorityQueue源码介绍Top-K问题 回顾二叉树 上一次我们简单的了解了二叉树这个数据结构, 但…

【Linux】软硬链接

1 .硬链接 我们知道,真正找到磁盘上文件的并不是文件名,而是inode。 其实在linux中可以让多个文件名对应于同一个inode。 我们可以通过以下命令创建一个文件的硬连接。 ln path(文件的相对/绝对路径) newname(新文件名字) 通过…

EasyCVR视频汇聚平台构建远程安防监控:5大亮点解析,助力安防无死角

随着科技的飞速发展,远程安防监控系统已经成为现代社会中不可或缺的一部分,无论是在小区、公共场所还是工业领域,安防监控都发挥着至关重要的作用。而EasyCVR作为一款功能强大的视频监控综合管理平台,其在构建远程安防监控系统方面…