oracle opatch 工具的使用(oracle小补丁安装)

oracle opatch 工具的使用(oracle小补丁安装)(转)  

2009-10-26 11:12:15|  分类: JAVA|举报|字号 订阅

从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一

个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别

补丁的安装和卸载都使用opatch命令完成,冲突检测也由opatch在安装时自动完成;提供列表命令可以很方

便得到已安装个别补丁的信息。

    10g(10.1和10.2)版本中,opatch作为一个标准工具,在软件安装时自动安装。(安装在

$ORACLE_HOME/OPatch下。)而对于9.2版,需要从metalink下载opatch.无论数据库是哪一个版本,系统中是

否已经安装opatch,在使用之前,应从metalink下载最新版本的opatch.很遗憾,由于系统实现的问题,10.2

使用的opatch与之前版本(10.1和9.2)使用的opatch不兼容,不能混用,这一点必须注意。

    opatch是使用perl编写的脚本程序(其中也使用JAVA API)。编程使用的perl版本是5.6版,虽然在5.6

之前的版本中也可运行,但应尽可能安装5.6或以上的版本的perl.对于DBA来说一个好消息是,如果安装9.2

版软件时保留了HTTP服务器,则在$ORACLE_HOME/Apache下会自动安装perl.(10g会自动安装配置perl和

opatch.)

    opatch命令格式为:

    opatch < command > [< command_options >] [ -h[elp] ]

    命令有:apply(安装个别补丁)、rollback(卸载个别补丁)、lsinventory(对inventory进行列表)

、query(显示某一个别补丁的详细信息)、version(显示opatch版本信息)。在opatch目录下,有用户使

用指南文件(Users_Guide.txt),其中有详细的命令格式和使用示例,读者可以参考。Opatch执行操作时,

除在屏幕输出结果外,还生成日志文件。日志文件的路径和文件名格式如下:

    $ORACLE_HOME/.patch_storage/< patch_id >/< action >-< patch_id >_< mm-dd-yyyy_hh-mi-ss

>.log

    其中“patch_id”是Oracle技术支持部门为个别补丁分配的编号。

     * 个别补丁安装实例

    沿用安装PSR实例中的环境。在安装PSR10.1.0.5后,检索metalink,发现若干在其之上的个别补丁。选

择其中之一安装。

    个别补丁Patch 4518443修复BUG4518443,这一BUG的主要问题是TNS LISTENER在注册ONS(Oracle

Notification Services)的同时如果创建子进程,那么LISTENER会挂起(HANGUP)。

    安装时,首先,从metalink下载补丁的压缩文件p4518443_10105_LINUX.zip.将此文件解压缩至某一目录

中。解压缩后,这一补丁的所有文件都在子目录4518443下,目录名就是个别补丁的补丁号,opatch依据目录

名获得信息,所以一定不要重命名子目录。

    然后,在终端窗口中,执行cd命令移动到4518443子目录中,执行以下命令:

    $ $ORACLE_HOME/OPatch/opatch apply

    对inventory列表,确认安装操作:

    $ $ORACLE_HOME/OPatch/opatch lsinventory

    执行卸载命令时,也必须使4518443子目录成为当前目录。其中,Rollback命令需要两个参数:-id给出

个别补丁号;-ph 给出个别补丁解压缩后的路径。

    $ $ORACLE_HOME/OPatch/opatch rollback -id 4518443 -ph /…/4518443

    随后再对inventory列表,则会看到这一个别补丁已经被移去。

* 使用opatch显示已安装的版本信息

    不需要启动数据库,执行加选项的对inventory的列表命令,可以得到已安装的软件的各个组件的详细版

本信息。

    $ $ORACLE_HOME/OPatch/opatch lsinventory -detail

    安全补丁CPU

    一个CPU内包含了对多个安全漏洞的修复,并且也包括相应必需的非安全漏洞的补丁。CPU是累积型的,

只要安装最新发布的CPU即可,其中包括之前发布的所有CPU的内容。事实上,在CPU之前的安全漏洞修改除去

个别例外也被包括在CPU中。Oracle公司只对处于标准技术支持和延长支持期间的产品提供CPU更新,对处于

维持支持范围的产品不提供新的CPU.(对于9.2以前的版本,只对处于ECS和EMS期间的版本提供CPU更新。)

一般对当前补丁发行版及前一个版本提供CPU,但也有只限于当前补丁发行版的例外情形。也就是说,一般需

要先安装最新PSR后才可能安装CPU.由于是累积型的定期发布,所以对于某一平台的某一版本,如果两次CPU

发布期间没有发现新的安全漏洞,则新发布的CPU与前一版本完全相同。

    在以下网址中可以找到CPU发布的信息,但是很遗憾,只有技术支持签约用户才可以从metalink下载补丁

文件。

   http://www.oracle.com/technology/deploy/security/alerts.htm

    Oracle公司制定的CPU的发布日期大约在一月、四月、七月和十月的最接近15的星期二。

    对于每一个CPU,附有相应的说明文档(Critical Patch Update Note),其中介绍安装过程和注意事项

,在安装之前应认真阅读此文档。同样也存在文档“Oracle Critical Patch Update MM YYYY Known Issues

for Oracle Database”,其中列出了说明文档中没有给出的新信息。

    在安装时,首先下载压缩文件p5225797_10105_LINUX.zip,解压缩到与其它个别补丁相同的目录下。检

查其发行说明时,发现要求opatch版本比现已安装版本要高,下载安装指定版本opatch.进入子目录5225797

(这是此安全补丁的补丁号),执行apply命令。

    $ $ORACLE_HOME/OPatch/opatch apply

    打开此次安装生成的日志文件,其中没有错误信息出现。执行inventory列表命令确认安装:

    $ $ORACLE_HOME/opatch lsinventory

 

 

opatch作用 
opatch是用于维护"个别"补丁的,有人称其为interim path或是one-off patch
以解决TA ENQ AND US ENQ DEADLOCK DURING TRANSACTION RECOVERY IN RAC问题的interim patch 3777178为例,
安装及rollback的命令如下: 
install:
oracle>unzip p3777178_9206_HP64.zip
oracle>cd 3777178
oracle>opatch apply 
rollback:
oracle>cd 3777178
oracle>opatch rollback -id 3777178

查看:
如下命令可以看到已经安装了哪些interim patch
[oracle@mysql2 ~]$ /u01/app/oracle/product/10.2.0/db_2/OPatch/opatch lsinventory


不断的在opatch后面加-h可以看到这个命令更加详细的选项: 
看一下lsinventory后面有哪些选项: 
[oracle@mysql2 ~]$ /u01/app/oracle/product/10.2.0/db_2/OPatch/opatch lsinventory -h

 

1. 环境介绍

XXXX综合管理信息系统主机放在XXXX,数据库平台硬件架构如下:

数据库主机:两台IBMp5 570(jcczxt1、jcczxt2)安装AIX5L ML 5306 通过IBM HACMP构成双机热备。

数据库平台:Oracle Server - Enterprise Edition - Version: 9.2.0.8

2.故障描述

2008年12月10号上午9:00值班人员接到用户反应应用出错无法存盘。前台出现的错误信息如下:

ORA-01115:IO error reading block from file 6 (block #2707)

ORA-01110: data file 6 : ‘/oradata/smis1.dbf’

ORA-27091: skgfqio :unable to quere I/O

ORA-27072: skgfdisp : I/O error

IBM AIX RISC System/6000 Error : 5: I/O error

此时数据库管理员重新启动数据库,前台用户反应应用可能正常运行,问题解决。数据库管理员在检查主机日志时没有发现任何硬件故障问题,在检查数据库日志时也没有任何错误提示,用Oracle的实用程序DBV对数据库文件进行检查没有发现坏块。

2008年12月11日下午18:30用户又报同样的错误,此时DBA重新启动数据库和应用,问题解决。2008-12-11 8:50用户又报同样的。DBA重新启动数据库和应用,问题解决。

3.故障的定位

第一步,通过errpt检查主机的日志确认主机没有硬件问题,磁盘没有损坏。第二步,通过检查数据库的日志文件(alertSID.log)也没有相关的错误提示,初步判定不是数据库的问题。第三步,通过Oracle的实用程序DBV对数据库文件进行检查没有发现坏块。此时可以确认不是硬件问题,是软件的问题。第四步,综合管理信息系统是2008年10月18号上线,一直都稳定运行,没有出现过类似的情况,可以排除是应用程序的问题。第五步,通过上metalink网站查询与ORA-01115相关的信息,发现有大量的资讯,其中的故障描述与我们的情况一致,“由于在AIX5L的操作系统上Oracle由于无法获取正确的data block头信息,从而导致DBWn进程写硬盘失败,Oracle数据库从8.1.7.4到10.2.0.2都有此问题,是由于Oracle的BUG导致,需要打一个Oracle的临时补丁”。此时问题可以定位为oracle在AIX5L平台上的BUG,需要加载一个Oracle的临时补丁patch 5496862。

4.Oracle术语解释

什么叫interim patch ?

Interim patch是一次性的补丁针对特定的情况下触发的Bug,没有经过Oracle系统的认证,Oracle会根据Bug的严重性和需要在下一次的patch set中包含此Interim patch。Interim patch对环境和版本有特定的要求,即不同操作系统平台和数据库版本的会有不同的Interim patch。如Interim patch 5496862会。

什么叫Opatch?

Opatch是oracle支持的Oracle临时补丁的安装实用程序。是针对Oracle数据库第二版9.2.0后安装临时补丁。Opatch是一个基于Perl的程序。

如何安装Opatch?

从metalink上选择补丁程序,选择简单搜索,输入patch号6880880选择相应的操作系统平台,查询结果会显示所有可用版本的optach,下载版本号10.1就行。将下的压缩文件上传到数据库主机,将压缩文件复制到$ORACLE_HOME目录下,用unzip工具解压此压缩文件。具体命令如下:

#cp /tmp/p6880880_101000_AIX64-5L.zip $ORACLE_HOME

#chown oracle:dba $ORACLE_HOME/p6880880_101000_AIX64-5L.zip

以oracle用户解压此文件

$ cd $ORACLE_HOME

$unzip p6880880_101000_AIX64-5L.zip

5.解决方法

1)从metalink上选择补丁程序,选择简单搜索,输入patch号5496862,选择平台为IBM AIX Based System(64bit),下载Oracle9.2.0.8对应的patch大小为24K。

2)将patch 5496862上传到数据库主机(host2)

3)在jcczxt2主机上加载此patch

因综合管理信息系统采用双机热备方式,所以备机(host2)没有数据库应用。所以我们可以在不停下数据库的情况下加载patch 5496862。详细步骤如上:

以oracle数据库用户执行下面的命令:

$cp /tmp/p5496862_92080_AIX64-5L.zip /oracle/patch

$cd /oracle/patch

$unzip p5496862_92080_AIX64-5L.zip

$cd 5496862

$$ORACLE_HOME/Opatch/opatch install

提示要求输入metalink的帐号和密码,可能随便输入。

提示“ Please shut down Oracle instances running out of this ORACLE_HOME”输入’Y’

此时oracle会开始安装patch,因为要重新链接lib,所以要花几分钟时间,在安装完毕后会出现“OPatch succeeded”提示。

4)将数据库切换到jcczxt2

5)在host1主机上采用相同的方法上加载patch 5496862

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle OPatch P2400611 是一个用于 Oracle 数据库软件的补丁包。112040 表示该补丁包适用于 Oracle 数据库软件的版本为 11.2.0.x,其中 x 表示具体的版本号,可以是 0、1、2 等。 要下载这个补丁包,首先需要登录到 Oracle 官方网站,然后找到 Patch 平台。在 Patch 平台上,可以搜索补丁包编号 P2400611。找到该补丁包后,可以点击下载按钮进行下载。 下载补丁包之前,需要确认当前系统的操作系统是 Linux,并且版本符合 11.2.0.x 的要求。检查数据库版本和操作系统版本的方法可以在数据库控制台中运行相关命令来查询。 在下载补丁包之后,需要将补丁包解压到合适的目录中。然后,需要使用 Oracle OPatch 工具进行补丁安装。在安装补丁之前,可以先检查一下当前系统上已经安装补丁的情况,以确保不会产生冲突或者覆盖之前的补丁安装补丁之前,最好先备份数据库,以免发生意外。然后,使用 OPatch 命令进行补丁安装。在安装过程中,可能会需要提供一些必要的参数,如 ORACLE_HOME 等。 补丁安装完成之后,可以使用 OPatch 命令进行验证,以确保补丁已成功安装。可以检查数据库的日志文件、警告日志和 alert.log 文件来确认补丁安装情况。 总结起来,Oracle OPatch P2400611 是一个适用于 Oracle 数据库软件版本为 11.2.0.x 的 Linux 补丁包。要下载和安装补丁包,首先需要登录 Oracle 官方网站,找到 Patch 平台,并搜索补丁包编号进行下载。安装补丁时需谨慎,并备份数据库,以确保顺利完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值