首页 > 代码库 > Oracle 11g RAC oc4j/gsd Offline

Oracle 11g RAC oc4j/gsd Offline

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

[python] view plain copy
 
 print?
  1. 1、环境  
  2.  [root@linux2 ~]# cat /etc/issue  
  3.  Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)  
  4.  Kernel \r on an \m  
  5.    
  6.  [root@linux2 bin]# ./crsctl query crs activeversion  
  7.  Oracle Clusterware active version on the cluster is [11.2.0.1.0]  
  8.   
  9. 2、oc4j与所有的gsd处于offline   
  10.  [grid@linux2 ~]$ crs_stat -t | grep OFFLINE  
  11.  ora.gsd        ora.gsd.type   OFFLINE   OFFLINE                 
  12.  ora.linux1.gsd application    OFFLINE   OFFLINE                 
  13.  ora.linux2.gsd application    OFFLINE   OFFLINE                 
  14.  ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE    
  15.   
  16. 3、启动oc4j服务  
  17.  #使用srvctl 来启动oc4j服务  
  18.  [grid@linux2 ~]$ srvctl start oc4j  
  19.  OC4J could not be started  
  20.  PRCR-1079 : Failed to start resource ora.oc4j  
  21.  CRS-2501: Resource ‘ora.oc4j‘ is disabled    #提示该服务处于disable状态  
  22.    
  23.  #尝试使用crsctl来启动,依然失败  
  24.  [grid@linux2 ~]$ crsctl start res ora.oc4j -init  
  25.  CRS-2613: Could not find resource ‘ora.oc4j‘.  
  26.  CRS-4000: Command Start failed, or completed with errors.  
  27.   
  28.  #下面先将状态置为enable状态   
  29.  [grid@linux2 ~]$ srvctl enable oc4j  
  30.  #再次启动成功  
  31.  [grid@linux2 ~]$ srvctl start oc4j  
  32.  [grid@linux2 ~]$ crs_stat -t | grep oc4j  
  33.  ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    linux2        
  34.   
  35. 4、启动gsd服务  
  36.  #查看节点linux1上所有的资源状态,可以看到输出的信息表明GSD也被disable了      
  37.  [grid@linux2 ~]$ srvctl status nodeapps -n linux1  
  38.  -n <node_name> option has been deprecated.  
  39.  VIP linux1-vip is enabled  
  40.  VIP linux1-vip is running on node: linux1  
  41.  Network is enabled  
  42.  Network is running on node: linux1  
  43.  GSD is disabled  
  44.  GSD is not running on node: linux1  
  45.  ONS is enabled  
  46.  ONS daemon is running on node: linux1  
  47.  eONS is enabled  
  48.  eONS daemon is running on node: linux1  
  49.    
  50.  #下面查看节点linux2上所有的资源状态,也可以看到输出的信息表明GSD也被disable了   
  51.  [grid@linux2 ~]$ srvctl status nodeapps -n linux2  
  52.  -n <node_name> option has been deprecated.  
  53.  VIP linux2-vip is enabled  
  54.  VIP linux2-vip is running on node: linux2  
  55.  Network is enabled  
  56.  Network is running on node: linux2  
  57.  GSD is disabled  
  58.  GSD is not running on node: linux2  
  59.  ONS is enabled  
  60.  ONS daemon is running on node: linux2  
  61.  eONS is enabled  
  62.  eONS daemon is running on node: linux2  
  63.    
  64.  #将所有的服务置于enable状态  
  65.  [grid@linux2 ~]$ srvctl enable nodeapps  
  66.  PRKO-2415 : VIP is already enabled on node(s): linux1,linux2  
  67.  PRKO-2416 : Network resource is already enabled.  
  68.  PRKO-2417 : ONS is already enabled on node(s): linux1,linux2  
  69.  PRKO-2418 : eONS is already enabled on node(s): linux1,linux2  
  70.    
  71.  #再次查看GSD的状态已经变成enable了  
  72.  [grid@linux2 ~]$ srvctl status nodeapps  
  73.  VIP linux1-vip is enabled  
  74.  VIP linux1-vip is running on node: linux1  
  75.  VIP linux2-vip is enabled  
  76.  VIP linux2-vip is running on node: linux2  
  77.  Network is enabled  
  78.  Network is running on node: linux1  
  79.  Network is running on node: linux2  
  80.  GSD is enabled  
  81.  GSD is not running on node: linux1  
  82.  GSD is not running on node: linux2  
  83.  ONS is enabled  
  84.  ONS daemon is running on node: linux1  
  85.  ONS daemon is running on node: linux2  
  86.  eONS is enabled  
  87.  eONS daemon is running on node: linux1  
  88.  eONS daemon is running on node: linux2  
  89.    
  90.  [grid@linux2 ~]$ crs_stat -t | grep OFFLINE  
  91.  ora.gsd        ora.gsd.type   OFFLINE   OFFLINE                 
  92.  ora.linux1.gsd application    OFFLINE   OFFLINE                 
  93.  ora.linux2.gsd application    OFFLINE   OFFLINE  
  94.    
  95.  #启动GSD服务                 
  96.  [grid@linux2 ~]$ srvctl start nodeapps   
  97.  PRKO-2421 : Network resource is already started on node(s): linux1,linux2  
  98.  PRKO-2420 : VIP is already started on node(s): linux1,linux2  
  99.  PRKO-2420 : VIP is already started on node(s): linux1,linux2  
  100.  PRKO-2422 : ONS is already started on node(s): linux1,linux2  
  101.  PRKO-2423 : eONS is already started on node(s): linux1,linux2  
  102.    
  103.  #验证GSD服务  
  104.  [grid@linux2 ~]$ crs_stat -t | grep OFFLINE  
  105.  [grid@linux2 ~]$ crs_stat -t | grep gsd  
  106.  ora.gsd        ora.gsd.type   ONLINE    ONLINE    linux1        
  107.  ora.linux1.gsd application    ONLINE    ONLINE    linux1        
  108.  ora.linux2.gsd application    ONLINE    ONLINE    linux2    
  109.    
  110.  #Author : Robinson  
  111.  #Blog   : http://blog.csdn.net/robinson_0612      
  112.   
  113. 5、关于GSD  
  114.  The Global Services Daemon (GSD) runs on each node with one GSD process per node.   
  115.  The GSD coordinates with the cluster manager to receive requests from clients such as the DBCA, EM,   
  116.  and the SRVCTL utility to execute administrative job tasks such as instance startup or shutdown.   
  117.  The GSD is not an Oracle instance background process and is therefore not started with the Oracle instance.   
  118.  GSD与rac的管理工具dbca srvctl oem进行交互,用来完成实例的启动关闭等管理任务。   
  119.  为了保证这些管理工具运行正常必须在所有的节点上先启动 gsd。  
  120.  一个GSD进程支持在一个节点的多个rac.gsd进程,位于$ORACLE_HOME/bin目录下。  
  121.  其log文件为$oracle_home /srvm/log/gsdaemon.log。  
  122.    
  123.  例如:   
  124.  假设使用oem工具来启动一个实例,oem把该任务传递给相应的智能引擎,该智能引擎生成一个包含SRVCTL命令的脚本文件,  
  125.  GSD进程读取该脚本文件并且执行该脚本,最后GSD把执行结果返回给智能引擎,近而智能引擎返回给OEM。  
  126.    
  127.  又例如假设使用srvctl工具关闭所有的实例,GSD进程接受来自SRVCTL工具发出的请求,并   
  128.  在本地节点上执行该请求,然后把执行结果返回给SRVCTL会话。  
  129. 转:http://blog.csdn.net/leshami/article/details/8471546

Oracle 11g RAC oc4j/gsd Offline