ORACLE如何打补丁

84次阅读
没有评论

共计 2376 个字符,预计需要花费 6 分钟才能阅读完成。

这篇文章主要介绍 ORACLE 如何打补丁,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

打补丁使用 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 相关视图(可忽略此步骤)

该步骤在一个数据库上永远只需要执行一次,是为了完成在 2008 年 1 月份第一次发布 CPU 补丁时的后续工作,如果在安装以前的 PSU 或者 CPU 时执行过这个步骤那么就可以无需再次执行,另外,即使不执行该步骤,数据库也是正常运行的,只不过意味着 2008 年 1 月份的 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 是从小到大相互包含的累计补丁包

个人升级的一次实验:升级一个特定的补丁 8574851,readme.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 的一次实验

以上是“ORACLE 如何打补丁”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计2376字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)