ITPub博客

首页 > 数据库 > Oracle > ORACLE打补丁的方法和案例

ORACLE打补丁的方法和案例

原创 Oracle 作者:lusklusklusk 时间:2016-07-19 09:19:28 0 删除 编辑

打补丁使用opatch工具,具体操作方法以补丁包中的readme.txt为准

1.  查看某个补丁是否安装的方法(下面命令不行就升级opatch

$ORACLE_HOME/OPatch/opatch lsinventory

2.  下载补丁包

查看当前opatch版本。Oracle 11.2.0.1.0 自带的opatch版本是11.1.0.6.6。补丁包的README.html中有描述该补丁或PSU需要的最低版本opatch,如果当前opatch版本过低($ORACLE_HOME/OPatch/opatch version命令可以查看),则需要升级。

3.  opatch版本升级

下载 Patch 6880880文件(如p6880880_112000_Linux-x86-64表示64位版本linux下的),mv原来的$ORACLE_HOME/OPatch目录,解压Patch 6880880文件自动生成$ORACLE_HOME/OPatch目录即可。

4.  验证opatch是否升级成功

$ORACLE_HOME/OPatch/opatch version

5.  关闭DB和监听

6.  进入补丁包的目录

7.  打补丁Oracle软件部分)

打补丁的命令通常是简单的opatch apply

$ORACLE_HOME/OPatch/opatch apply 

8.  打补丁数据库部分,PSU补丁集升级需要执行,只升级特定的某一个补丁一般不需要执行

SQL>STARTUP migrate

SQL>@$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply

sql>shutdown immediate
sql>startup

9.  重新编译CPU相关视图 可忽略此步骤)

该步骤在一个数据库上永远只需要执行一次,是为了完成在20081月份第一次发布CPU补丁时的后续工作,如果在安装以前的PSU或者CPU时执行过这个步骤那么就可以无需再次执行,另外,即使不执行该步骤,数据库也是正常运行的,只不过意味着20081月份的 CPU补丁没有正常结束安装。

cd $ORACLE_HOME/cpu/view_recompile

sqlplus / as sysdba

SQL>@recompile_precheck_jan2008cpu.sql

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP UPGRADE

SQL>@view_recompile_jan2008cpu.sql

SQL>SHUTDOWN;

SQL>STARTUP;

SQL>exit

10.编译无效对象

SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

11.查看admin/*/bdump下面是否有类似文件centdb_mmon_9603.trc一直在写,如果有的话再重启下DB

12.卸载补丁

opatch rollback -id 补丁号如9264253


如果打某个补丁1618213,但是没有找到单个的补丁包,找到了多个PSU,如在MOS上找到两个这样的包Database 11.2.0.1 PSU Patch 18139690、Database 11.2.0.1.2 PSU Patch 18031668,我们只打后一个就可以了,因为PSU是从小到大相互包含的累计补丁包



个人升级的一次实验:升级一个特定的补丁8574851readme.txt没有说明说要升级数据字典,只需要opatch apply即可,个人特意去执行SQL>@catbundle.sql psu apply还报错了


 

 

 

 

单机与RAC打补丁8574851的区别

  (a) In a non-RAC environment:

 

  Shut down all services that are running from this ORACLE_HOME.

  Confirm the return status from each shutdown command to verify

  the shutdown is successful and there are no errors.

 

  (b) In a RAC environment:

 

  For each node in the RAC system, shut down the services for

  the specific machine that are running from the ORACLE_HOME.

  OPatch will be used on each node in the RAC system one at

  a time.  If this patch is not rolling RAC installable treat

  it as a non-RAC environment and shut down all services.

 

  As an example, in the case of a two node RAC system:

     1. Stop instances running on node 1.

     2. Run 'opatch apply /8574851' on node 1.

     3. When the apply finishes, opatch asks for confirmation

        before going on to apply the patch to node 2.

     4. Start instances on node 1.

     5. Stop instances running on node 2.

     6. Ask opatch to continue to applying the patch to node 2.

     7. Start instances on node 2.

 

 

 

RAC打补丁8574851的一次实验






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30126024/viewspace-2122207/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。11G OCM, 8年以上DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    382
  • 访问量
    536064