首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 入门基础 >> 正文

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

在实际的工作和学习中,很多人都会发现有些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

【责编:Zenghui】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航