由于涉及的节点、实例多于一个,因此RAC环境下的ORACLE数据库升级包含多个步骤,某些操作执行的先后顺序也有讲究,不是想停就停、想升就升、想启就启的,这点与单实例数据库的操作有很大差异。

    提示:升级包的readme中强调,在升级数据库软件前,要保障clusterware的版本不低于目标数据库软件版本,也就是说要在升级数据库软件前首先升级clusterware,不过实际操作中 10203 及之前版本并不强制要求 , 10204 的补丁包倒是会在升级前检测clusterware的版本,如有异常会提示警告信息,不过 各位读友 仍 可根据自身实际情况选择是否升级clusterware。

一、停止相关进程

  对于RAC数据库,首先要停止所有节点中的Service(服务,如果创建了service的话),在任意节点中执行操作如下:

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop service -d jssdb

  停止RAC数据库中所有实例,本步操作即可以登陆每个节点的sqlplus,执行shutdown,也可以通过srvctl命令关闭数据库,例如:

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop database -d jssdb

  接着停止ASM实例和监听服务,执行命令如下:

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop asm -n jssdbn1

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop asm -n jssdbn2

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop listener -n jssdbn1

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/srvctl stop listener -n jssdbn2

  上述命令完成后,可以通过crs_stat查看当前app的状态

    [oracle@jssdbn1 ~]$ $ORA_CRS_HOME/bin/crs_stat -t

    Name           Type           Target    State     Host        

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

    ora.jssdb.db   application    OFFLINE   OFFLINE               

    ora....n1.inst application    OFFLINE   OFFLINE               

    ora....n2.inst application    OFFLINE   OFFLINE               

    ora....SM1.asm application    OFFLINE   OFFLINE               

    ora....N1.lsnr application    OFFLINE   OFFLINE               

    ora....bn1.gsd application    ONLINE    ONLINE    jssdbn1     

    ora....bn1.ons application    ONLINE    ONLINE    jssdbn1     

    ora....bn1.vip application    ONLINE    ONLINE    jssdbn1     

    ora....SM2.asm application    OFFLINE   OFFLINE               

    ora....N2.lsnr application    OFFLINE   OFFLINE               

    ora....bn2.gsd application    ONLINE    ONLINE    jssdbn2     

    ora....bn2.ons application    ONLINE    ONLINE    jssdbn2     

    ora....bn2.vip application    ONLINE    ONLINE    jssdbn2     

  可以看到,数据库实例以及相关服务均被offline。

  此时,建议创建一份数据库的完整备份。接下来我们就要对安装补丁包了。

    提示:上述操作也是标准的RAC环境数据库shutdown过程。