日期:2014-05-16  浏览次数:20512 次

RAC 数据库的启动与关闭

        RAC数据库与单实例的差异主要表现在多个实例通过集群件来统一管理共享的资源。因此原有的单实例的管理方式,如数据库、监听器等的关闭启动等可以使用原有的方式进行,也可以通过集群管理工具,命令行来集中管理,这也是推荐的管理方式。由于集群件crs位于数据库之上,即RAC数据库依赖于集群件,因此数据库的启动与关闭应该结合集群来考虑,下面以10g RAC来描述数据库启动与关闭过程,不涉及集群层的启动与关闭。

 

一、RAC 数据库启动与关闭顺序
1、关闭顺序
  关闭OEM,关闭监听,关闭 Oracle 实例,关闭 ASM 实例,关闭节点应用程序
  
2、启动顺序
  启动节点应用程序,启动ASM实例,启动oracle实例,启动监听,启动OEM<可选>
  如果未使用ASM,则启动与关闭过程的有关ASM的操作可忽略
  
3、主要工具
  srvctl,OEM,sqlplus。本文主要描述的是使用srvctl命令来完成

 

二、演示环境

1、环境
	主机名      库名      实例名     asm实例
	--------    ------    -------    --------
	bo2dbp      GOBO4     GOBO4A     +ASM1
	bo2dbs	   GOBO4	    GOBO4B     +ASM2

2、数据库状态
	oracle@bo2dbp:~> ./crs_stat.sh
	 Resource name                                Target     State             
	--------------                                ------     -----             
	ora.GOBO4.GOBO4A.inst                         ONLINE     ONLINE on bo2dbp  
	ora.GOBO4.GOBO4B.inst                         ONLINE     ONLINE on bo2dbs  
	ora.GOBO4.db                                  ONLINE     ONLINE on bo2dbp  
	ora.bo2dbp.ASM1.asm                           ONLINE     ONLINE on bo2dbp  
	ora.bo2dbp.LISTENER_BO2DBP.lsnr               ONLINE     ONLINE on bo2dbp  
	ora.bo2dbp.LISTENER_ORA10G_BO2DBP.lsnr        ONLINE     ONLINE on bo2dbp  
	ora.bo2dbp.gsd                                ONLINE     ONLINE on bo2dbp  
	ora.bo2dbp.ons                                ONLINE     ONLINE on bo2dbp  
	ora.bo2dbp.vip                                ONLINE     ONLINE on bo2dbp  
	ora.bo2dbs.ASM2.asm                           ONLINE     ONLINE on bo2dbs  
	ora.bo2dbs.LISTENER_BO2DBS.lsnr               ONLINE     ONLINE on bo2dbs  
	ora.bo2dbs.LISTENER_ORA10G_BO2DBS.lsnr        ONLINE     ONLINE on bo2dbs  
	ora.bo2dbs.gsd                                ONLINE     ONLINE on bo2dbs  
	ora.bo2dbs.ons                                ONLINE     ONLINE on bo2dbs  
	ora.bo2dbs.vip                                ONLINE     ONLINE on bo2dbs  
	ora.ora10g.db                                 ONLINE     ONLINE on bo2dbs  
	ora.ora10g.hr_ora10g.cs                       ONLINE     ONLINE on bo2dbp  
	ora.ora10g.hr_ora10g.ora10g1.srv              ONLINE     ONLINE on bo2dbp  
	ora.ora10g.ora10g1.inst                       ONLINE     ONLINE on bo2dbp  
	ora.ora10g.ora10g2.inst                       ONLINE     ONLINE on bo2dbs
	
	上面的查询结果表明,当前集群中存在2个RAC数据库,一个是GOBO4,一个是ora10g
	每个节点上配置了两个监听器,一个是缺省的1521端口监听器,一个是非缺省的监听器(LISTENER_ORA10G_BO2DBP)
	数据库ora10g上创建了service为hr_ora10g

3、srvctl 命令
	srvctl是管理RAC数据库使用最频繁的命令,是service control的缩写,基本的用法是srvctl <command> <object> [<options>]。
	直接在命令行下输入srvctl 则出现该命令的用法说明
	该命令方式可以操作下列资源
	database,instance,asm,service,listener,node application(GSD,ONS,VIP)

三、关闭数据库

1、关闭oem服务(如果启动了oem,则应首先关闭oem服务,否则跳过)
	export ORACLE_SID=GOBO4A
	emctl stop dbconsole
    
2、关闭Oracle实例
	srvctl stop instance -d GOBO4 -i GOBO4A 

3、关闭ASM实例
	srvctl stop asm -n bo2dbp
		
4、关闭节点服务(此操作将关闭指定节点的所有监听以及GSD,ONS,VIP)
	srvctl stop nodeapps -n bo2dbp		
		
	节点bo2dbp关闭后的结果
	oracle@bo2dbp:~> ./crs_stat.sh 
	 Resource name                                Target     State             
	--------------                                ------     -----             
	ora.GOBO4.GOBO4A.inst                         OFFLINE    OFFLINE           
	ora.GOBO4.GOBO4B.inst                         ONLINE     ONLINE on bo2dbs  
	ora.GOBO4.db                                  ONLINE     ONLINE on bo2dbs  
	ora.bo2dbp.ASM1.asm                           OFFLINE    OFFLINE           
	ora.bo2dbp.LISTENER_BO2DBP.lsnr               OFFLINE    OFFLINE