技术活动
CUUG学员就业信息
学员感言、就业资讯
报名热线
文档
当前您的位置:首页 > 技术活动 > 技术中心 > 文档
Oracle 11g RAC oc4j/gsd Offline-CUUG

  Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形。即便如此,并不影响数据库的使用,因为 oc4j 是用于WLM 的一个资源, WLM在 11.2.0.2 才可用。GSD则是用于支持dbca,srvctl,oem等的交互工具。本文描述将这两个服务切换到online。

  1、环境

  [root@linux2 ~]# cat /etc/issue

  Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)

  Kernel \r on an \m

  [root@linux2 bin]# ./crsctl query crs activeversion

  Oracle Clusterware active version on the cluster is [11.2.0.1.0]

  2、oc4j与所有的gsd处于offline

  [grid@linux2 ~]$ crs_stat -t | grep OFFLINE

  ora.gsd ora.gsd.type OFFLINE OFFLINE

  ora.linux1.gsd application OFFLINE OFFLINE

  ora.linux2.gsd application OFFLINE OFFLINE

  ora.oc4j ora.oc4j.type OFFLINE OFFLINE

  3、启动oc4j服务

  #使用srvctl 来启动oc4j服务

  [grid@linux2 ~]$ srvctl start oc4j

  OC4J could not be started

  PRCR-1079 : Failed to start resource ora.oc4j

  CRS-2501: Resource 'ora.oc4j' is disabled #提示该服务处于disable状态

  #尝试使用crsctl来启动,依然失败

  [grid@linux2 ~]$ crsctl start res ora.oc4j -init

  CRS-2613: Could not find resource 'ora.oc4j'.

  CRS-4000: Command Start failed, or completed with errors.

  #下面先将状态置为enable状态

  [grid@linux2 ~]$ srvctl enable oc4j

  #再次启动成功

  [grid@linux2 ~]$ srvctl start oc4j

  [grid@linux2 ~]$ crs_stat -t | grep oc4j

  ora.oc4j ora.oc4j.type ONLINE ONLINE linux2

  4、启动gsd服务

  #查看节点linux1上所有的资源状态,可以看到输出的信息表明GSD也被disable了

  [grid@linux2 ~]$ srvctl status nodeapps -n linux1

  -n option has been deprecated.

  VIP linux1-vip is enabled

  VIP linux1-vip is running on node: linux1

  Network is enabled

  Network is running on node: linux1

  GSD is disabled

  GSD is not running on node: linux1

  ONS is enabled

  ONS daemon is running on node: linux1

  eONS is enabled

  eONS daemon is running on node: linux1

  #下面查看节点linux2上所有的资源状态,也可以看到输出的信息表明GSD也被disable了

  [grid@linux2 ~]$ srvctl status nodeapps -n linux2

  -n option has been deprecated.

  VIP linux2-vip is enabled

  VIP linux2-vip is running on node: linux2

  Network is enabled

  Network is running on node: linux2

  GSD is disabled

  GSD is not running on node: linux2

  ONS is enabled

  ONS daemon is running on node: linux2

  eONS is enabled

  eONS daemon is running on node: linux2

  #将所有的服务置于enable状态

  [grid@linux2 ~]$ srvctl enable nodeapps

  PRKO-2415 : VIP is already enabled on node(s): linux1,linux2

  PRKO-2416 : Network resource is already enabled.

  PRKO-2417 : ONS is already enabled on node(s): linux1,linux2

  PRKO-2418 : eONS is already enabled on node(s): linux1,linux2

  #再次查看GSD的状态已经变成enable了

  [grid@linux2 ~]$ srvctl status nodeapps

  VIP linux1-vip is enabled

  VIP linux1-vip is running on node: linux1

  VIP linux2-vip is enabled

  VIP linux2-vip is running on node: linux2

  Network is enabled

  Network is running on node: linux1

  Network is running on node: linux2

  GSD is enabled

  GSD is not running on node: linux1

  GSD is not running on node: linux2

  ONS is enabled

  ONS daemon is running on node: linux1

  ONS daemon is running on node: linux2

  eONS is enabled

  eONS daemon is running on node: linux1

  eONS daemon is running on node: linux2

  [grid@linux2 ~]$ crs_stat -t | grep OFFLINE

  ora.gsd ora.gsd.type OFFLINE OFFLINE

  ora.linux1.gsd application OFFLINE OFFLINE

  ora.linux2.gsd application OFFLINE OFFLINE

  #启动GSD服务

  [grid@linux2 ~]$ srvctl start nodeapps

  PRKO-2421 : Network resource is already started on node(s): linux1,linux2

  PRKO-2420 : VIP is already started on node(s): linux1,linux2

  PRKO-2420 : VIP is already started on node(s): linux1,linux2

  PRKO-2422 : ONS is already started on node(s): linux1,linux2

  PRKO-2423 : eONS is already started on node(s): linux1,linux2

  #验证GSD服务

  [grid@linux2 ~]$ crs_stat -t | grep OFFLINE

  [grid@linux2 ~]$ crs_stat -t | grep gsd

  ora.gsd ora.gsd.type ONLINE ONLINE linux1

  ora.linux1.gsd application ONLINE ONLINE linux1

  ora.linux2.gsd application ONLINE ONLINE linux2

  #Author : Robinson

  5、关于GSD

  The Global Services Daemon (GSD) runs on each node with one GSD process per node.

  The GSD coordinates with the cluster manager to receive requests from clients such as the DBCA, EM,

  and the SRVCTL utility to execute administrative job tasks such as instance startup or shutdown.

  The GSD is not an Oracle instance background process and is therefore not started with the Oracle instance.

  GSD与rac的管理工具dbca srvctl oem进行交互,用来完成实例的启动关闭等管理任务。

  为了保证这些管理工具运行正常必须在所有的节点上先启动 gsd。

  一个GSD进程支持在一个节点的多个rac.gsd进程,位于$ORACLE_HOME/bin目录下。

  其log文件为$oracle_home /srvm/log/gsdaemon.log。

  例如:

  假设使用oem工具来启动一个实例,oem把该任务传递给相应的智能引擎,该智能引擎生成一个包含SRVCTL命令的脚本文件,

  GSD进程读取该脚本文件并且执行该脚本,最后GSD把执行结果返回给智能引擎,近而智能引擎返回给OEM。

  又例如假设使用srvctl工具关闭所有的实例,GSD进程接受来自SRVCTL工具发出的请求,并

  在本地节点上执行该请求,然后把执行结果返回给SRVCTL会话。