如何在Windows平台上使用OPatch

之前的工作平台清一色都是在Linux/Unix,自从来了新的部门,因为资源缺乏,只能自给自足,在自己的Windows机器上安装了两个虚拟机(OEL5和Solaris.X64),另外宿主机的Windows7(64bit)也装了一个11gR2的数据库,工作需要,很多之前没太接触的软件,包括ODI (Oracle Data Integrator),Oracle Fusion Middleware,Oracle WebLogic Server, Oracle GoldenGate (OGG)等等,该装的也都装上了。

上面是几句题外话了,下面步入正题。

最近因为涉及项目需要,一直在学习和演练ODI,在11.1.0.5.0上遇到了一个bug#12798243,打bug的过程中发现OPatch在Windows平台的使用也没想象的那么复杂,下面简单介绍下过程和使用中的注意事项:

1)首先下载下来最新版本的OPatch,这个在bug#6880880中追踪,只需要下载对应的patch,并解压到ODI_HOME/OPatch下面覆盖即可。
2)下载补丁10288265,这个是打其他ODI的patch之前必须的一个patch,直接解压patch,并运行setup.exe即可

3)下载补丁12798243,这个一个one-off patch,使用刚才步骤1中下载的OPatch进行apply

4)使用之前首先列出来当前ODI的版本和已有的patch

注意:在系统路径中增加OPatch的路径,并且在OPatch/ocm/bin/下面运行生成ocm.rsp文件,这在最新的opatch中是一个必须。


E:\Download\ofm_odi_generic_11.1.1.5.0_disk1_1of1\p12798243_111150_Generic\12798
243\opatch\12798243>opatch lsinventory -oh d:\Oracle\Middleware\Oracle_ODI1
Invoking OPatch 11.1.0.8.5

Oracle 临时补丁程序安装程序版本 11.1.0.8.5
版权所有 (c) 2011, Oracle Corporation。保留所有权利。


Oracle 主目录       : d:\Oracle\Middleware\Oracle_ODI1
主产品清单: C:\Program Files\Oracle\Inventory
   从           : n/a
OPatch 版本    : 11.1.0.8.5
OUI 版本       : 11.1.0.9.0
OUI 位置      : d:\Oracle\Middleware\Oracle_ODI1\oui
日志文件位置 : d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\opatch\opatch2011-11
-29_16-10-08下午.log

Patch history file: d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\opatch\opatch_h
istory.txt


OPatch detects the Middleware Home as "D:\Oracle\Middleware"

Lsinventory Output file location : d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\
opatch\lsinv\lsinventory2011-11-29_16-10-08下午.txt

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

已安装的顶级产品 (2):

Oracle Data Integrator 11g                                           11.1.1.5.0
Oracle Data Integrator Patchset                                      11.1.1.5.1
此 Oracle 主目录中已安装 2 个产品。


此 Oracle 主目录中未安装任何临时补丁程序。


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

5)调用OPatch apply 打patch,注意这个版本的OPatch auto暂时并不支持在Windows平台上使用。另外就是ocm.rsp文件可以使用参数 -ocmrf 进行指定(使用我们之前生成的response file文件。


E:\Download\ofm_odi_generic_11.1.1.5.0_disk1_1of1\p12798243_111150_Generic\12798
243\opatch\12798243>opatch.bat apply -jdk d:\Java\jdk1.6.0_27 -oh d:\Oracle\Midd
leware\Oracle_ODI1 -ocmrf d:\oracle\Middleware\Oracle_ODI1\OPatch\ocm\bin\ocm.rs
p
Invoking OPatch 11.1.0.8.5

Oracle 临时补丁程序安装程序版本 11.1.0.8.5
版权所有 (c) 2011, Oracle Corporation。保留所有权利。


Oracle 主目录       : d:\Oracle\Middleware\Oracle_ODI1
主产品清单: C:\Program Files\Oracle\Inventory
   从           : n/a
OPatch 版本    : 11.1.0.8.5
OUI 版本       : 11.1.0.9.0
OUI 位置      : d:\Oracle\Middleware\Oracle_ODI1\oui
日志文件位置 : d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\opatch\opatch2011-11
-29_16-38-20下午.log

Patch history file: d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\opatch\opatch_h
istory.txt


OPatch detects the Middleware Home as "D:\Oracle\Middleware"

ApplySession 将临时补丁程序 '12798243' 应用到 OH 'd:\Oracle\Middleware\Oracle_OD
I1'

Running prerequisite checks...

OPatch 从产品清单中检测到非集群 Oracle 主目录, 将仅对本地系统打补丁。


请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。
(Oracle 主目录 = 'd:\Oracle\Middleware\Oracle_ODI1')


本地系统是否已准备打补丁? [y|n]
y
User Responded with: Y
为 Oracle 主目录备份文件和产品清单 (不是用于自动回退)
正在备份受补丁程序 '12798243' 影响的文件以用于还原。此操作将需要一些时间...
正在备份受补丁程序 '12798243' 影响的文件以用于回退。此操作将需要一些时间...

正在为组件 oracle.odi.common, 11.1.1.5.0 打补丁...
将文件复制到 "d:\Oracle\Middleware\Oracle_ODI1\oracledi.common\odi\lib\odi-core.
jar"

正在为组件 oracle.odi.agent, 11.1.1.5.0 打补丁...
将文件复制到 "d:\Oracle\Middleware\Oracle_ODI1\oracledi.sdk\lib\odi-core.jar"

正在为组件 oracle.odi.studio, 11.1.1.5.0 打补丁...
将文件复制到 "d:\Oracle\Middleware\Oracle_ODI1\oracledi\client\jdev\extensions\o
racle.odi.navigator\lib\odi-core.jar"
ApplySession 将临时补丁程序 '12798243' 添加到产品清单

Verifying the update...
Inventory check OK: Patch ID 12798243 is registered in Oracle Home inventory wit
h proper meta-data.
Files check OK: Files from Patch ID 12798243 are present in Oracle Home.

本地系统已打补丁, 可以重新启动。


OPatch succeeded.


6)确定补丁打完之后,进行验证


E:\Download\ofm_odi_generic_11.1.1.5.0_disk1_1of1\p12798243_111150_Generic\12798
243\opatch\12798243>opatch lsinventory -oh d:\Oracle\Middleware\Oracle_ODI1
Invoking OPatch 11.1.0.8.5

Oracle 临时补丁程序安装程序版本 11.1.0.8.5
版权所有 (c) 2011, Oracle Corporation。保留所有权利。


Oracle 主目录       : d:\Oracle\Middleware\Oracle_ODI1
主产品清单: C:\Program Files\Oracle\Inventory
   从           : n/a
OPatch 版本    : 11.1.0.8.5
OUI 版本       : 11.1.0.9.0
OUI 位置      : d:\Oracle\Middleware\Oracle_ODI1\oui
日志文件位置 : d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\opatch\opatch2011-11
-29_16-39-40下午.log

Patch history file: d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\opatch\opatch_h
istory.txt


OPatch detects the Middleware Home as "D:\Oracle\Middleware"

Lsinventory Output file location : d:\Oracle\Middleware\Oracle_ODI1\cfgtoollogs\
opatch\lsinv\lsinventory2011-11-29_16-39-40下午.txt

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

已安装的顶级产品 (2):

Oracle Data Integrator 11g                                           11.1.1.5.0
Oracle Data Integrator Patchset                                      11.1.1.5.1
此 Oracle 主目录中已安装 2 个产品。


临时补丁程序 (1) :

Patch  12798243     : applied on Tue Nov 29 16:38:46 CST 2011
Unique Patch ID:  14166630
   Created on 5 Oct 2011, 13:21:47 hrs
   Bugs fixed:
     12798243



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


OPatch succeeded.

E:\Download\ofm_odi_generic_11.1.1.5.0_disk1_1of1\p12798243_111150_Generic\12798
243\opatch\12798243>


至此,在Windows上使用最新版本的OPatch给ODI打补丁完成。

This entry was posted in 数据库 and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *