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
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|