RAC5——11gR2以后GI进程的变化

参考文档:

11gR2 Clusterware and Grid Home - What You Need to Know (Doc ID 1053147.1)
诊断 Grid Infrastructure 启动问题 (Doc ID 1623340.1)

Oracle 11gR2 中对CRSD资源进行了重新分类: Local Resources 和 Cluster Resources,可以通过命令crsctl查看:

[root@rac1 ~]# crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       rac1                                         
               OFFLINE OFFLINE      rac2                                         
ora.FRA.dg
               ONLINE  ONLINE       rac1                                         
               OFFLINE OFFLINE      rac2                                         
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.OCR_VOTE.dg
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.asm
               ONLINE  ONLINE       rac1                     Started             
               ONLINE  ONLINE       rac2                     Started             
ora.eons
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.gsd
               OFFLINE OFFLINE      rac1                                         
               OFFLINE OFFLINE      rac2                                         
ora.net1.network
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.ons
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.registry.acfs
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac1                                         
ora.oc4j
      1        OFFLINE OFFLINE                                                   
ora.rac1.vip
      1        ONLINE  ONLINE       rac1                                         
ora.rac2.vip
      1        ONLINE  ONLINE       rac2                                         
ora.scan1.vip
      1        ONLINE  ONLINE       rac1                                         
ora.test.db
      1        ONLINE  ONLINE       rac1                     Open                
      2        OFFLINE OFFLINE                    ——这里我故意关掉了rac2节点上的数据库实例

对应起来看:Local Resource就是应用层的东西;而Cluster Resource就是集群层的东西了。

我们可以用以下命令查看ohasd管理的资源:

[root@rac1 ~]#  crsctl stat res -init -t             ——在节点1上执行
--------------------------------------------------------------------------------   
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        ONLINE  ONLINE       rac1                     Started             
ora.crsd
      1        ONLINE  ONLINE       rac1                                         
ora.cssd
      1        ONLINE  ONLINE       rac1                                         
ora.cssdmonitor
      1        ONLINE  ONLINE       rac1                                         
ora.ctssd
      1        ONLINE  ONLINE       rac1                     OBSERVER            
ora.diskmon
      1        ONLINE  ONLINE       rac1                                         
ora.drivers.acfs
      1        ONLINE  ONLINE       rac1                                         
ora.evmd
      1        ONLINE  ONLINE       rac1                                         
ora.gipcd
      1        ONLINE  ONLINE       rac1                                         
ora.gpnpd
      1        ONLINE  ONLINE       rac1                                         
ora.mdnsd
      1        ONLINE  ONLINE       rac1     

[root@rac2 ~]#  crsctl stat res -init -t        在节点2上执行
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        ONLINE  ONLINE       rac2                     Started             
ora.crsd
      1        ONLINE  ONLINE       rac2                                         
ora.cssd
      1        ONLINE  ONLINE       rac2                                         
ora.cssdmonitor
      1        ONLINE  ONLINE       rac2                                         
ora.ctssd
      1        ONLINE  ONLINE       rac2                     OBSERVER            
ora.diskmon
      1        ONLINE  ONLINE       rac2                                         
ora.drivers.acfs
      1        ONLINE  ONLINE       rac2                                         
ora.evmd
      1        ONLINE  ONLINE       rac2                                         
ora.gipcd
      1        ONLINE  ONLINE       rac2                                         
ora.gpnpd
      1        ONLINE  ONLINE       rac2                                         
ora.mdnsd
      1        ONLINE  ONLINE       rac2   

可以发现has进程在每个实例上看到和管理的东西是不一样的,也就是说has只管理自己服务器上的进程。我们接下来尝试关闭has进程:

[root@rac1 bin]# ./crsctl stop has

CRS-2791: Starting shutdown of Oracle HighAvailability Services-managed resources on 'rac1'

CRS-2673: Attempting to stop 'ora.crsd' on'rac1'

CRS-2790: Starting shutdown of ClusterReady Services-managed resources on 'rac1'

CRS-2673: Attempting to stop 'ora.LISTENER_SCAN1.lsnr'on 'rac1'

CRS-2673: Attempting to stop'ora.OCRVOTING.dg' on 'rac1'

CRS-2673: Attempting to stop 'ora.sdd.db'on 'rac1'

CRS-2673: Attempting to stop'ora.LISTENER.lsnr' on 'rac1'

CRS-2673: Attempting to stop 'ora.oc4j' on'rac1'

CRS-2673: Attempting to stop 'ora.cvu' on'rac1'

CRS-2677: Stop of 'ora.LISTENER_SCAN1.lsnr'on 'rac1' succeeded

CRS-2673: Attempting to stop'ora.scan1.vip' on 'rac1'

CRS-2677: Stop of 'ora.LISTENER.lsnr' on'rac1' succeeded

CRS-2673: Attempting to stop 'ora.rac1.vip'on 'rac1'

CRS-2677: Stop of 'ora.rac1.vip' on 'rac1'succeeded

CRS-2672: Attempting to start'ora.rac1.vip' on 'rac2'

CRS-2677: Stop of 'ora.scan1.vip' on 'rac1'succeeded

CRS-2672: Attempting to start 'ora.scan1.vip'on 'rac2'

CRS-2676: Start of 'ora.scan1.vip' on'rac2' succeeded

CRS-2676: Start of 'ora.rac1.vip' on 'rac2'succeeded

CRS-2672: Attempting to start'ora.LISTENER_SCAN1.lsnr' on 'rac2'

CRS-2677: Stop of 'ora.sdd.db' on 'rac1'succeeded

CRS-2673: Attempting to stop 'ora.DATA.dg'on 'rac1'

CRS-2673: Attempting to stop 'ora.FRA.dg'on 'rac1'

CRS-2676: Start of'ora.LISTENER_SCAN1.lsnr' on 'rac2' succeeded

CRS-2677: Stop of 'ora.FRA.dg' on 'rac1'succeeded

CRS-2677: Stop of 'ora.DATA.dg' on 'rac1'succeeded

CRS-2677: Stop of 'ora.oc4j' on 'rac1'succeeded

CRS-2672: Attempting to start 'ora.oc4j' on'rac2'

CRS-2677: Stop of 'ora.cvu' on 'rac1'succeeded

CRS-2672: Attempting to start 'ora.cvu' on'rac2'

CRS-2676: Start of 'ora.cvu' on 'rac2'succeeded

CRS-2677: Stop of 'ora.OCRVOTING.dg' on'rac1' succeeded

CRS-2673: Attempting to stop 'ora.asm' on'rac1'

CRS-2677: Stop of 'ora.asm' on 'rac1'succeeded

CRS-2676: Start of 'ora.oc4j' on 'rac2'succeeded

CRS-2673: Attempting to stop 'ora.ons' on'rac1'

CRS-2677: Stop of 'ora.ons' on 'rac1'succeeded

CRS-2673: Attempting to stop'ora.net1.network' on 'rac1'

CRS-2677: Stop of 'ora.net1.network' on'rac1' succeeded

CRS-2792: Shutdown of Cluster ReadyServices-managed resources on 'rac1' has completed

CRS-2677: Stop of 'ora.crsd' on 'rac1'succeeded

CRS-2673: Attempting to stop 'ora.mdnsd' on'rac1'

CRS-2673: Attempting to stop 'ora.ctssd' on'rac1'

CRS-2673: Attempting to stop 'ora.evmd' on'rac1'

CRS-2673: Attempting to stop 'ora.asm' on'rac1'

CRS-2677: Stop of 'ora.evmd' on 'rac1'succeeded

CRS-2677: Stop of 'ora.mdnsd' on 'rac1'succeeded

CRS-2677: Stop of 'ora.ctssd' on 'rac1'succeeded

CRS-2677: Stop of 'ora.asm' on 'rac1'succeeded

CRS-2673: Attempting to stop'ora.cluster_interconnect.haip' on 'rac1'

CRS-2677: Stop of'ora.cluster_interconnect.haip' on 'rac1' succeeded

CRS-2673: Attempting to stop 'ora.cssd' on'rac1'

CRS-2677: Stop of 'ora.cssd' on 'rac1'succeeded

CRS-2673: Attempting to stop 'ora.crf' on'rac1'

CRS-2677: Stop of 'ora.crf' on 'rac1'succeeded

CRS-2673: Attempting to stop 'ora.gipcd' on'rac1'

CRS-2677: Stop of 'ora.gipcd' on 'rac1'succeeded

CRS-2673: Attempting to stop 'ora.gpnpd' on'rac1'

CRS-2677: Stop of 'ora.gpnpd' on 'rac1'succeeded

CRS-2793: Shutdown of Oracle HighAvailability Services-managed resources on 'rac1' has completed

CRS-4133: Oracle High Availability Serviceshas been stopped.

[root@rac1 bin]#

 

注意:

       我这里测试的是Oracle11gR2的环境,我们在节点1上执行该命令,只把节点1上的进程停了,而把相关的资源转移到我们的节点2上了,因此也证实了我们上面的说的,该命令只争对当前服务器有效。

 

启动HAS

[root@rac1 bin]# ./crsctl start has

CRS-4123: Oracle High Availability Serviceshas been started.

[root@rac1 bin]#

 

从上面看只是启动了HAS。实际上后面会把Oracle Restart 管理的资源都会启动。这个可以使用crs_stat 命令来进程验证,不过Oracle 11g的进程启动过程比较慢,需要耐心等待。

等关闭has进程后,grid用户下,会有这几个进程被关闭:

[root@rac1 ~]# ps -fu grid
UID        PID  PPID  C STIME TTY          TIME CMD
grid      4899     1  0 22:28 ?        00:00:00 /u01/app/11.2.0/grid/bin/oraagent.bin
grid      4912     1  0 22:28 ?        00:00:00 /u01/app/11.2.0/grid/bin/gipcd.bin
grid      4917     1  0 22:28 ?        00:00:00 /u01/app/11.2.0/grid/bin/mdnsd.bin
grid      4932     1  0 22:28 ?        00:00:00 /u01/app/11.2.0/grid/bin/gpnpd.bin
grid      4992     1  1 22:28 ?        00:00:01 /u01/app/11.2.0/grid/bin/ocssd.bin 
grid      5008     1  0 22:28 ?        00:00:00 /u01/app/11.2.0/grid/bin/diskmon.bin -d -f

关于以上进程的解释如下:

(3)Grid Plug and Play (GPNPD):

       Provides access to the Grid Plug and Play profile, and coordinates updates to the profile among the nodes of the cluster to ensure that all of the nodes have the most recent profile.

(4)Grid Interprocess Communication (GIPC):

       A support daemon that enables Redundant Interconnect Usage.

 

(5)ora.mdns

       Used by Grid Plug and Play to locate profiles in the cluster, as well as by GNS to perform name resolution. The mDNS process is a background process on Linux and UNIX, and a service on Windows.

 

(6)Cluster Time Synchronization Service (CTSS):

       Provides time management in a cluster for Oracle Clusterware. 在上面的查询结果中,我们看到CTSS 的状态是OBSERVER。即旁观者。

       在11gR2中,RAC在安装的时候,时间同步可以用两种方式来实现,一是NTP,还有就是CTSS. 当安装程序发现 NTP 协议处于非活动状态时,安装集群时间同步服务将以活动模式自动进行安装并通过所有节点的时间。如果发现配置了 NTP,则以观察者模式启动集群时间同步服务,Oracle Clusterware 不会在集群中进行活动的时间同步。

 

(7)Automatic Storage Management Cluster File System (Oracle ACFS):

      Oracle Automatic Storage Management Cluster File System (Oracle ACFS) is a multi-platform, scalable file system, and storage management technology that extends Oracle Automatic Storage Management (Oracle ASM) functionality to support customer files maintained outside of Oracle Database. Oracle ACFS supports many database and application files, including executables, database trace files, database alert logs, application reports, BFILEs, and configuration files. Other supported files are video, audio, text, images, engineering drawings, and other general-purpose application file data.

      An Oracle ACFS file system is a layer on Oracle ASM and is configured with Oracle ASM storage, as shown in Figure 5-1. Oracle ACFS leverages Oracle ASM functionality that enables:

·         Oracle ACFS dynamic file system resizing

·         Maximized performance through direct access to Oracle ASM disk group storage

·         Balanced distribution of Oracle ACFS across Oracle ASM disk group storage for increased I/O parallelism

·         Data reliability through Oracle ASM mirroring protection mechanisms

 

[root@rac1 u01]# shcrs_stat.sh

Name                           Target     State     Host     

------------------------------ -------------------  -------  

ora.DATA.dg                    ONLINE     ONLINE    rac1     

ora.FRA.dg                     ONLINE    ONLINE     rac1     

ora.LISTENER.lsnr              ONLINE     ONLINE    rac1     

ora.LISTENER_SCAN1.lsnr        ONLINE     ONLINE    rac2     

ora.OCRVOTING.dg               ONLINE     ONLINE    rac1     

ora.asm                        ONLINE     ONLINE    rac1     

ora.cvu                        ONLINE     ONLINE    rac2     

ora.gsd                        OFFLINE    OFFLINE             

ora.net1.network               ONLINE     ONLINE    rac1     

ora.oc4j                       ONLINE     ONLINE    rac2     

ora.ons                        ONLINE     ONLINE    rac1     

ora.rac1.ASM1.asm              ONLINE     ONLINE    rac1     

ora.rac1.LISTENER_RAC1.lsnr    ONLINE    ONLINE     rac1     

ora.rac1.gsd                   OFFLINE    OFFLINE             

ora.rac1.ons                   ONLINE     ONLINE    rac1     

ora.rac1.vip                   ONLINE     ONLINE    rac1     

ora.rac2.ASM2.asm              ONLINE     ONLINE    rac2     

ora.rac2.LISTENER_RAC2.lsnr    ONLINE    ONLINE     rac2     

ora.rac2.gsd                   OFFLINE    OFFLINE             

ora.rac2.ons                   ONLINE     ONLINE    rac2     

ora.rac2.vip                   ONLINE     ONLINE    rac2     

ora.scan1.vip                  ONLINE     ONLINE    rac2     

ora.sdd.db                     ONLINE     ONLINE    rac2  

 

 

2.2.3 禁用HAS(Restart)在server 重启后的自动启动

[root@rac1 bin]# ./crsctl disable has

CRS-4621: Oracle High Availability Servicesautostart is disabled.

[root@rac1 bin]#

 

2.2.4 查看HAS(Restart)的状态

[root@rac1 bin]# ./crsctl config has

CRS-4621: Oracle High Availability Servicesautostart is disabled.

 

2.2.5 启用HAS(Restart)在server 重启后的自启动

[root@rac1 bin]# ./crsctl enable has

CRS-4622: Oracle High Availability Servicesautostart is enabled.

 

--查看has的状态,验证刚才命令的效果:

[root@rac1 bin]# ./crsctl config has

CRS-4622: Oracle High Availability Servicesautostart is enabled.

[root@rac1 bin]#

 

2.2.6 查看Restart 当前状态

[root@rac1 bin]# ./crsctl check has

CRS-4638: Oracle High Availability Servicesis online

 

 

2.2.7 查看Oracle Restart 中由OHASD管理的resource 状态

[root@rac1 bin]# ./crsctl stat res -t

--------------------------------------------------------------------------------

NAME           TARGET  STATE       SERVER                  STATE_DETAILS      

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.DATA.dg

               ONLINE  ONLINE      rac1                                        

               ONLINE  ONLINE      rac2                                        

ora.FRA.dg

               ONLINE  ONLINE      rac1                                        

               ONLINE  ONLINE      rac2                                        

ora.LISTENER.lsnr

               ONLINE  ONLINE      rac1                                         

               ONLINE  ONLINE      rac2                                        

ora.OCRVOTING.dg

               ONLINE  ONLINE      rac1                                        

               ONLINE  ONLINE      rac2                                         

ora.asm

               ONLINE  ONLINE      rac1                    Started            

               ONLINE  ONLINE      rac2                    Started            

ora.gsd

               OFFLINE OFFLINE      rac1                                         

               OFFLINE OFFLINE      rac2                                        

ora.net1.network

               ONLINE  ONLINE      rac1                                        

               ONLINE  ONLINE      rac2                                         

ora.ons

               ONLINE  ONLINE      rac1                                        

               ONLINE  ONLINE      rac2                                        

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.LISTENER_SCAN1.lsnr

     1        ONLINE  ONLINE      rac2                                        

ora.cvu

     1        ONLINE  ONLINE      rac2                                        

ora.oc4j

     1        ONLINE  ONLINE      rac2                                        

ora.rac1.vip

     1        ONLINE  ONLINE      rac1                                         

ora.rac2.vip

     1        ONLINE  ONLINE      rac2                                        

ora.scan1.vip

     1        ONLINE  ONLINE      rac2                                        

ora.sdd.db

     1        ONLINE  ONLINE      rac1                     Open               

     2        ONLINE  ONLINE      rac2                     Open               

[root@rac1 bin]#

 

 

2.3 使用SRVCTL 命令管理Restart(OHASD)

可以手工的使用SRVCTL 命令来管理Oracle Restart。从Oracle Restart 配置里添加或者删除一些组件。当我们手工的添加一个组件到到Oracle Restart,并使用SRVCTL启用该组件,那么Oracle Restart 就开始管理该组件,并根据需要决定是否对该组件进行重启。

 

官方文档的说明如下:

SRVCTL Command Reference for Oracle Restart

http://docs.oracle.com/cd/E11882_01/server.112/e25494/restart005.htm

 

Configuring OracleRestart

http://docs.oracle.com/cd/E11882_01/server.112/e10595/restart002.htm

时间: 2024-10-31 11:10:32

RAC5——11gR2以后GI进程的变化的相关文章

shell-linux会话结束时进程关系变化

问题描述 linux会话结束时进程关系变化 一个会话里有多个进程组运行着,当会话首进程(可能是login shell) 终止(可能是被kill或shell退出引起),那么此时该会话里的进程会怎样,会收到 哪些信号,是否全程成为孤进程组? 解决方案 好像没有什么情况发生. _> cat a.c #include #include void stat(void) { printf("pid=%d, pgid=%d, sid=%dn", getpid(), getpgid(0), ge

linux之进程

  在linux每执行一个二进制文件都会产生一个进程并生成一个进程PID.进程除了自身的ID外,还有父进程ID(ppid),所有进程的祖先进程是同一个进程,它叫做init进程,PID为1. 当用户从一个终端登陆时,便获得一个此次执行的bash进程的PID.用户执行的每一条指令都是这个PID的子进程. linux通过fork-and-exec的流程来产生子进程:首先会通过父进程以复制 (fork) 的方式产生一个一模一样的子进程, 然后被复制出来的子进程再以 exec 的方式来运行实际要进行的程序

关于Oracle的systemstate dump

当数据库出现严重的性能问题或者hang了的时候,我们非常需要通过systemstate dump来知道进程在做什么,在等待什么,谁是资源的持有者,谁阻塞了别人.在出现上述问题时,及时收集systemstate dump非常有助于问题原因的分析. 在一些情况下,数据库会自动生成systemstate dump, 比如出现了"WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK". systemstate dump大部分时候需要手工生成,具体的命令为:

Python实现过滤单个Android程序日志脚本分享_python

在Android软件开发中,增加日志的作用很重要,便于我们了解程序的执行情况和数据.Eclipse开发工具会提供了可视化的工具,但是还是感觉终端效率会高一些,于是自己写了一个python的脚本来通过包名来过滤某一程序的日志. 原理 通过包名得到对应的进程ID(可能多个),然后使用adb logcat 过滤进程ID即可得到对应程序的日志. 源码 复制代码 代码如下: #!/usr/bin/env python #coding:utf-8 #This script is aimed to grep

分布式系统,你真的了解吗?

我们邀请腾讯互娱研发部高级工程师韩伟,分享他所理解的分布式系统.由于内容较多,将分三篇进行讲述,本期第一篇先来看看他眼中的分布式系统究竟是什么吧. 承载量是分布式系统存在的原因 当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙.当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了.因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一种互联网应用提供服务,这就是所谓"分布式系统"的来源

浅析分布式系统

WeTest导读 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ.微信.淘宝.那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念.  承载量是分布式系统存在的原因  当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙.当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了.因此,在互联网程序

一篇文读懂分布式系统本质:高吞吐、高可用、可扩展

承载量是分布式系统存在的原因当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙.当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了.因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一种互联网应用提供服务,这就是所谓"分布式系统"的来源.   然而,大量用户访问同一个互联网业务,所造成的问题并不简单.从表面上看,要能满足很多用户来自互联网的请求,最基本的需求就是所谓性能需求:用户反应

物联网大数据将吞噬整个地球

文章讲的是物联网大数据将吞噬整个地球,人类创造的物理世界有多大,我们有衡量的概念,但是人类创造的数字世界到底有多大,相信这个概念还不够具体. 在大多数人的印象中,数据就是数字,或者必须是由数字构成的,其实不然,数据的范畴比数字要大得多,信息.现象.数据.状态和知识都可以是数据的一部分. 人类创造的物理世界的一切都可以是数据,在互联网上传播的文字.图片和视频是数据;工厂里所有的档案.尺寸.记录是数据;文物上的尺寸.年代.工艺也是数据.地球甚至宇宙存在的空间和时间也都可以是数据,小到一个粒子,大到一

Linux利用lsof命令恢复删除的文件

lsof命令 lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行. 在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操