我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何理解Oracle CRS/GI的进程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何理解Oracle CRS/GI的进程

今天就跟大家聊聊有关如何理解Oracle CRS/GI的进程,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

在 10g和11.1,Oracle的集群称为CRS(Oracle Cluster Ready Service), 在11.2,Oracle的集群称为GI(Grid Infrastructure)。 对于CRS/GI,他们的一些核心进程的功能基本类似,但是在11.2,新增了很多新的Deamon进程。

10.2 CRS:
$ ps -ef|grep crs/bin
root      4373  3605  0 Feb25 ?        00:02:49 /u01/app/crs/bin/crsd.bin reboot
oracle    4380  4379  0 Feb25 ?        00:00:03 /u01/app/crs/bin/evmd.bin
oracle    4925  4888  0 Feb25 ?        00:00:00 /u01/app/crs/bin/oclsomon.bin
root      4928  4483  0 Feb25 ?        00:00:00 /u01/app/crs/bin/oprocd.bin run -t 1000 -m 10000 -
hsi 5:10:50:75:90 -f
oracle    5065  4512  0 Feb25 ?        00:00:54 /u01/app/crs/bin/ocssd.bin
oracle    6825  4380  0 Feb25 ?        00:00:00 /u01/app/crs/bin/evmlogger.bin -o

11.2 GI:
$ ps -ef|grep grid/bin
root      6656     1  0 Feb25 ?        00:09:20 /u01/app/11.2.0/grid/bin/ohasd.bin reboot
grid      7960     1  0 Feb25 ?        00:16:54 /u01/app/11.2.0/grid/bin/oraagent.bin
grid      7972     1  0 Feb25 ?        00:00:05 /u01/app/11.2.0/grid/bin/mdnsd.bin
grid      7982     1  0 Feb25 ?        00:03:45 /u01/app/11.2.0/grid/bin/gpnpd.bin
grid      7993     1  0 Feb25 ?        00:14:19 /u01/app/11.2.0/grid/bin/gipcd.bin
root      7995     1  1 Feb25 ?        00:41:42 /u01/app/11.2.0/grid/bin/orarootagent.bin
root      8010     1  0 Feb25 ?        00:28:03 /u01/app/11.2.0/grid/bin/osysmond.bin
root      8026     1  0 Feb25 ?        00:01:31 /u01/app/11.2.0/grid/bin/cssdmonitor
root      8040     1  0 Feb25 ?        00:02:22 /u01/app/11.2.0/grid/bin/cssdagent
grid      8057     1  1 Feb25 ?        00:48:04 /u01/app/11.2.0/grid/bin/ocssd.bin
root      8136     1  0 Feb25 ?        00:02:49 /u01/app/11.2.0/grid/bin/octssd.bin reboot
grid      8158     1  0 Feb25 ?        00:02:24 /u01/app/11.2.0/grid/bin/evmd.bin
root      8278     1  0 Feb25 ?        00:04:18 /u01/app/11.2.0/grid/bin/crsd.bin reboot
grid      8357  8158  0 Feb25 ?        00:00:00 /u01/app/11.2.0/grid/bin/evmlogger.bin -o 
/u01/app/11.2.0/grid/evm/log/evmlogger.info -l /u01/app/11.2.0/grid/evm/log/evmlogger.log
grid      8406     1  0 Feb25 ?        00:11:22 /u01/app/11.2.0/grid/bin/oraagent.bin
root      8414     1  1 Feb25 ?        00:36:22 /u01/app/11.2.0/grid/bin/orarootagent.bin

我们对这些常见的集群进程做一些解释:

各个版本共有的:
1. ocssd.bin:这是一个很核心的进程,如果它异常终止会导致这个节点的集群或者主机重启。这个进程主要用于检查表决盘能否正常访问,节点私网间的通 信是否正常。数据库实例上的LMON进程也会注册到CSSD上,这样CSSD会通过LMON来了解数据库实例的健康情况。
  如果节点发生了主机自动重启,需要查看ocssd的日志,位于: /log//cssd。

  可以参考下面的文档来了解节点重启:
如何诊断节点重启问题
11gR2 如何诊断节点重启问题

2. crsd.bin: 这个进程主要用于管理集群中的资源。用来启动、停止检查一些资源,比如数据库实例、ASM、监听、磁盘组、VIP等。在11.2,这些具体的操作由对应的agent执行。另外,OCR的维护也是由CRSD完成的。
   当发现某些资源异常终止后,首先需要查看crsd的日志:/log//crsd。

3. evmd.bin: 事件监控(event monitor)进程,由它来发布集群事件,比如实例启动、停止等事件。

4. ons进程:Oracle Notification Service daemon,它用于接收evmd发来的集群事件,然后将这些事件发送给应用预订者或者本地的监听,这样就可以实现FAN(Fast Application Notification),应用能够接收到这些事件并进行处理。

5. gsd: 只有当CRS或者GI上需要管理9i的数据库时才需要。在11.2, gsd 默认就是offline的。
可以参考My Oracle Support 文档: GSD Is Used Only if 9i RAC Database is Present (Doc ID 429966.1)

10g和 11.1特有的:
1. oprocd.bin:Oracle Clusterware Process Monitor Daemon,用来监控主机hang,如果发现主机hang后会发起主机重启。只有未使用第三方的集群软件时才运行,Linux上从10.2.0.4开始使用。
   oprocd的日志会在:/etc/oracle/oprocd/*.log.* 或者 /var/opt/oracle/oprocd/*.log.*。

2. oclsomon.bin: 用来监控ocssd进程是否hang,如果发现hang,会发起reboot.

11.2特有的:
1. cssdagent(11.2): 这个进程由ohasd启动,然后由它来启动、停止、检查ocssd进程,以root身份运行。
   它的日志位于:/log//agent/ohasd/oracssdagent_root

2. cssdmonitor(11.2):监控cssdagent,并且检查节点hang(类似于oprocd),监控ocssd进程是否hang(类似于oclsomon),监控vendor clusterware(类似于vmon),以root身份运行。
   它的日志位于:/log//agent/ohasd/oracssdmonitor_root

3. ohasd.bin: 在GI启动时,最先启动的就是ohasd,然后由它启动agent(orarootagent,oraagent, cssdagnet 和 cssdmonitor) ,各个agent再启动对应的进程。  
    如果GI启动过程有问题,可以查看一下ohasd的日志:/log//agent/ohasd

4. mdnsd.bin:这个进程通过多播(Multicast)发现集群中的节点和所有的网卡信息。一定要确定集群中的网卡支持多播,而且节点间的通信正常。
   它的日志位于:/log//mdnsd

5. gpnpd.bin: 发布构建集群所需要的bootstrap 信息,并且在集群的所有节点之间同步gpnp profile。
   它的日志位于:/log//gpnpd

6. gipcd.bin: 这个进程负责管理集群中所有的私网(cluster interconnect)网卡。私网信息是通过gpnpd获得的。
   它的日志位于:/log//gipcd

7. gnsd(可选): Grid Naming Service. 相当于子DNS,功能和DNS类似,会取代使用/etc/hosts进行主机的解析。
   它的日志位于:/log//gnsd

8. octssd.bin: The Cluster Time Sync Service(CTSS) 用于各个节点间的时钟同步,集群中的一个节点的时钟会作为参照节点,其它节点和这个节点进行时钟同步。注意:当第三方时间同步软件(例如:NTP) 存在时,CTSS会以‘观察者’的方式运行,并不修改节点时间,但是,如果CTSS没有发现第三方时间同步软件,它会开始修改节点时间以便和参考节点同 步。
   它的日志位于:/log//ctssd.

9. osysmond.bin :这是Oracle Cluster Health Monitor(CHM)的主要进程,这个进程在所有节点都会运行,sysmond会将每个节点的资源使用情况发送给cluster logger service,后者将会把所有节点的信息都接收并保存到CHM的资料库。
   它的日志位于:/log//crfmond/crfmond.log 

10. ologgerd: 这是Oracle Cluster Health Monitor(CHM)的另一个主要进程,在一个集群中的,ologgerd 会有一个主机点(master),还有一个备节点(standby)。当ologgerd在当前的节点遇到问题无法启动后,它会在备用节点启用。
   它的日志位于:/log//crflogd/crflogd.log

关于CHM,请参考:
11gR2 新特性:Oracle Cluster Health Monitor(CHM)简介

11. agent.bin:在11.2,各个资源的启动、停止和检查都是由agent来执行的。ohasd 会把这些agent启动。

Agent包括两种,一种是ohasd的:
oraagent_grid: 启动/停止/检查/清除ora.asm, ora.evmd, ora.gipcd, ora.gpnpd, ora.mdnsd等资源。
orarootagent_root:启动/停止 /检查/清除 ora.crsd, ora.ctssd, ora.diskmon, ora.drivers.acfs, ora.crf (11.2.0.2)等资源。
oracssdagent_root: 启动/停止/检查 ocssd进程。
oracssdmonitor_root:监控cssdagent进程。

它们的日志位于:/log//agent/ohasd

另一种是crsd的:
oraagent_grid: 启动/停止/检查/清除 asm, ora.eons, ora.LISTENER.lsnr, SCAN listeners, ora.ons, diskgroup  等资源
oraagent_oracle: 启动/停止/检查/清除 service, database 等资源
orarootagent_root : 启动/停止/检查/清除 GNS, VIP, SCAN VIP and network 等资源.
scriptagent_grid:  应用服务定制的服务。

它们的日志位于:/log//agent/crsd

看完上述内容,你们对如何理解Oracle CRS/GI的进程有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何理解Oracle CRS/GI的进程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何理解Python进程

这篇文章主要讲解了“如何理解Python进程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Python进程”吧!前言进程,一个新鲜的字眼,可能有些人并不了解,它是系统某个运行程序的载
2023-06-15

如何理解Linux进程的内存管理

这篇文章给大家介绍如何理解Linux进程的内存管理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。几个关键的数据结构一个进程的虚拟地址空间主要由两个数据结来描述,一个是 mm_struct,一个是 vm_area_str
2023-06-15

如何理解java中进程的概念

进程的概念进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。 一、进程是一个实体每一个进程都有它自己的地址空间,一般情况
如何理解java中进程的概念
2021-05-21

如何理解进程管理器中的chrome.exe *32

本篇内容主要讲解“如何理解进程管理器中的chrome.exe *32”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解进程管理器中的chrome.exe *32”吧!在64位的 Window
2023-06-13

如何理解Linux系统的进程管理机制

这篇文章主要介绍“如何理解Linux系统的进程管理机制”,在日常操作中,相信很多人在如何理解Linux系统的进程管理机制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Linux系统的进程管理机制”的疑
2023-06-12

如何理解Linux系统中的进程调度

这篇文章主要讲解了“如何理解Linux系统中的进程调度”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Linux系统中的进程调度”吧!操作系统要实现多进程,进程调度必不可少。有人说,进
2023-06-12

如何理解Linux系统中的守护进程

这篇文章主要介绍“如何理解Linux系统中的守护进程”,在日常操作中,相信很多人在如何理解Linux系统中的守护进程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解Linux系统中的守护进程”的疑惑有所
2023-06-12

如何理解linux进程中rootfs与linuxrc

这期内容当中小编将会给大家带来有关如何理解linux进程中rootfs与linuxrc,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。内核启动的最后阶段启动了三个进程进程0:进程0其实就是刚才讲过的idle
2023-06-06

如何进行线程的讲解

这篇文章给大家介绍如何进行线程的讲解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。线程调度在java技术中,线程通常是抢占式的而不需要时间片分配进程(分配给每个线程相等的cpu时间的进程)。一个经常犯的错误是认为“抢占
2023-06-03

Linux中Kill命令的进程调度该如何理解

这篇文章主要为大家分析了Linux中Kill命令的进程调度该如何理解的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Linux中Kill命令的进程调度该如何理
2023-06-28

WinXP下如何删除进程管理器中的GoogleUpdate进程

使用WinXP系统的朋友经常都会用到进程管理器,进程管理器可以帮你监控到每一个悄悄在后台运行的程序。有不少细心的WinXP用户会发现,进程管理器中总是出现GoogleUpdate.exe进编程程,看名字我们就知道用户一定是安装了Google
2023-06-12

编程热搜

目录