zoukankan      html  css  js  c++  java
  • Oracle11gR2(11.2.0.3.x)RAC Oracle Grid & Database 零宕机方式升级 PSU(自动模式)

    Oracle-11g-R2(11.2.0.3.x)RAC Oracle Grid & Database 零宕机方式升级 PSU(自动模式)

    升级环境:
    1.源库版本:
    Grid Infrastructure:11.2.0.3.13
    Database:11.2.0.3.13
    2.目标库版本:
    Grid Infrastructure:11.2.0.3.15
    Database:11.2.0.3.15
     
    执行步骤:
    1.备份源库(root & grid & oracle,每个节点)
    待升级的节点执行备份,以防止升级失败后导致软件故障。
    a.备份 ASM 实例参数文件(grid)
    以 / as sysasm 身份进入 sqlplus 环境,执行语句 create pfile='/home/grid/init_asm.ora' from spfile;
    b.备份 ASM 实例参数文件(oracle)
    以 / as sysdba 身份进入 sqlplus 环境,执行语句 create pfile='/home/oracle/init_db.ora' from spfile;
    c.备份集群信息(root):
    进入 gird 用户的 $ORACLE_HOME/bin 目录下(例如:/u01/app/11.2.0/grid/bin)
    ./crsctl query css votedisk
    ./ocrcheck
    ./ocrconfig -manualbackup
    d.备份数据库(oracle):
    以 / as sysdba 身份进入 sqlplus 环境,执行语句 alter system archive log current;
    随后调用数据库全备份脚本备份数据库。
    e.关闭待升级节点(oracle $ root)
    f.备份 Grid Infrastructure 的 OPatch(root)
    进入 gird 用户的 $ORACLE_HOME/OPatch 目录下(例如:/u01/app/11.2.0/grid/OPatch)
    执行 tar -cpf ../gridOPatch.tar.20161014 ./
    g.备份 Database 的 OPatch(root)
    进入 oracle 用户的 $ORACLE_HOME/OPatch 目录下(例如:/u01/app/oracle/product/11.2.0/db_1/OPatch
    执行 tar -cpf ../oracleOPatch.tar.20161014 ./
    h.备份 Grid Infrastructure 及 Database 软件(root)
    进入 Grid Infrastructure 及 Database 安装根目录下(例如:/u01/app)
    执行 tar -cpf ../u01.tar.20161014 ./ 备份软件。
    e.重启待回滚节点 CRS(root)
    以 root 用户登录欲节点,进入 Grid Infrastructure 的 BIN 目录下,输入 ./crsctl start crs
    2.更新 OPatch(grid & oracle,每个节点)
    下载最新的 OPatch 工具,例如升级至 11.2.0.3.6 其 OPatch 版本应高于 11.2.0.3.4。
    分别以 grid 及 oracle 进入已下载的 OPatch 工具压缩包的目录下,执行 unzip <OPATCH-ZIP> -d <ORACLE_HOME>
    注意:ORACLE_HOME 应分别为 Grid Infrastructure 及 Database 的 ORACLE_HOME。
    更新 OPatch 后,分别在 Grid Infrastructure 及 Database 的 OPatch 目录下执行 ./opatch version 进行验证
    3.创建 OCM response 文件(grid $ oracle,每个节点)
    分别以 grid 及 oracle 进入Grid Infrastructure 及 Database 的 $ORACLE_HOME/OPatch/ocm/bin 目录下。
    执行 ./emocmrsp -no_banner -output <specify_the_location>/file.rsp 例如:./emocmrsp -no_banner -output ~/grid.rsp
    生成 response 文件的导航界面如下:
    注意:要求输入 Email 时可为,并在随后的不告知安全事件中输入 Yes
    4.检查 Oracle 目录的兼容性(grid $ oracle,每个节点)
    分别以 grid 及 oracle 进入 Grid Infrastructure 及 Database 的 $ORACLE_HOME/OPatch 目录下。
    执行 ./opatch lsinventory -detail -oh <ORACLE_HOME>
    如果执行成功,将列出 Grid Infrastructure 及 Database 的 $ORACLE_HOME 目录下安装的所有组件
    5.关闭 EM 代理进程(oracle,每个节点)
    在为 Grid Infrastructure 及 Database 打补丁之前,需要关闭 EM 代理进程。
    需要以 oracle 用户进入 Database 的 $ORACLE_HOME/bin 目录下,执行 ./emctl stop dbconsole
    6.安装补丁(root & oracle,每个节点)
    a.切换服务(oracle)
    注意:采用逐一升级的方式,实现零宕机升级。因此升级一个节点时,应将该节点的所有服务切换到其他节点上。其中,切换服务命令类似如下。
    srvctl relocate service -d <db_name> -s <service_name> -i <orig_instance_name> -t <target_instance_name>
    b.关闭数据库实例(oracle)
    以 oracle 用户登录节点,在 sqlplus 环境下使用以下命令关闭数据库实例。
    alter system checkpoint; 更新检查点
    alter system archive log current; 更新归档日志
    shutdown immediate 关闭节点数据库。
    c.解压缩补丁包(grid)
    以 grid 用户解压缩补丁包。
    d.为 Grid Infrastructure 打补丁(root)
    以 root 用户进入 Grid Infrastructure 的 $ORACLE_HOME/OPatch 目录下。
    执行 ./opatch auto <UNZIPPED_PATCH_LOCATION> -oh <GI_HOME> -ocmrf <ocm response file>
    例如:./opatch auto /u01/setup -oh /u01/app/11.2.0/grid -ocmrf /home/grid/grid.rsp
    e.为 Database 打补丁(root)
    以 root 用户进入 Database 的 $ORACLE_HOME/OPatch 目录下。
    执行 ./opatch auto <UNZIPPED_PATCH_LOCATION> -oh <DATABASE_HOME> -ocmrf <ocm response file>
    例如:./opatch auto /u01/setup -oh /u01/app/oracle/product/11.2.0/db_1/ -ocmrf /home/oracle/oracle.rsp
    f.为其余节点打补丁
    当单个节点升级完毕后,选择升级下一个节点,重复执行 a~e 步骤操作,直至所有节点升级完毕。
     

    7.更新 SQL 文件至数据库(oracle,单个节点)

    待 RAC 补丁安装完毕后,运行 catbundle.sql 脚本,以更新 SQL 文件至数据库。
    SQL> @?/rdbms/admin/catbundle.sql psu apply
    8.更新 Oracle RMAN 目录库(oracle,单个节点)
    对于有使用 RMAN 目录库的情况,需更新目录库信息。
    # rman catalog username/password@alias
    RMAN> UPGRADE CATALOG;
     

    参考文档:

    《Patch Installation and Deinstallation For 11.2.0.3.x GI PSU (文档 ID 1494646.1)》
  • 相关阅读:
    不要在构造中做太多事情,不然有时候会出现有意思的代码~
    对称加密和非对称加密
    关于WebAPI安全认证的问题
    Dojo和jQuery区别
    跨域访问解决方案:JSONP
    MyEclipse中提示SpringMVC的XML配置文件出错解决方法
    什么是跨域请求
    Hadoop的初步理解
    数据库读写分离的初步理解
    前端渲染和后端渲染
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/15749276.html
Copyright © 2011-2022 走看看