zoukankan      html  css  js  c++  java
  • oracle补丁升级

    PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU中。通过定期的安装PSU补丁,修复数据库中存在的各种bug,进而提升数据库可用性和可靠性。PSU11.2.4.0.8对于的补丁号是21523375,里面包含针对GI的3个补丁(21352642、21352649和21352635)和针对数据库的2个补丁(21352649和21352635)。

    1、升级过程
    1.1准备文件
    登录MOS,根据平台下载最新的OPatch和PSU11.2.4.0.8。我们以Linux x64为例进行说明,分别选择p6880880_112000_Linux-x86-64.zip和p21523375_112040_Linux-x86-64.zip进行下载。

    1.2、升级OPatch
    unzip p6880880_112000_Linux-x86-64.zip
    unzip p21523375_112040_Linux-x86-64.zip
    rm -rf $GRID_HOME/OPatch
    rm -rf $ORACLE_HOME/OPatch
    cp -r OPatch $GRID_HOME/
    cp -r OPatch $ORACLE_HOME/
    备注:
    1、根据需求选择合适的$GRID_HOME 和$ORACLE_HOME进行更新
    2、针对RAC环境更新所有的节点

    1.3、生成ocm文件
    [oracle@grid1~]$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /tmp/grid.rsp
    Provide your email address to be informed of security issues, install and
    initiate Oracle Configuration Manager. Easier for you if you use your My
    Oracle Support Email address/User Name.
    Visit http://www.oracle.com/support/policies.html for details.
    Email address/User Name:

    You have not provided an email address for notification of security issues.
    Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: Y
    The OCM configuration response file (/tmp/grid.rsp) was successfully created.

    1.4、检验是否存在冲突
    cd $PATCH_LOC/21523375
    $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./

    1.5、单实例升级过程
    #oracle
    cd $PATCH_LOC/21523375/21352635
    $ORACLE_HOME/OPatch/opatch apply ./ -ocmrf /tmp/grid.rsp -oh $ORACLE_HOME
    cd $PATCH_LOC/21523375/21352649
    $ORACLE_HOME/OPatch/opatch apply ./ -ocmrf /tmp/grid.rsp -oh $ORACLE_HOME

    1.6、RAC升级过程
    #root
    cd $PATCH_LOC
    $GRID_HOME/OPatch/opatch auto ./21523375 -ocmrf /tmp/grid.rsp
    $GRID_HOME/OPatch/opatch auto ./21523375 -ocmrf /tmp/grid.rsp -oh <db_home>
    备注:
    1、根据需求选择合适的$GRID_HOME 和$ORACLE_HOME进行更新
    2、针对RAC环境更新所有的节点
    3、升级命令会自动升级非共享的$ORACLE_HOME

    1.7、更新数据字典
    #oracle
    cd $ORACLE_HOME/rdbms/admin
    sqlplus / as sysdba
    SQL> @catbundle.sql psu apply
    --检查dba_registry_history;
    SQL> select action, comments from dba_registry_history;

    ACTION COMMENTS
    ------------------------------ ---------------------------------------------
    APPLY Patchset 11.2.0.2.0
    APPLY Patchset 11.2.0.2.0
    备注:仔细检查catbundle.sql运行过程,检查其中是否有错误

    2、说明
    2.1注意事项
    升级补丁包里面带有readme.html或者readme.txt,请仔细阅读
    升级之前确定受影响部分,严格做好数据库文件以及相关软件的备份
    如有可能最好在1:1测试环境进行补丁升级,升级完成后做好应用测试、业务联调
    目前Oracle发布的补丁基本都支持滚动升级,用户可以根据业务特性选择合适的时候窗口进行补丁安装
    升级完成后进行数据库全备份

    2.2查看补丁安装信息
    opatch lsinventory
    实际上补丁的安装可以分为三步:
    更新软件
    更新inventory信息库
    更新数据字典信
    inventory信息库使用文件进行保存,在进行补丁安装时对相应的文件加独占锁,所以我们有时候看到opatch因为锁冲突而执行失败。
    在oracle里面,inventory信息库的入口由/etc/oraInst.loc指定,在$inventory_loc/ ContentsXML/inventory.xml中包含该主机上安装的所有$ORACLE_HOME信息等。
    [oracle@grid1 21352642]$ cat /etc/oraInst.loc
    inventory_loc=/u01/oraInventory
    inst_group=oinstall

    [oracle@grid1 ContentsXML]$ cat inventory.xml
    <?xml version="1.0" standalone="yes" ?>
    <!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
    All rights reserved. -->
    <!-- Do not modify the contents of this file by hand. -->
    <INVENTORY>
    <VERSION_INFO>
    <SAVED_WITH>11.2.0.4.0</SAVED_WITH>
    <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
    </VERSION_INFO>
    <HOME_LIST>
    <HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/grid/11.2" TYPE="O" IDX="1" CRS="true">
    <NODE_LIST>
    <NODE NAME="grid1"/>
    <NODE NAME="grid2"/>
    </NODE_LIST>
    </HOME>
    <HOME NAME="OraDb11g_home1" LOC="/u01/db/11.2" TYPE="O" IDX="2">
    <NODE_LIST>
    <NODE NAME="grid1"/>
    <NODE NAME="grid2"/>
    </NODE_LIST>
    </HOME>
    </HOME_LIST>
    <COMPOSITEHOME_LIST>
    </COMPOSITEHOME_LIST>
    </INVENTORY>
    另外每个$ORACLE_HOME下维护自身的一套inventory信息库,该信息库位于$ORACLE_HOME/inventory/ContentsXML/目录下。
    $ORACLE_HOME/inventory/ContentsXML/comps.xml文件包含该$ORACLE_HOME下所有组件的信息,以及安装的补丁集。实际上opatch lsinventory命令就是对$inventory_loc/ ContentsXML/inventory.xml 、$ORACLE_HOME/inventory/ContentsXML/comps.xml等文件的一种友好的展现方式,读者可以自行查看该目录下的其他文件。

  • 相关阅读:
    R-CNN算法中NMS的具体做法
    Spring之Environment
    Spring之Aware
    每晚夜里自我独行,随处荡,多冰冷,以往为了自我挣扎
    Java 反射机制
    Java string String
    Java int Integer
    Java final
    Java toString()方法
    Java Enum
  • 原文地址:https://www.cnblogs.com/datalife/p/5336222.html
Copyright © 2011-2022 走看看