阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

查看及管理Oracle patch

138次阅读
没有评论

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

Oracle patch 也即是 Oracle 补丁。Oracle 补丁又包含好几个种类,小的补丁简直是难以数计,难免让人眼花缭乱。尽管如此,Oracle patch 还是有序可循的。而且 Oracle 提供的 opatch 工具非常方便的用于安装 oracle patch,以及查看当前系统已经安装的 patch。本文列出了 patch 的几种类型,以及主要描述通过 opatch 工具查看当前数据库的 patch 应用的情况。对于如何 apply patch 可参考 Oracle 官方文档。

1、Oracle patch 类型
One-off patches (e.g. a bug fix)
    One-off patches 也称之为一次性补丁,通常针对特定的版本数据库或运行平台。此类补丁通常较小,使用的最为频繁
    One-off patch 只需要用 Opatch 工具 apply 即可,不需要升级 / 修正数据字典
    如在数据库使用过程中出现某些异常后如较常见的 ORA-00600、ORA-07445 错误等可以通过一次性补丁来搞定

Critical Patch Update (CPU)
    简称 CPU,一般来说 CPU 包含了 Oracle 产品安全漏洞的修复补丁集 (set of security bug fix),通常一年发布四期
    该类 patch 的安装和安装 one-off patch 一样,同样使用”opatch apply”命令来完成
    安装完成后应针对既有的数据库 (已经创建在使用的数据库),应在数据库级别运行数据字典升级脚本

Bundled patches (For Windows and Exadata only)
    用于解决在 Windows 平台无法利用替换共享库文件后 relink 的方式来更新 Oracle binary,所以 Oracle 特别针对 Windows 发布区别于 Unix 上 Normal/Molecular CPU 的 CPU Bundle patch
    通常情况下,Bundle Patch 会别较大,Windows bundle patches 通常每一个季度都会发布

PSR(Patch Set Release)/Patch Set Update(PSU)
    PSR 就是大家常见的大补丁合集,通常 1GB 左右,也就是 oracle 版布号的第四位即为 PSR 号。也就是说 oracle 版布号的第四位会被修改
    每一个 PSR 是都整合了之前的一些 bug,并且经过了严格的测试,通常更新 PSR 风险相对较小
    如 10.2,10.2.0.1.0 是基础发行版,至今已有五个 PSR 发布,最新 10.2 的 PSR 为 10.2.0.5.0
    PSU 就是在每个 PSR 发布之间的补丁,由于新旧 PSR 之间周期较长,而数据库在运行期间难以保证不会出现新的 bug,因此有了 PSU
    PSU 是对于 PSR 的一个重要补充,每个 PSU 修改 5 位版本号的第 5 位。如,11.1 版本升级为 11.1.0.7.1;10.2 版本为 10.2.0.4.2
    PSU 与 CPU 一样,定期发布,计划一年发布四次,发布日期与 CPU 发布日期相同。由于 PSU 包括同期发布的 CPU,只要安装 PSU 即可
    PSU 同样使用 Opatch 工具安装 / 删除,命令仍是 apply 和 rollback。一个 PSU 可视作一个个别补丁,安装和删除操作同样简便
 
2、opatch 工具

Oracle 为我们提供了用于 patch 安装、回退、管理与追踪的工具 opatch,该工具为命令行工具,简单易用,可以根据 opatch 的帮助命令来获取帮助信息
# 获得 opatch 的帮助信息
[oracle@linux1 OPatch]$ ./opatch -help
Invoking OPatch 11.1.0.6.6  #opatch 的版本

Oracle Interim Patch Installer version 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved.

 Usage: opatch [-help] [-r[eport] ] [command]

            command := apply          #安装 patch
                      lsinventory    #查看所有已安装的 patch
                      napply        #用于 Apply a set of patches at a time
                      nrollback      #用于 Rollback a set of patches at a time
                      rollback      #Rollback an existing one-off patch indicated by the reference-id
                      query         
                      version
                      prereq        #用于检查安装 patch 之前的先决条件
                      util

 <global_arguments> := -help      Displays the help message for the command.
                      -report    Print the actions without executing.
 example:                            #可以通过下面的方式来查看每一个具体命令的用法
  ‘opatch -help’
  ‘opatch apply -help’         
  ‘opatch lsinventory -help’   
  ‘opatch napply -help’       
  ‘opatch nrollback -help’
  ‘opatch rollback -help’
  ‘opatch prereq -help’
  ‘opatch util -help’
 
OPatch succeeded.

# 下面查看 oracle 10g 下的补丁信息,对于如何安装补丁,本文不作演示
oracle@M10DB01p:/users/oracle/OraHome10g/OPatch> ./opatch lsinventory
Invoking OPatch 10.2.0.3.0
    ………
Oracle Home      : /users/oracle/OraHome10g
Central Inventory : /users/oracle/oraInventory
  from          : /etc/oraInst.loc
OPatch version    : 10.2.0.3.0
OUI version      : 10.2.0.3.0
OUI location      : /users/oracle/OraHome10g/oui
Log file location : /users/oracle/OraHome10g/cfgtoollogs/opatch/opatch2013-12-19_09-54-27AM.log

Lsinventory Output file location : /users/oracle/OraHome10g/cfgtoollogs/opatch/lsinv/lsinventory2013-12-19_09-54-27AM.txt

——————————————————————————–
Installed Top-level Products (2):

Oracle Database 10g                                                  10.2.0.1.0 #基础版本号
Oracle Database 10g Release 2 Patch Set 2                            10.2.0.3.0 #PSR 号为 3
There are 2 products installed in this Oracle Home.

Interim patches (2) :                                                #列出了 2 个临时补丁 patch 号及 bug 号

Patch  5556081      : applied on Wed Feb 15 11:16:15 HKT 2012
  Created on 9 Nov 2006, 22:20:50 hrs PST8PDT
  Bugs fixed:
    5556081

Patch  5557962      : applied on Wed Feb 15 11:16:08 HKT 2012
  Created on 9 Nov 2006, 23:23:06 hrs PST8PDT
  Bugs fixed:
    4269423, 5557962, 5528974
——————————————————————————–
OPatch succeeded.

# 也可以通过查询 dba_server_registry 查看当前数据补丁的使用情况
SQL> select comp_name,version from dba_server_registry;

COMP_NAME                                          VERSION
————————————————– ——————————
Oracle XML Database                                10.2.0.3.0
Oracle Label Security                              10.2.0.3.0
Oracle Expression Filter                          10.2.0.3.0
Oracle Rules Manager                              10.2.0.3.0
Oracle Workspace Manager                          10.2.0.1.0
Oracle Database Catalog Views                      10.2.0.3.0
Oracle Database Packages and Types                10.2.0.3.0
JServer JAVA Virtual Machine                      10.2.0.3.0
Oracle XDK                                        10.2.0.3.0
Oracle Database Java Packages                      10.2.0.3.0

10 rows selected.

# 下面是 Oracle 11g 下使用 lsinventory -detail 时 patch 的应用情况
[oracle@linux1 OPatch]$ ./opatch lsinventory -detail
Invoking OPatch 11.1.0.6.6

Oracle Interim Patch Installer version 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved.
              ……………(省略)
——————————————————————————–
Installed Top-level Products (1):

Oracle Database 11g                                                  11.2.0.1.0
There are 1 products installed in this Oracle Home.

Installed Products (134):

Agent Required Support Files                                        10.2.0.4.2
Assistant Common Files                                              11.2.0.1.0
Bali Share                                                          1.1.18.0.0
Buildtools Common Files                                              11.2.0.1.0
Character Set Migration Utility                                      11.2.0.1.0
Cluster Verification Utility Common Files                            11.2.0.1.0
Database Configuration and Upgrade Assistants                        11.2.0.1.0
              ……………(省略)
SSL Required Support Files for InstantClient                        11.2.0.1.0
Sun JDK                                                              1.5.0.17.0
XDK Required Support Files                                          11.2.0.1.0
XML Parser for Java                                                  11.2.0.1.0
XML Parser for Oracle JVM                                            11.2.0.1.0
There are 134 products installed in this Oracle Home.

Interim patches (1) :

Patch  8670579      : applied on Thu Aug 15 17:53:20 CST 2013
Unique Patch ID:  12243614
  Created on 25 Feb 2010, 09:55:12 hrs US/Eastern
  Bugs fixed:
    8670579
  Files Touched:      #这里列出了相应的文件
    /ahseteco.o –> ORACLE_HOME/lib/libnnz11.a
    /am11rkg.o –> ORACLE_HOME/lib/libnnz11.a
    /amsha.o –> ORACLE_HOME/lib/libnnz11.a
    /cpui32.o –> ORACLE_HOME/lib/libnnz11.a
    /sha.o –> ORACLE_HOME/lib/libnnz11.a
    /x931rand.o –> ORACLE_HOME/lib/libnnz11.a
    /am11dkg.o –> ORACLE_HOME/lib/libnnz11.a
    /am931rnd.o –> ORACLE_HOME/lib/libnnz11.a
    /amsharnd.o –> ORACLE_HOME/lib/libnnz11.a
    /ghash.o –> ORACLE_HOME/lib/libnnz11.a
    /shacomm.o –> ORACLE_HOME/lib/libnnz11.a
    libnnz11.so –> ORACLE_HOME/lib/libnnz11.so
  Patch Location in Inventory:
    /u01/app/oracle/db_1/inventory/oneoffs/8670579
  Patch Location in Storage area:
    /u01/app/oracle/db_1/.patch_storage/8670579_Feb_25_2010_09_55_12

Rac system comprising of multiple nodes  #列出了当前环境的节点
  Local node = linux1
  Remote node = linux2
——————————————————————————–
OPatch succeeded.

# 下面是 Oracle 11g 下使用使用 lsinventory -bugs_fixed 来查看 patch 的情形
[oracle@linux1 OPatch]$  ./opatch lsinventory -bugs_fixed
Invoking OPatch 11.1.0.6.6
            ……………(省略)
——————————————————————————————————
Installed Top-level Products (1):

Oracle Database 11g                                                  11.2.0.1.0
There are 1 products installed in this Oracle Home.

List of Bugs fixed by Installed Patches:

Bug        Fixed by  Installed at                  Description
            Patch                                             
—        ——–  ————                  ———–  #下面给出了和 bug 有关的具体描述

8670579    8670579  Thu Aug 15 17:53:20 CST 2013  DBBETA :NETCA/DBCA FAILED WITH HOTSPOT VIRTUAL MACHINE

Rac system comprising of multiple nodes
  Local node = linux1
  Remote node = linux2
——————————————————————————————————
OPatch succeeded.

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137680.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计7378字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中