任何软件都会存在这样或者那样的缺陷、Bug,Oracle也不例外。对于生产运维人员来说,定期升级系统、打补丁是日常工作中不可缺少的部分。

相对于过去的版本,Oracle打补丁的方式已经变得比较简单,处理PSU的方法也发生了一些变化。在11g中,对于一些小bug的修复,我们可以使用OPatch工具进行补丁修复。对于大的版本升级,Oracle的PSU实际上就是一系列全新的安装文件,从MOS上下载之后就可以直接进行安装。

本篇主要介绍一下如何在11g下面使用OPatch进行打补丁。

1、环境介绍

我们选择11gR2作为实验环境。

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQL Release 11.2.0.1.0 - Production

CORE        11.2.0.1.0         Production

在安装目录$ORACLE_HOME下,是自带一个OPatch工具包的。一般小版本的升级,都是通过OPatch来完成。

[oracle@bsplinux ~]$ cd $ORACLE_HOME

[oracle@bsplinux oracle]$ ls -l | grep OPatch

drwxr-xr-x  8 oracle oinstall    4096 Oct 23 20:00 OPatch

不过,同Oracle自带的Uninstall一样,11.2.0.1自带的OPatch的版本是不能提供升级功能的。所以,我们通常需要首先升级OPatch,之后才能进行打补丁。

2、OPatch升级

首先,我们需要确定当前的OPatch版本。进入OPatch目录之后,可以通过版本首先确认。

[oracle@bsplinux OPatch]$ ls -l

total 92

drwxr-xr-x 2 oracle oinstall  4096 May 22 16:16 docs

-rw-r--r-- 1 oracle oinstall 21576 May  6  2009 emdpatch.pl

drwxr-xr-x 2 oracle oinstall  4096 May 22 16:16 jlib

drwxr-xr-x 5 oracle oinstall  4096 May 22 16:16 ocm

-rwxr-xr-x 1 oracle oinstall  8709 May  6  2009 opatch

-rw-r--r-- 1 oracle oinstall    49 May 22 16:22 opatch.ini

-rw-r--r-- 1 oracle oinstall  2576 May  6  2009 opatch.pl

drwxr-xr-x 4 oracle oinstall  4096 May 22 16:16 opatchprereqs

[oracle@bsplinux OPatch]$ ./opatch version

Invoking OPatch 11.1.0.6.6

OPatch Version: 11.1.0.6.6

OPatch succeeded.

11.2.0.1自带的OPatch版本为11.1.0.6.6,我们需要首先升级OPatch。第一步是进行原有OPatch备份。

[oracle@bsplinux oracle]$ tar zcvf opatch_bk.tar OPatch

OPatch/

OPatch/opatchprereqs/

OPatch/opatchprereqs/prerequisite.properties

(篇幅原因,省略部分内容)

OPatch/jlib/opatchprereq.jar

OPatch/opatch

OPatch/opatch.ini

[oracle@bsplinux oracle]$ ls -l | grep opatch

-rw-r--r--  1 oracle oinstall 1187195 Oct 23 19:06 opatch_bk.tar

最新版本的OPatch可以从MOS上面下载到,补丁文件名称为:p6880880_112000_LINUX.zip(For Linux 32)。

[oracle@bsplinux upload]$ ls -l | grep p688

-rw-r--r-- 1 root root  32510812 Oct 23 19:58 p6880880_112000_LINUX.zip

--解压到ORACLE_HOME目录上

[oracle@bsplinux upload]$ unzip p6880880_112000_LINUX.zip -d $ORACLE_HOME

Archive:  p6880880_112000_LINUX.zip

creating: /u01/app/oracle/OPatch/oplan/

(篇幅原因,省略部分……)

inflating: /u01/app/oracle/OPatch/crs/s_crsconfig_defs

inflating: /u01/app/oracle/OPatch/crs/s_crsconfig_lib.pm

之后,验证OPatch安装成功。

[oracle@bsplinux OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.0

OPatch succeeded.

[oracle@bsplinux OPatch]$

3、补丁安装

如果OPatch不是最新的版本,直接安装PSU可能会有各种的问题。更新OPatch之后,我们就可以下载对应的PSU进行更新。

[oracle@bsplinux upload]$ ls -l | grep p12

-rw-r--r-- 1 root root  18510829 Oct 23 19:35 p12419378_112010_LINUX.zip

[oracle@bsplinux upload]$ unzip p12419378_112010_LINUX.zip -d $ORACLE_HOME

(省略)

[oracle@bsplinux oracle]$ cd 12419378/

[oracle@bsplinux 12419378]$ ls -l

total 60

drwxr-xr-x  3 oracle oinstall  4096 Jul  8  2011 custom

drwxr-xr-x  4 oracle oinstall  4096 Jul  8  2011 etc

drwxr-xr-x 12 oracle oinstall  4096 Jul  8  2011 files

-rwxr-xr-x  1 oracle oinstall  2871 Jul  8  2011 patchmd.xml

-rw-rw-r--  1 oracle oinstall 40790 Jul 18  2011 README.html

-rw-r--r--  1 oracle oinstall    21 Jul  8  2011 README.txt

将数据库和监听程序关闭。

[oracle@bsplinux OPatch]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 23 19:26:11 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn / as sysdba

Connected.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> quit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@bsplinux OPatch]$ lsnrctl stop

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-OCT-2012 19:26:55

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

The command completed successfully

进入安装目录,使用OPatch进行更新。

[oracle@bsplinux oracle]$ ls -l | grep 1241

drwxr-xr-x  5 oracle oinstall    4096 Jul  8  2011 12419378

[oracle@bsplinux oracle]$ cd 12419378/

[oracle@bsplinux 12419378]$

[oracle@bsplinux 12419378]$$ORACLE_HOME/OPatch/opatch apply

Oracle Interim Patch Installer version 11.2.0.3.0

Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Oracle Home       : /u01/app/oracle

Central Inventory : /u01/oraInventory

from           : /u01/app/oracle/oraInst.loc

OPatch version    : 11.2.0.3.0

OUI version       : 11.2.0.1.0

Log file location : /u01/app/oracle/cfgtoollogs/opatch/12419378_Oct_23_2012_20_02_23/apply2012-10-23_20-02-22PM_1.log

Applying interim patch '12419378' to OH '/u01/app/oracle'

Verifying environment and performing prerequisite checks...

Patch 12419378: Optional component(s) missing : [ oracle.client, 11.2.0.1.0 ]

All checks passed.

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: realkid4@126.com

Provide your My Oracle Support password to receive security updates via your My Oracle Support account.

Password (optional):

Unable to establish connection to Oracle Configuration Manager server.

Hostname (https://ccr.oracle.com) is unknown.

Unable to establish a network connection to Oracle. Specify the URL for an

Oracle Support Hub in this format:

http[s]://:

If you do not wish to configure OCM through an Oracle Support Hub, enter NONE

Oracle Support Hub URL:

Invalid Oracle Support Hub address specified ().

Unable to establish a network connection to Oracle. Specify the URL for an

Oracle Support Hub in this format:

http[s]://:

If you do not wish to configure OCM through an Oracle Support Hub, enter NONE

Oracle Support Hub URL:

Invalid Oracle Support Hub address specified ().

Unable to establish a network connection to Oracle. Specify the URL for an

Oracle Support Hub in this format:

http[s]://:

If you do not wish to configure OCM through an Oracle Support Hub, enter NONE

Oracle Support Hub URL:

Invalid Oracle Support Hub address specified ().

Unable to establish a network connection to Oracle. Specify the URL for an

Oracle Support Hub in this format:

http[s]://:

If you do not wish to configure OCM through an Oracle Support Hub, enter NONE

Oracle Support Hub URL: NONE

Unable to establish a network connection to Oracle. If your systems require a

proxy server for outbound Internet connections, enter the proxy server details

in this format:

[@][:]

If you want to remain uninformed of critical security issues in your

configuration, enter NONE

Proxy specification: NONE

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.

(Oracle Home = '/u01/app/oracle')

Is the local system ready for patching? [y|n]y

User Responded with: Y

Backing up files...

Patching component oracle.rdbms.rsf, 11.2.0.1.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.1.0...

Patching component oracle.rdbms, 11.2.0.1.0...

Patching component oracle.rdbms.dv, 11.2.0.1.0...

Patching component oracle.xdk.rsf, 11.2.0.1.0...

Patching component oracle.ldap.rsf.ic, 11.2.0.1.0...

Patching component oracle.ldap.rsf, 11.2.0.1.0...

Patching component oracle.sysman.plugin.db.main.repository, 11.2.0.1.0...

Verifying the update...

Patch 12419378 successfully applied

Log file location: /u01/app/oracle/cfgtoollogs/opatch/12419378_Oct_23_2012_20_02_23/apply2012-10-23_20-02-22PM_1.log

OPatch succeeded.

启动数据库,确定更新成功。

[oracle@bsplinux ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 23 20:28:00 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  422670336 bytes

Fixed Size                  1336960 bytes

Variable Size             327158144 bytes

Database Buffers           88080384 bytes

Redo Buffers                6094848 bytes

Database mounted.

Database opened.

SQL> @?/rdbms/admin/catbundle.sql psu apply

PL/SQL procedure successfully completed.

4、确定补丁成功

最后我们需要确定补丁安装成功。对小补丁的升级来说,我们是不能够v$version视图中看到的。

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

PL/SQL Release 11.2.0.1.0 - Production

CORE    11.2.0.1.0      Production

TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 – Production

通过OPatch的信息库记录,可以看到补丁信息。

[oracle@bsplinux ~]$$ORACLE_HOME/OPatch/opatch lsinventory

Oracle Interim Patch Installer version 11.2.0.3.0

Copyright (c) 2012, Oracle Corporation.  All rights reserved.

Oracle Home       : /u01/app/oracle

Central Inventory : /u01/oraInventory

from           : /u01/app/oracle/oraInst.loc

OPatch version    : 11.2.0.3.0

OUI version       : 11.2.0.1.0

Log file location : /u01/app/oracle/cfgtoollogs/opatch/opatch2012-10-23_20-34-59PM_1.log

Lsinventory Output file location : /u01/app/oracle/cfgtoollogs/opatch/lsinv/lsinventory2012-10-23_20-34-59PM.txt

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

Installed Top-level Products (1):

Oracle Database 11g                                                  11.2.0.1.0

There are 1 products installed in this Oracle Home.

Interim patches (1) :

Patch  12419378     : applied on Tue Oct 23 20:24:06 CST 2012

Unique Patch ID:  13710328

Created on 8 Jul 2011, 02:48:54 hrs PST8PDT

Bugs fixed:(修复Bug的编号)

9068088, 9363384, 8865718, 8898852, 8801119, 9054253, 8725286, 8974548

9093300, 8909984, 8755082, 8780372, 9952216, 8664189, 8769569, 7519406

9302343, 9471411, 8822531, 7705591, 8650719, 10205230, 9637033, 8883722

8639114, 8723477, 8729793, 8919682, 8856478, 9001453, 8733749, 8565708

8735201, 8684517, 8870559, 8773383, 8981059, 8812705, 9488887, 12534742

8813366, 12534743, 9242411, 12534745, 12534746, 12534747, 8822832

12534748, 8897784, 8760714, 12534749, 8775569, 8671349, 8898589, 9714832

8642202, 9011088, 9369797, 9170608, 9165206, 8834636, 8891037, 8431487

8570322, 8685253, 8872096, 8718952, 8799099, 12534750, 9032717, 9399090

12534751, 12534752, 9713537, 9546223, 12534753, 12534754, 8588519

8783738, 12534755, 12534756, 8834425, 9454385, 8856497, 8890026, 8721315

10248516, 8818175, 8674263, 10249532, 9145541, 8720447, 9272086, 9467635

9010222, 9102860, 9197917, 8991997, 8661168, 8803762, 12419378, 8769239

9654983, 8706590, 8546356, 10408903, 8778277, 9058865, 8815639, 11724991

9971778, 9971779, 9027691, 9454036, 9454037, 9454038, 8761974, 9255542

9275072, 8496830, 8702892, 8818983, 8475069, 8875671, 9328668, 8891929

8798317, 9971780, 8782959, 8774868, 8820324, 8544696, 8702535, 9952260

9406607, 8268775, 9036013, 9363145, 8933870, 8405205, 9467727, 8822365

9676419, 11724930, 8761260, 8790767, 8795418, 8913269, 8717461, 8861700

9531984, 8607693, 8780281, 8330783, 8784929, 8780711, 9341448, 9015983

10323077, 8828328, 9119194, 10323079, 8832205, 8717031, 8665189, 9482399

9676420, 9399991, 8821286, 8633358, 9321701, 9655013, 9231605, 8796511

9167285, 8782971, 8756598, 8703064, 9390484, 9066116, 9007102, 9461782

10323080, 10323081, 10323082, 8753903, 8505803, 9382101, 9352237, 9216806

8918433, 11794163, 9057443, 8790561, 11794164, 8733225, 8795792, 11794165

11794167, 9067282, 8928276, 8837736, 9210925

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

OPatch succeeded.

[oracle@bsplinux ~]$

在dba_registry_history中,我们也可以看到记录。

SQL> select version, id, bundle_series, comments from dba_registry_history;

VERSION            ID BUNDLE_SER COMMENTS

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

11.2.0.1            6 PSU        PSU 11.2.0.1.6

5、结论

打补丁、升级数据库是DBA的基本功之一。本文主要介绍了OPatch进行的最简单的补丁升级,权当记录之用。

参考:http://blog.itpub.net/17203031/viewspace-748376/

相关资源:OPatch patch of version 11.2.0.3.19 for Oracle_AIX平台
————————————————
版权声明:本文为CSDN博主「瓖嘉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_34777998/article/details/112014917

Oracle 安装补丁相关推荐

  1. oracle查看已安装补丁包,ORACLE查看数据库安装补丁情况

    ORACLE查看数据库安装补丁情况 ORACLE查看数据库安装补丁情况 查看ORACLE数据库的版本以及补丁情况,可以通过opatch lsinventory命令来查看,Linux版本和Windows ...

  2. windows2008 server 安装Oracle 11g 补丁 经历

     第一次Oracle在windows下 如何打补丁, Oracle体系中的漏洞和补丁的关系. 厂商补丁:Oracle Oracle已经为此发布了一个安全公告(cpujuly2011-313328) ...

  3. 安装oracle中间补丁时提示 OPatch 无法找到主产品清单。 OPatch failed with error code 72

    如下所示,在安装oracle10中间补丁程序时提示以下错误. [oracle@AS5 4375798]$ /u01/app/oracle/product/10.2.0/db_1/OPatch/opat ...

  4. oracle anbob,Tag Archives: oracle安装 | ANBOB

    2016/08/02 363 views Using 'opatch lsinventory' show patched is real? (看到的补丁信息真的靠谱么?)已关闭评论 去年在排查SCN ...

  5. oracle11g安装补丁升级

    检查当前数据库CPU和PSU补丁信息 方法一: 登录数据库,检查DBA_REGISTRY_HIST视图. SYS@orcl> select *from dba_registry_history; ...

  6. oracle安装就是home3,rhel3上安装Oracle(来自Oracle网站)

    http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html 1.从网上下载redhat Ente ...

  7. oracle打补丁到11.2.0.3.4

    1)升级OPatch到11.2.0.3.0(老版本的为11.2.0.1.7不适合安装补丁) -bash-3.00$ unzip p6880880_112000_SOLARIS64.zip Archiv ...

  8. oracle最新版本是多少_运维日记|关于Oracle的补丁你需要知道的事

    各位新朋友-记得先点蓝字关注我哦- 之前一起熟悉了Oracle数据库的软件版本,服务周期,今天我们一起来了解下,Oracle发布的基础版本之上,常说的补丁到底是什么,有什么分类,经历了怎样的迭代. c ...

  9. oracle每季度补丁,Oracle 2020 年第四季度补丁发布

    半个月前,也就是 10 月 20 日, Oracle 发布了今年最后一次补丁更新,那么很多人都想打最新的 PSU,理由是有被扫到各种漏洞,有的扫描工具着实太坑,这里就不用说了,前几天看到盖总发布的文章 ...

最新文章

  1. 22 款神经网络的设计和可视化工具
  2. erc20 php,使用php将erc20令牌从一个帐户传输到另一个帐户
  3. wdcp后台重启服务器后mysql打不开
  4. Kafka科普系列 | 原来Kafka中的选举有这么多?
  5. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
  6. [备忘]Visual Studio常用小技巧
  7. 【王俊杰de人工智能实战课】第8次作业
  8. [转]easyui 全部图标
  9. web页面上数据是否进行缓存要怎么判断_前端要知道的网络知识五:详细的介绍web缓存...
  10. grid函数--Matplotlib
  11. DelphiXE10.4安卓编程初学者心得
  12. 如何禁止树莓派屏幕休眠
  13. 计算机sci多少字,一篇sci综述一般写多少字
  14. 网吧用计算机性能配件清单,网吧主机都是什么配置?看看清单就知道!
  15. Windows10 下面一个非常快速而精悍的看图软件 - IrfanView
  16. 东鹏饮料如何站稳千亿市值?
  17. 三星自定义状态栏_三星s9状态栏隐藏方法,三星s9状态栏隐藏小技巧
  18. 看完《长安十二时辰》惊呆了!难道唐朝就已经有大数据和云计算?
  19. PaddleOCR 文字检测部分源码学习(8)-损失函数(4)
  20. CAD图纸该如何修改背景颜色呢?

热门文章

  1. Apple Mach-O Linker Error 一个粗心造成的问题
  2. 程序员你为什么这么累?
  3. RapidScada 应用---安卓手机端监控插件KpAndroid
  4. 阿里云龙珠计划机器学习--task1-逻辑回归
  5. JVM——Java诊断工具Arthas
  6. 山东省2023年春季高考技能测试电子技术类专业试题
  7. java8 wordcount_Java8并行流写WordCount,并不简单
  8. 【Unity】 脚本控制人物移动/跳跃/视角跟随鼠标/脚步声
  9. 网站首页百度快照迟迟不更新的几种可能原因;
  10. 用istanbul生成coverage文件