教你快速掌握如何使用"Opatch"打补丁

教你快速掌握如何使用"Opatch"打补丁
http://dev.21tx.com 2008年03月10日 赛迪网 李承良

在实际的工作和学习中,很多人都会发现有些Patch没有setup安装程序,本文中我们将详细的介绍如何使用Oracle的opatch工具来进行安装。

 

1、下载

 

Opatch的最新版本可以从Metalink下载,参考 Note:224346.1

 

(Opatch - Where Can I Find the Latest Version of Opatch?)

 

 

2、准备工作

 

# You must have Perl 5.00503 (or later)

 

# installed under the ORACLE_HOME, or elsewhere within the host

 

# environment. OPatch is no longer included in patches as of 9.2.0.2.

 

# Refer to the following link for details on Perl and OPatch:

 

# http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=189489.1

 

下载Optach后,上传到$ORACLE_HOME

 

[/app/oracle/product/9205/OPatch]$chmod 755 *

 

[/app/oracle/product/9205/OPatch]$ opatch version

 

Invoking OPatch 10.2.0.1.6

 

 

OPatch Version: 10.2.0.1.6

 

 

OPatch succeeded.

 

 

[/app/oracle/product/9205/OPatch]$ opatch lsinventory

 

Invoking OPatch 10.2.0.1.6

 

 

Oracle Interim Patch Installer version 10.2.0.1.6

 

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

 

 

Oracle Home : /app/oracle/product/9205

 

Central Inventory : /app/oracle/oraInventory

 

from : /var/opt/oracle/oraInst.loc

 

OPatch version : 10.2.0.1.6

 

OUI version : 10.1.0.5.0

 

OUI location : /app/oracle/product/9205/oui

 

Log file location : /app/oracle/product/9205/cfgtoollogs/opatch/opatch2008-02-20_15-27-23PM.log

 

 

LsInventorySession failed:

 

The Oracle Home does not meet OUI version requirement.

 

This OPatch (version 10.2.0.1.6) detects OUI version 10.1.0.5.0 in the home.

 

It requires OUI version 10.2 or above.

 

 

OPatch failed with error code 73

 

原因:Opatch的版本过高。

 

下载新的Opatch,重新执行opatch lsinventory

 

[/app/oracle/product/9205/OPatch]$ opatch lsinventory

 

Oracle Interim Patch Installer version 1.0.0.0.57

 

Copyright (c) 2007 Oracle Corporation. All Rights Reserved..

 

 

We recommend you refer to the OPatch documentation under

 

OPatch/docs for usage reference. We also recommend using

 

the latest OPatch version. For the latest OPatch version

 

and other support related issues, please refer to document

 

293369.1 which is viewable from metalink.oracle.com

 

 

Oracle Home : /app/oracle/product/9205

 

Oracle Home Inventory : /app/oracle/product/9205/inventory

 

Central Inventory : /app/oracle/oraInventory

 

from : /var/opt/oracle/oraInst.loc

 

OUI location : /app/oracle/product/9205/oui

 

OUI shared library : /app/oracle/product/9205/oui/lib/hpUnix/liboraInstaller.sl

 

Java location : /app/oracle/product/9205/jre/1.4.2/bin/java

 

Log file location : /app/oracle/product/9205/.patch_storage//*.log

 

 

Creating log file "/app/oracle/product/9205/.patch_storage/LsInventory__02-20-2008_15-42-43.log"

 

 

Result:

 

 

 

There is no Interim Patch

 

 

 

 

 

OPatch succeeded.

 

 

3、具体范例及遇到的问题

 

下面以打补丁5523799为例

 

[/app/oracle/product/9205/patches/5523799]$opatch apply

 

报错:

 

Invoking fuser to check for active processes.

 

 

Invoking fuser on "/app/oracle/product/9205/bin/oracle"

 

Problems when checking for files that are active.

 

There were problems when checking for active processes on critical files.

 

 

The patch tool runs the command "fuser" to check that critical files are not in use. Make sure 'fuser' is available and executable on your PATH

 

 

 

ERROR: OPatch failed during pre-reqs check.

 

原因为fuser没有执行权限,su - root

 

/usr/sbin#chmod +x fuser

 

重新命令,打Patch成功

 

用opatch lsinventory显示打patch结果

 

[/app/oracle/product/9205/OPatch]$ opatch lsinventory

 

 

Oracle Interim Patch Installer version 1.0.0.0.57

 

Copyright (c) 2007 Oracle Corporation. All Rights Reserved..

 

 

We recommend you refer to the OPatch documentation under

 

OPatch/docs for usage reference. We also recommend using

 

the latest OPatch version. For the latest OPatch version

 

and other support related issues, please refer to document

 

293369.1 which is viewable from metalink.oracle.com

 

 

Oracle Home : /app/oracle/product/9205

 

Oracle Home Inventory : /app/oracle/product/9205/inventory

 

Central Inventory : /app/oracle/oraInventory

 

from : /var/opt/oracle/oraInst.loc

 

OUI location : /app/oracle/product/9205/oui

 

OUI shared library : /app/oracle/product/9205/oui/lib/hpunix/liboraInstaller.sl

 

Java location : /app/oracle/product/9205/jre/1.4.2/bin/java

 

Log file location : /app/oracle/product/9205/.patch_storage//*.log

 

 

Creating log file "/app/oracle/product/9205/.patch_storage/LsInventory__02-20-2008_16-11-49.log"

 

 

Result:

 

 

 

Installed Patch List:

 

=====================

 

1) Patch 5523799 applied on Wed Feb 20 16:11:14 GMT+08:00 2008

 

[ Base Bug(s): 5523799 ]

 

OPatch succeeded.

 

 

4、最后通过opatch查看数据库各组件版本

 

[/app/oracle/product/9205/OPatch]$ opatch lsinventory –details

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值