Oracle RAC 集群启动顺序 转发:https://www.modb.pro/db/1824295923545612288?utm_source=index_ori

news/2024/11/15 11:29:26/文章来源:https://www.cnblogs.com/zclzc/p/18369103

前言

前几天使用脚本在 RockyLinux 9.4 安装 Oracle 11GR2 RAC,安装完之后发现集群无法正常启动,后经过分析发现原来是因为 RHEL9 版本默认安装移除了 initscripts 软件包,需要人为手动安装,在 RHEL8 之前是默认安装的。

在分析问题的过程中,顺便对 Oracle RAC 集群启动顺序进行了更深入的了解,下面简单整理了一下,分享给大家一起看看,本文主要是以 11GR2 为例。

Oracle 11GR2 RAC 集群启动顺序

参考文档: 11GR2 Clusterware 和 Grid Home – 你需要知道的事 (Doc ID 2225748.1)

11GR2 Clusterware 的一些关键特性:

  • 在安装运行 11GR2 的 Real Application Clusters 数据库之前需要先安装 11GR2 Clusterware。
  • GRID HOME 包括 Oracle Clusterware 和 ASM。ASM 不能够放在另外单独的 HOME 下。
  • 11GR2 Clusterware 可以安装为 Standalone 模式(以来支持 ASM)或者 Oracle Restart 模式(单节点)。此时 Clusterware 是完整版 Clusterware 的子集。
  • 11GR2 Clusterware 可以独立运行,也可以运行在第三方 Clusterware 之上。关于支持矩阵请参考文档 Note: 184875.1 “How To Check The Certification Matrix for Real Application Clusters”
  • GRID HOME 和 RAC/DB HOME 必须安装在不同的路径下。
  • 11GR2 Clusterware 的 OCR 和 voting 文件必须是共享的,它们可以放在 ASM 里或者集群文件系统中。
  • OCR 每4个小时自动备份一次,备份文件放在 <GRID_HOME>/cdata/<clustername>/ 目录下,并且可以使用 ocrconfig 工具恢复。
  • 每次配置改变时,voting file 会被备份到 OCR 中,并且可以使用 crsctl 工具恢复。
  • 11GR2 Clusterware 需要最少一个私有网络(为了节点间的通信)和最少一个公共网络(为了和集群外通信)。多个虚拟 IP 需要注册到 DNS 中,包括 node VIPs (每个节点一个), SCAN VIPs (3个)。这可以通过网络管理员手工操作来完成也可以使用 GNS (Grid Naming Service) 来完成。(注意 GNS 也需要一个自己的 VIP)。
  • 客户端通过 SCAN (Single Client Access Name)来访问数据库。关于 SCAN 的更多信息请参照 Note: 887522.1
  • 集群安装后期,root.sh 会启动 clusterware。关于如何处理 root.sh 的相关问题,请参照 Note: 1053970.1
  • 每个节点只允许运行一套集群相关的后台进程。
  • 在 Unix 下,clusterware 是由 init.ohasd 脚本启动的。而 init.ohasd 脚本以 respawn 模式定义在 /etc/inittab 中。
  • 如果某个节点被认定为不健康,那么它会被从集群中驱逐(或者重启),以此来维持整个集群的健康。关于更多信息,请参照文档 Note: 1050693.1 “Troubleshooting 11.2 Clusterware Node Evictions (Reboots)”
  • 可以使用第三方时间同步软件(比如 NTP)来保持节点间的时间同步,也可以不使用第三方时间同步软件,而由 CTSS 来同步节点间时间,关于更多信息,请参照文档 Note: 1054006.1
  • 如果要安装低版本的数据库软件,那么需要在集群中 pin 住节点,否则会碰到 ORA-29702 错误。 更多信息请参照文档 Note 946332.1 以及 Note:948456.1。
  • 可以通过启动节点,或者执行"crsctl start crs"来启动集群。也可以执行"crsctl start cluster"来在所有的节点上启动集群。注意 crsctl 在 <GRID_HOME> 目录,注意 crsctl start cluster 仅在 ohasd 运行的时候才可以工作。
  • 可以通过关闭节点,或者执行"crsctl stop crs"来关闭 clusterware。或者执行""crsctl stop cluster"来关闭所有节点上的 clusterware。注意 crsctl 在 <GRID_HOME> 目录。
  • 手工杀掉(kill)集群的进程是不支持的。
  • 实例现在在 crsctl stat res -t 的输出中是 .db 资源的一部分,在 11GR2 上,没有单独的 .inst 资源。

下面的图片清晰的列出了各个层级:

关于启动顺序的简述:INIT 启动 init.ohasd (以 respawn 参数),而 init.ohasd 启动 OHASD 进程(Oracle High Availability Services Daemon),而 OHASD 又启动其它 4 个进程。

第一层:OHASD 启动:

  • cssdagent - 负责启动 CSSD 的 Agent。
  • cssdmonitor - 监控 CSSD 以及节点健康(和 cssdagent 一起)。
  • orarootagent - 负责启动所有 root 用户下的 ohasd 资源 的 Agent。
  • oraagent - 负责启动所有 oracle 用户下的 ohasd 资源的 Agent。

第二层:OHASD rootagent 启动:

  • CRSD - 管理集群资源的主要后台进程。
  • CTSSD - Cluster Time Synchronization Services Daemon
  • Diskmon
  • ACFS (ASM Cluster File System)驱动

第二层:OHASD oraagent 启动:

  • MDNSD - 用来实现 DNS 查询
  • GIPCD - 用来做节点间通信
  • GPNPD - Grid Plug & Play Profile Daemon
  • EVMD - Event Monitor Daemon
  • ASM - ASM 资源

第三层:CRSD 启动:

  • orarootagent - 负责启动所有 root 用户下的 crsd 资源的 Agent。
  • oraagent - 负责启动所有 oracle 用户下的 crsd 资源的 Agent。

第四层:CRSD rootagent 启动:

  • Network resource - 监控公共网络
  • SCAN VIP(s) - Single Client Access Name Virtual IPs
  • Node VIPs - 每个节点1个
  • ACFS Registery - 挂载 ASM Cluster File System
  • GNS VIP (optional) - VIP for GNS

第四层:CRSD oraagent 启动:

  • ASM Resouce - ASM 资源
  • Diskgroup - 用来管理/监控 ASM 磁盘组
  • DB Resource - 用来管理/监控数据库和实例
  • SCAN Listener - SCAN 监听,监听在 SCAN VIP 上
  • Listener - 节点监听,监听在 Node VIP 上
  • Services - 用来管理/监控 services
  • ONS - Oracle Notification Service
  • eONS - 加强版 Oracle Notification Service
  • GSD - 为了向下兼容 9i
  • GNS (optional) - Grid Naming Service - 处理域名解析

重要日志的路径

11GR2 Clusterware 后台进程日志都放在 <GRID_HOME>/log/<nodename>。 <GRID_HOME>/log/<nodename> 下的结构:

  • alert<NODENAME>.log(📢 注意:对于 clusterware 的问题,可以先检查这个文件)
  • ./admin:
  • ./agent:
  • ./agent/crsd:
  • ./agent/crsd/oraagent_oracle:
  • ./agent/crsd/ora_oc4j_type_oracle:
  • ./agent/crsd/orarootagent_root:
  • ./agent/ohasd:
  • ./agent/ohasd/oraagent_oracle:
  • ./agent/ohasd/oracssdagent_root:
  • ./agent/ohasd/oracssdmonitor_root:
  • ./agent/ohasd/orarootagent_root:
  • ./client:
  • ./crsd:
  • ./cssd:
  • ./ctssd:
  • ./diskmon:
  • ./evmd:
  • ./gipcd:
  • ./gnsd:
  • ./gpnpd:
  • ./mdnsd:
  • ./ohasd:
  • ./racg:
  • ./racg/racgeut:
  • ./racg/racgevtf:
  • ./racg/racgmain:
  • ./srvm:

<GRID_HOME> 和 $ORACLE_BASE 目录下的 cfgtoollogs 目录存放了一些其它的重要日志。比如 rootcrs.pl 以及其它配置工具,比如 ASMCA 等等。

ASM 日志存放在 $ORACLE_BASE/diag/asm/+asm/<ASM Instance Name>/trace

<GRID_HOME>/bin 目录下的 diagcollection.pl 可以自动收集重要的日志。以 root 用户执行它。

官方文档

以下列出官方文档中关于 Cluster Startup 的示例图:

11GR2

 

 

 

12CR2

 

 

 

18C

 

 

 

19C

 

 

 

21C

 

 

 

23ai

 

 

 

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

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

相关文章

SHELL之数值运算

【四则运算符号】表达式 举例$(( )) echo $((1+1))$[ ] echo $[10-5]expr expr 10 / 5 (运算符左右有空格)let n=1;let n+=1 等价于 let n=n+1一、整数运算 1、基本运算类别加法:+ 减法:- 乘法:* 整除:/ 取余数:%2、expr运算工具加法:+ 减法:- 乘法:* 整除:/ 取余数…

FIFO读数取数

FIFO:先进先出的缓存器。常应用于带宽不同或者跨时钟域等数据传输情况。 相关参数:数据宽度,存储深度,将空标志位。空标志位。将满标志位,满标志位。读写时钟。其中将满信号与将空信号相较于真正的满信号与空信号都会提前一个时钟周期拉高。FIFO generator配置注意事项:B…

如何使用midjourney?MidJourney订阅计划及国内订阅教程

MidJourney订阅计划 MidJourney提供四种不同的订阅计划:订阅计划 每月费用 年度费用 使用限制基础计划 $10/月 $96/年($8/月) 每月可生成200张图,无fast模式,不能免排队生成图标准计划 $30/月 $288/年($24/月) 每月可无限量生成图片,15小时fast模式,免排队生成图,有隐…

寻访中国100家.NET中大企业 —— 第二站:苏州行

一:事情起因 在.NET圈里混了十多年,相信有不少人知道我专注于玩 .NET高级调试,如今技术上的硬实力还是能够解决市面上的一些疑难杂症,但软实力却在另一个极端,如(人际交往,人情事故),所以就萌生了刻意训练的念头,便自我发起了这个活动 "寻访中国100家.NET中大企…

7zip如何使带中文的文件名以utf-8编码?

问题: 在win 上压缩中文模版文件后,在Linux 上解压乱码 解决方案: 7-zip压缩的zip文件里面带有中文文件名的,在其他平台上解压后中文文件名乱码。在网上查找了下资料,使用7-zip压缩zip文件,可以使用参数cu=on,强制文件名以utf-8格式编码,在其他平台上解压后正常。 下图…

Windows 10、Windows 11 配置 gradle8

Windows 10、Windows 11 配置 gradle8GRADLE_HOME=D:\development\gradle\gradle-8.8GRADLE_USER_HOME=D:\\repository\\gradle-repository%GRADLE_HOME%\bin

windows环境Jenkins部署前端项目

在Windows环境下使用Jenkins部署前端项目,可以按照以下步骤进行: 1. 安装Jenkins可以从Jenkins官网下载Windows版本的Jenkins安装包。 安装完成后,启动Jenkins服务,并通过浏览器访问 http://localhost:8080 进入Jenkins管理界面。 windows环境Jenkins部署前端项目2. 配置Je…

提升认知:解锁成功之门的钥匙——实践、交流与阅读的力量

​ 认知,这个看似抽象的概念,实则是我们理解世界、做出决策的基石。它如同种子,孕育着思维的花朵,最终结出行为的果实,影响着我们生活的方方面面。我们所赚取的每一分钱,都是对这个世界认知的直接体现。当我们的认知深刻,我们能够洞察事物的本质,把握机遇,从而获得相应…

短URL服务设计

引言 在营销系统里,为了增加系统的活跃用户数,经常会有各种各样的营销活动。这类活动几乎都是为了充分利用存量用户的价值,促使他们分享产品或App以达到触达到更多用户的目的。又或者是出于营销目的,群发优惠券触达短信这种场景。 分享App活动页(或其他各种页面)时URL一般…

.NET 9 优化,抢先体验 C# 13 新特性

前言 微软即将在 2024年11月12日发布 .NET 9 的最终版本,而08月09日发布的.NET 9 Preview 7 是最终发布前的最后一个预览版。这个版本将与.NET Conf 2024一同亮相,并已与 Visual Studio 2022 17.12 预览版1一同发布,可以直接通过Visual Studio安装。同时Visual Studio Code …

原生JS实现虚拟列表

什么是虚拟列表 如果我们要将一个数组渲染为列表添加到页面中,我们可以很容易实现,无非就是循环遍历这个数组,然后依次创建 DOM 元素插入即可,但是如果数据量很庞大,比如有一万条数据,我们就要把一万个 DOM 结点插入到页面中,这显然会导致页面的卡顿。为了针对这个场景进…

高德/百度地图: 坐标拾取系统:用经纬度搜索

一,高德地图:坐标拾取器 https://developer.amap.com/tools/picker 如图: 二,百度地图:拾取坐标系统 https://api.map.baidu.com/lbsapi/getpoint/index.html