首页 > 数据库 >Oracle RAC 集群启动顺序 转发:https://www.modb.pro/db/1824295923545612288?utm_source=index_ori

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

时间:2024-08-20 11:16:27浏览次数:17  
标签:index www 11GR2 RAC 启动 ohasd Clusterware 节点 ASM

前言

前几天使用脚本在 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> 下的结构:

相关文章

  • 前端必知必会-CSS布局-z-index属性
    文章目录CSS布局-z-index属性无z-index总结CSS布局-z-index属性z-index属性指定元素的堆叠顺序。z-index属性指定元素的堆叠顺序(哪个元素应放置在其他元素的前面或后面)。元素可以具有正或负的堆叠顺序:这是一个标题由于图像的z-index为-1,因此它将......
  • 如何在Oracle中使用同义词优化数据库访问
    1.同义词的概念:同义词是为数据库对象定义的别名,目的是简化SQL语句的书写。通过使用同义词,用户可以用一个简短且易记的名称来替代一个复杂的数据库对象名称,从而使得SQL语句更简洁。2.同义词的类型:私有同义词:由普通用户创建,通常只能由创建该同义词的用户使用。公共同义......
  • Oracle运算符:从等号到空值运算的使用技巧
    在Oracle数据库中,关系运算符和逻辑运算符用于在SQL查询中定义条件。1.等号(=)运算符作用:用于精确匹配字段的值。适用场景:适用于比较数值、字符串、日期等数据类型,要求条件严格相等。例子:SELECTename,salFROMempWHEREdeptno=10;查询部门编号为10的所有员工姓名和......
  • Oracle数据库必学!超实用的9个字符串处理函数
    Oracle查询语句中的单行函数,特别是一些常用的字符串处理函数。1.ConCAT函数作用:将两个字符串连接在一起,生成一个新的字符串。使用方法:concat(字符串1,字符串2)示例:SELECTconcat('Hello,','World')FROMDUAL;结果为:“Hello,World”。2.CHR与ASCII函数CHR函数......
  • Oracle索引使用原则:优化查询性能的关键
    1.索引信息的查询:要获取数据库中索引的相关信息,如索引类型、所在表、是否唯一索引等,可以查询与索引相关的数据字典视图。常用的数据字典视图包括dba_indexes、dba_ind_columns、user_indexes和user_ind_columns等。dba_indexes和dba_ind_columns视图需要DBA权限才能访问,......
  • 【MYSQL】在MySQL中设置 max_allowed_packet、wait_timeout 和 interactive_timeout
    目录重要配置参数临时设置参数1.使用SQL语句设置1.检查当前设置持久化设置修改配置文件在Linux上重启MySQL服务:在Windows上重启MySQL服务:注意事项示例:使用BLOB存储大数据总结解决连接断开问题的总结在处理大于1MB的数据时,MySQL数据库可能会遇到......
  • pxe.sh_替换/var/www/html/ks/中ks.cfg
    #!/bin/bashosversion=kylin_HPCcdromdir="/mnt"tftpdir="/var/lib/tftpboot"dhcpNet="168.7.10.0"netMask="255.255.255.0"dhcpRange="168.7.10.100168.7.10.200"nextServer="168.7.10.70"isoimage=&q......
  • oracle数据库缓存区高速缓存区
    文章目录Oracle数据库高速缓存一、数据库高速缓存的基本概念二、数据库高速缓存的工作原理三、数据库高速缓存的配置四、数据库高速缓存的块管理五、多种数据块大小的高速缓存配置Oracle数据库高速缓存一、数据库高速缓存的基本概念1、数据库高速缓存(DatabaseB......
  • Centos7使用RPM包安装Oracle21c数据库(EE)
    Centos7使用RPM包安装Oracle21c数据库(EE)官方下载链接21c标准版安装包信息:文件名:LINUX.X64_213000_db_home.zip(64-bit)(3,109,225,519bytes)(sha256sum-c05d5c32a72b9bf84ab6babb49aee99cbb403930406aabe3cf2f94f1d35e0916)21cxe版安装包信息:文件名:oracle-data......
  • Oracle21c数据库安装问题记录
    Oracle21c数据库安装问题记录1.安装问题1.1Oracle监听器配置错误:为该监听程序提供的信息正由此计算机上的其他软件使用转载链接:https://blog.itpub.net/23557469/viewspace-1117140/在Linux上安装好Oracle10g,配置监听器,却得到:为该监听程序提供的信息正由此计算机上的其......