ORACLE opatch命令学习实践

  opatch 是ORACLE开发的用来安装,卸载,检测patch冲突、管理ORACLE所有已经安装的补丁的工具,当然这是一个命令工具。opatch命令工具一般位于$ORACLE_HOME/OPatch/下,

1: 查看opatch帮助信息

一般可以用./opatch -help来查看帮助提示。不同版本的opatch的命令有所差异,通过help看到的信息估计有所出入。虽然opatch只有这几个命令,但是每个命令都有大量的参数,所以要完全掌握,还是需要花点时间去学习、实践。

[oracle@DB-Server OPatch]$ ./opatch -help
Invoking OPatch 10.2.0.4.2

Oracle Interim Patch Installer version 10.2.0.4.2
Copyright (c) 2007, Oracle Corporation.  All rights reserved.

Usage: opatch [ -help ] [ -r[eport] ] [ command ]

            command := apply
                       lsinventory
                       napply
                       nrollback
                       rollback
                       query
                       version
                       prereq
                       util

<global_arguments> := -help       Displays the help message for the command.
                       -report     Print the actions without executing.

example:
   'opatch -help'
   'opatch apply -help'
   'opatch lsinventory -help'
   'opatch napply -help'
   'opatch nrollback -help'
   'opatch rollback -help'
   'opatch prereq -help'
   'opatch util -help'

OPatch succeeded.

ORACLE 10g Release 2 官方文档关于opatch介绍http://docs.oracle.com/cd/B19306_01/em.102/b16227/oui8_opatch.htm ,里面关于opatch命令的介绍如下

Table 7-1 OPatch Commands


Command


Description


apply


Installs an interim patch. Refer to "apply Command" for more information.


napply


Installs n number of patches (hence napply). Refer to "napply Command" for more information.


auto


Applies Oracle Clusterware patches. Refer to "auto Command" for more information.


lsinventory


Lists what is currently installed on the system. Refer to "lsinventory Command" for more information.


query


Queries a given patch for specific details. Refer to "query Command" for more information.


rollback


Removes an interim patch. Refer to "rollback Command" for more information.


nrollback


Removes n number of patches (hence nrollback). Refer to "nrollback Command" for more information.


version


Prints the current version of the patch tool. Refer to "version Command" for more information.

关于opatch命令的详细文档信息其实可以查看 Users_Guide.txt & FAQ等

[oracle@DB-Server OPatch]$ ls

docs emdpatch.pl jlib opatch opatch.ini opatch.pl opatchprereqs

[oracle@DB-Server OPatch]$ cd docs/

[oracle@DB-Server docs]$ ls

FAQ Prereq_Users_Guide.txt Users_Guide.txt

2:查看opatch版本信息

[oracle@DB-Server OPatch]$ ./opatch version

Invoking OPatch 10.2.0.4.2

OPatch Version: 10.2.0.4.2

OPatch succeeded.

3:opatch 打补丁示例

以补丁p6074620_10204_Linux-x86-64.zip为例

Setp 1: 下载解压补丁文件

[oracle@DB-Server u04]$ unzip p6074620_10204_Linux-x86-64.zip

[oracle@DB-Server u04]$ cd 6074620/

Step 2: 关闭数据库实例

Step 3:查看补丁README.txt文件,了解注意事项

[oracle@DB-Server 6074620]$ more README.txt 
# 
#  WARNING: Failure to carefully read and understand these requirements may
#  result in your applying a patch that can cause  your Oracle Server to
#  malfunction, including interruption of service and/or loss of data. 
# 
#  If you do not meet all of the following requirements, please log an
#  iTAR, so that an Oracle Support Analyst may review your situation. The
#  Oracle analyst will help you determine if this patch is suitable for you
#  to apply to your system. We recommend that you avoid applying any
#  temporary patch unless directed by an Oracle Support Analyst who has
#  reviewed your system and determined that it is applicable. 
# 
#  Requirements: 
# 
#    - You must have located this patch via a Bug Database entry
#      and have the exact symptoms described in the bug entry. 
# 
#    - Your system configuration (Oracle Server version and patch
#      level, OS Version) must exactly match those in the bug
#      database entry - You must have NO OTHER PATCHES installed on
#      your Oracle Server since the latest patch set (or base release
#      x.y.z if you have no patch sets installed).
# 
#    - [Oracle 9.2.0.2 & above] 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
# 
#    - [IBM AIX O/S & Java patches for Oracle 9.2] 
#      In order to apply java class updates to IBM AIX based systems using 
#      java_131, you must update your java if you are running a version prior 
#      to Service Refresh build date 20030630a. This is 
#      necessary to fix IBM Defect#60472. 
# 
#      To identify which java build date you are on, enter the following 
#      command ; 
# 
#      > $ORACLE_HOME/jdk/bin/java -fullversion 
#      ... example response ... 
#      java full version "J2RE 1.3.1 IBM AIX build ca131-20030630a" 
# 
#      The string ends in the date format YYYYMMDD or YYYYMMDDa where 'a' 
#      indicates an updated release to the original build. You should always 
#      apply the latest AIX Java SDK 1.3.1  Service Update available from IBM. 
#      As a minimum, the above service refresh can be found under 
#      APAR IY47055. The signature for the updated JVM is ca131-20030630a. 
#      Information on the latest available fixes, as well as how to apply 
#      the APARs to your AIX systems, is available at the IBM Java site.
# 
#      If you are running AIX 5L, you can safely ignore any comment against
#      the APAR that says (AIXV43 only). The APAR is applicable to 
#      both AIX 4.3 and AIX 5L. 
# 
#      Once you have updated your java installation you need to copy these 
#      updated files to Oracle's copies in $ORACLE_HOME/jdk. 
#      As the Oracle owner, simply issue the following commands; 
# 
#      > cd /usr/java131 
#      > cp -fpR * $ORACLE_HOME/jdk 
# 
#
#  If you do NOT meet these requirements, or are not certain that you meet
#  these requirements, please log an iTAR requesting assistance with this
#  patch and Support will make a determination about whether you should
#  apply this patch. 
# 
#-------------------------------------------------------------------------
#  Interim Patch for Base Bugs: 6074620 
#-------------------------------------------------------------------------
#
#  DATE:  Thu Jan 29 22:43:53 2009
#  -------------------------------
#  Platform Patch for : Linux x86-64
#  Product Version #  : 10.2.0.4
#  Product Patched    : RDBMS
#
#  Bugs Fixed by this patch:
#  -------------------------
#  6074620:LGWR UNCONDITIONALLY WRITES TO TRACE FILE
#
#  Patch Installation Instructions:
#  --------------------------------
#  To apply the patch, unzip the PSE container file:
#
#  p6074620_10204_Linux-x86-64.zip
#
#  Set your current directory to the directory where the patch
#  is located:
#
#    % cd 6074620
#
#  Ensure that the directory containing the opatch script appears in
#  your $PATH; then enter the following command:
#
#    % opatch apply
#
#  Patch Special Instructions:
#  ---------------------------
#  Make sure all instances running under the ORACLE_HOME being patched
#  are cleanly shutdown before installing this patch. Also ensure that
#  the tool used to terminate the instance(s) has exited cleanly.
#
#  If the Oracle inventory is not setup correctly this utility will
#  fail. To check accessibility to the inventory you can use the
#  command
#
#    % opatch lsinventory
#
#  If you have any problems installing this PSE or are not sure
#  about inventory setup please call Oracle support.
#
#  Patch Deinstallation Instructions:
#  ----------------------------------
#  Use the following command:
#
#    % cd 6074620
#    % opatch rollback -id 6074620
#

Setp 4: opatch打补丁

[oracle@DB-Server 6074620]$ $ORACLE_HOME/OPatch/opatch apply
 
Invoking OPatch 10.2.0.4.2
 
Oracle Interim Patch Installer version 10.2.0.4.2
 
Copyright (c) 2007, Oracle Corporation. All rights reserved.
 
Oracle Home : /u01/app/oracle/product/10.2.0/db_1
 
Central Inventory : /u01/app/oracle/oraInventory
 
from : /etc/oraInst.loc
 
OPatch version : 10.2.0.4.2
 
OUI version : 10.2.0.4.0
 
OUI location : /u01/app/oracle/product/10.2.0/db_1/oui
 
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2014-04-11_17-02-01PM.log
 
ApplySession applying interim patch '6074620' to OH '/u01/app/oracle/product/10.2.0/db_1'
 
Running prerequisite checks...
 
OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
 
(Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')
 
Is the local system ready for patching? [y|n]
 
Could not recognize input. Please re-enter.
 
y
 
User Responded with: Y
 
Backing up files and inventory (not for auto-rollback) for the Oracle Home
 
Backing up files affected by the patch '6074620' for restore. This might take a while...
 
Backing up files affected by the patch '6074620' for rollback. This might take a while...
 
Patching component oracle.rdbms, 10.2.0.4.0...
 
Updating archive file "/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" with "lib/libserver10.a/kcrr.o"
 
Running make for target ioracle
 
ApplySession adding interim patch '6074620' to inventory
 
Verifying the update...
 
Inventory check OK: Patch ID 6074620 is registered in Oracle Home inventory with proper meta-data.
 
Files check OK: Files from Patch ID 6074620 are present in Oracle Home.
 
The local system has been patched and can be restarted.
 
OPatch succeeded.
 

5:opatch 查看补丁情况

[oracle@DB-Server OPatch]$ ./opatch lsinventory
 
Invoking OPatch 10.2.0.4.2
 
Oracle Interim Patch Installer version 10.2.0.4.2
 
Copyright (c) 2007, Oracle Corporation. All rights reserved.
 
Oracle Home : /u01/app/oracle/product/10.2.0/db_1
 
Central Inventory : /u01/app/oracle/oraInventory
 
from : /etc/oraInst.loc
 
OPatch version : 10.2.0.4.2
 
OUI version : 10.2.0.4.0
 
OUI location : /u01/app/oracle/product/10.2.0/db_1/oui
 
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2014-04-11_17-04-41PM.log
 
Lsinventory Output file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2014-04-11_17-04-41PM.txt
 
--------------------------------------------------------------------------------
 
Installed Top-level Products (2): 
 
Oracle Database 10g 10.2.0.1.0
 
Oracle Database 10g Release 2 Patch Set 3 10.2.0.4.0
 
There are 2 products installed in this Oracle Home.
 
Interim patches (1) :
 
Patch 6074620 : applied on Fri Apr 11 17:03:10 CST 2014
 
Created on 29 Jan 2009, 22:44:17 hrs US/Pacific
 
Bugs fixed:
 
6074620
 
--------------------------------------------------------------------------------
 
OPatch succeeded.
 

6:opatch 卸载补丁

[oracle@DB-Server OPatch]$ ./opatch rollback -id 9264253
 
Invoking OPatch 10.2.0.4.2
 
Oracle Interim Patch Installer version 10.2.0.4.2
 
Copyright (c) 2007, Oracle Corporation. All rights reserved.
 
Oracle Home : /u01/app/oracle/product/10.2.0/db_1
 
Central Inventory : /u01/app/oracle/oraInventory
 
from : /etc/oraInst.loc
 
OPatch version : 10.2.0.4.2
 
OUI version : 10.2.0.4.0
 
OUI location : /u01/app/oracle/product/10.2.0/db_1/oui
 
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2014-04-15_09-01-41AM.log
 
RollbackSession rolling back interim patch '9264253' from OH '/u01/app/oracle/product/10.2.0/db_1'
 
Running prerequisite checks...
 
OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.
 
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
 
(Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')
 
Is the local system ready for patching? [y|n]
 
y
 
User Responded with: Y
 
Backing up files affected by the patch '9264253' for restore. This might take a while...
 
Patching component oracle.rdbms, 10.2.0.4.0...
 
Updating archive file "/u01/app/oracle/product/10.2.0/db_1/lib/libserver10.a" with "lib/libserver10.a/ksu.o"
 
Running make for target ioracle
 
RollbackSession removing interim patch '9264253' from inventory
 
The local system has been patched and can be restarted.
 
OPatch succeeded.
 

时间: 2024-10-30 19:35:23

ORACLE opatch命令学习实践的相关文章

ORACLE性能诊断―学习statspack笔记(四)[扩展statspack收集服务器统计]

oracle|笔记|服务器|统计|性能 ORACLE性能诊断―学习statspack笔记(四)[扩展statspack收集服务器统计]   作者:刘颖博 时间:2004-3-22 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   说明:由于STATSPACK并不能获取全面分析性能问题所需要的所有信息,所以需要扩展其收集服务器的统计信息.(本文环境REDHAT Linux7.2)   VMSTAT介绍 通过STATSPACK收集服务器信息,主要通过收集VMSTAT

Nagios学习实践系列——配置研究[监控当前服务器]

其实上篇Nagios学习实践系列--基本安装篇只是安装了Nagios基本组件,虽然能够打开主页,但是如果不配置相关配置文件文件,那么左边菜单很多页面都打不开,相当于只是一个空壳子.接下来,我们来学习研究一下Nagios的配置,了解一下基本的配置和了解各类配置文件.   Nagios配置目录 Nagios的配置文件位于etc目录下(/usr/local/nagios/etc)如下图所示:   配置文件简介   配置文件名 功能描述 cgi.cfg 控制CGI访问的配置文件 nagios.cfg 主

Linux命令学习总结之rm命令_Linux

命令简介: rm命令用来删除Linux系统中的文件或目录.通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录.另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上.如果想要保证文件的内容无法复原,可以使用命令shred . 另外一般还是要慎用rm -rf *这样的命令. 执行权限 :All User 指令所在路径:/bin/rm 命令语法: rm [OPTION]... FI

ORACLE性能诊断―学习statspack笔记(一) [安装与测试]

oracle|笔记|性能 ORACLE性能诊断―学习statspack笔记(一)   作者:刘颖博 时间:2004-3-2 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   说明:oracle8.1.6开始引进statspack,statspack是诊断oracle性能的强有力的工具   安装前准备   A.首先是系统参数的确认: job_query_processes:为了建立自动任务,执行数据收集,该参数要大于0 time_statistics:为了收集操作

ORACLE性能诊断―学习statspack笔记(二)[概述]

oracle|笔记|性能 ORACLE性能诊断―学习statspack笔记(二)[概述]   作者:刘颖博 时间:2004-3-3 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   ORACLE性能诊断涉及对象   A.      服务器.网络以及磁盘(外部的环境) B.      实例(SGA,后台进程) C.      对象(表,索引,段--) D.     SQL E.      设计(指的是应用的设计,这部分一般说来是很难改变了)   ORACLE性能诊

ORACLE性能诊断―学习statspack笔记(三)[表的分类]

oracle|笔记|性能 ORACLE性能诊断―学习statspack笔记(三)[表的分类]   作者:刘颖博 时间:2004-3-10 mail:liuyingbo@126.com,请指正   转载请注明出处及作者   说明:STATSPACK并不能获取全面分析性能问题所需要的所有信息.特别是问题出在DISK,RAM,CPU以及NETWORK等数据库外部.   STATSPACK表的分类 A:控制表:stats$database_instance ,stats$snapshot B:参数表:s

Castle ActiveRecord学习实践(10) 深度分析Schema Pitfals

摘要:写这篇文章缘于昨天跟Linkin的一段聊天.我在使用ActiveRecord的一些技巧一文中的由实体类生成数据库表提到了这样一句话:生成数据库表时只有当该表不存在时ActiveRecord才会生成,否则表如果存在ActiveRecord不会做任何事情,也不会报任何错误.Linkin说他在实验时如果数据库表存在,ActiveRecord会删除表中的记录,其实这句话是在有些情况下是不对的,本篇文章将详细介绍Castle ActiveRecord中的Schema Pitfals. 主要内容 1.

tr命令学习(shell)

tr命令学习 关于tr t r用来从标准输入中通过替换或删除操作进行字符转换.t r主要用于删除文件中控制字符或进行字符转换.使用t r时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换. t r刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始. 下面讲述: QUOTE: " 大小写转换. " 去除控制字符. " 删除空行. 带有最常用选项的t r命令格式为: [Copy to clipboard] [ - ] CODE: t r - c -

tr命令学习

tr命令学习 关于tr t r用来从标准输入中通过替换或删除操作进行字符转换.t r主要用于删除文件中控制字符或进行字符转换.使用t r时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换. t r刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始. 下面讲述: QUOTE: " 大小写转换. " 去除控制字符. " 删除空行. 带有最常用选项的t r命令格式为: [Copy to clipboard] [ - ] CODE: t r - c -