ヘッダーをスキップ
Oracle Universal InstallerおよびOpatchユーザーズ・ガイド
10gリリース2(10.2) for Microsoft Windows and UNIX Systems
B19264-06
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

8 OPatchを使用したOracleソフトウェアへのパッチの適用

OPatchユーティリティは、Oracle製品への個別パッチの適用およびロールバックを可能にするツールです。この章では、OPatchを使用したパッチの適用に関する情報を示します。この章の内容は次のとおりです。

個別パッチについて

パッチは、既存のインストールにコピーされるファイルの小さな集合です。パッチはOracle製品の特定のバージョンに関連付けられています。インストール済の対応バージョンの製品にパッチを適用すると、製品のバージョンがアップグレードされます。個別パッチは、特定のバグに対して顧客が使用可能なバグ修正です。個別パッチを適用するには、特定のベース・リリースまたはパッチ・セットがインストールされている必要があります。これらは一般に、特定の顧客の特定のバグに対処します。これらのパッチはバージョン管理されず、一般に将来のパッチ・セットおよび次の製品リリースで使用可能になります。

個別パッチの構造

個別パッチは一般にZIP形式で提供されます。パッチを適用する前に解凍する必要があります。次の図に、個別パッチの構造を示します。

図8-1 個別パッチの構造

個別パッチの構造を示す図

個別パッチの内容は次のとおりです。

個別パッチのバージョン

OPatch 10.2では、パッチのバージョン管理がサポートされます。(同じパッチIDを持つ)同じパッチに2つ以上の異なるバージョンを使用できます。このバージョン情報は、OPatchメタデータに格納されます。メタデータには、パッチのバージョン情報を格納するタグdate_of_patchがあります。タグのサンプルを次に示します。

<date_of_patch year="YYYY" month="mmm" day="Day" time="Time" zone="TimeZone"/>:
Date on which the patch was created

このタグは、Oracleによりパッチが作成された時刻を記録します。後で同じパッチが作成された場合は、このタグにその時刻が記録されます。


注意:

このバージョン情報は、Oracleによるパッチの作成時刻であり、ホストにパッチが適用された時刻ではありません。

たとえば、IDが300200で、パッチ・メタデータのdate_of_patchタグが次のようなパッチについて考えます。

<date_of_patch year="2008" month="Dec" day="23" time="04:57:13 hrs" zone="US/Eastern"/>

OPatchでは、このバージョンのパッチが2008年12月23日の04:57:13に作成されたとみなします。個別パッチをOracleホームに適用した場合、OPatchは情報を$ORACLE_HOME/.patch_storageディレクトリに格納します。このディレクトリ内には、Oracleホームに適用されたパッチごとに別々のディレクトリが作成されます。システムでは一度に1バージョンのパッチのみを適用できます。

opatch lsinventory -detailコマンドを実行し、出力でパッチの場所の記憶領域情報を探すことで、パッチ情報ディレクトリの場所を特定できます。次に例を示します。

Patch Location in Storage area:
/home1/HOMEtoiir571/.patch_storage/300200_Dec_23_2008_04_57_13

次の場所に、解凍したバージョンのパッチもあります。

$ORACLE_HOME/.patch_storage/<patch_id_timestamp>/original_patch

個別パッチの入手

オラクル社では、バグまたは一連のバグを修正するために個別パッチを頻繁にリリースします。個別パッチは、My Oracle Support(以前のMetalink)の次の場所でパッチIDを指定して入手できます。

http://www.oracle.com/support/metalink/index.html

OPatchについて

OPatchはOracleが提供するユーティリティであり、Oracleのソフトウェアに個別パッチを適用するプロセスを支援します。OPatchは、Oracle Universal Installerのインストールを必要とするJavaベースのユーティリティです。プラットフォームに依存しないこのユーティリティは、サポートされるすべてのオペレーティング・システムで機能します。

OPatchでは次の処理がサポートされます。

OPatchの要件

OPatchユーティリティには次のことが必要です。

OPatchの特長

OPatch 10.2ユーティリティには次の特長があります。

OPatchの前提条件チェック

OPatchを起動する前に、次の前提条件チェックを実行します。

ORACLE_HOMEおよび環境変数のチェック

OPatchは、Oracleホームが存在するかどうかを確認します。環境変数ORACLE_HOMEが、パッチを適用しようとしている製品のOracleホームに設定されていることを確認する必要があります。環境変数の設定の詳細は、それぞれのベンダーのドキュメントを確認してください。

JREおよびJDKのチェック

OPatchが正しく動作するにはJDK 1.4以上が必要です。JREはJDKの一部として提供されます。

OPatch 10.2は、jar、warおよびear操作についてJDKに付属のjarユーティリティを使用します。OPatchは、指定されたOracleホーム内でJDKを検索します。OracleホームにJDKがない場合、ユーザーはOPatchで-jdkオプションを使用して別の場所を指定する必要があります。jar/war/ear操作があり、Java SDKの場所を特定できない場合、OPatchはエラーを表示します。

インストールされているJDKのバージョンを探すには、次のコマンドを実行します。

JDK/bin/java -version

注意:

適用しているパッチにjarアクションがない場合、JDKは不要であり、OPatchはJREのみで正常に動作します。

システム領域のチェック

OPatchは、パッチのインストール用スクリプトを処理すると同時に、ロールバック・スクリプトを生成し、パッチの適用時に編集または削除されたすべてのファイルのコピーを保存します。OPatchは、インベントリ情報もバックアップします。このため、パッチおよびバックアップ情報を十分に収容できるシステム領域を確保することをお薦めします。

Oracle Universal InstallerとOPatchのバージョン互換性のチェック

OPatch 10.2が正しく動作するにはOracle Universal Installer 10.2以上が必要です。Oracle Universal Installerのバージョンが、OPatchで必要とされるより前のバージョン場合、OPatchはエラーになります。

オペレーティング・システムで適用できるパッチのチェック

OPatchは、特定のパッチがオペレーティング・システムに適用可能かどうかを検出します。適用可能でない場合は、適切なエラー・メッセージを生成します。

システム・コマンドのチェック

OPatchでは、ソフトウェアの様々な操作に使用されるプロパティのセットがサポートされています。これらのプロパティを使用して、OPatchの内部動作を制御できます。デフォルトでは、OPatchは標準のJavaプロパティ形式を指定してプロパティを指定します。デフォルト・プロパティおよびその値の完全なリストを次に示します。

fuser=/sbin:/usr/sbin

ar=/usr/ccs/bin/

make=/usr/bin

OPatchのプロパティは次の方法で指定できます。

  • デフォルトのOPatchプロパティを使用します。

  • ユーザー定義プロパティ・ファイルの場所を指定します。

  • コマンドラインを使用します。構文は次のとおりです。

    PROPERTY_NAME=VALUE
    

    例: fuser=/sbin:/usr/sbin

Real Application Clustersでの追加の前提条件チェック

Real Application Clustersの場合は、上の項でリストしたチェックに加えて、次の前提条件チェックを実行してください。

ユーザー等価のチェック

クラスタ・マシンに、Oracleクラスタウェア/Real Application Clustersをインストールしているユーザーのユーザー等価が設定されていることを確認する必要があります。UNIXでは、クラスタ・マシンにrshまたはsh、あるいはその両方が設定されている必要があります。Windowsでは、同じ<domain>\<user>がすべてのクラスタ・マシンに対する管理権限を持つ必要があり、マシンが<domain>のメンバーである必要があります。

ユーザー等価が正しく設定されている場合は、次のコマンドが正常に動作します。

$ rsh <nodename> date

ユーザー等価の設定の詳細は、「すべてのクラスタ・ノードでのSSHの構成」を参照してください。

OPatch lsinventoryのチェック

opatch lsinventory -detailコマンドを起動でき、出力されるノード情報を参照できることを確認してください。コマンドの出力のサンプル・リスティングを次に示します。

Oracle interim Patch Installer version 10.2.0.4.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/racqa/102_twork/toii/toiir/toiir571/HOMEtoiir571
Central Inventory : /home/racqa/102_twork/toii/toiir/toiir571/inventory
   from           : /home/racqa/102_
twork/toii/toiir/toiir571/HOMEtoiir571/oraInst.loc
OPatch version    : 10.2.0.4.6
OUI version       : 10.2.0.4.6
OUI location      : /home/racqa/102_twork/toii/toiir/toiir571/HOMEtoiir571/oui
Log file location : /home/racqa/102_
twork/toii/toiir/toiir571/HOMEtoiir571/cfgtoollogs/opatch/opatch-2008_May_30_
01-04-52-PDT_Mon.log
Lsinventory Output file location : /home1/racqa/102_
twork/toii/toiir/toiir571/HOMEtoiir571/cfgtoollogs/opatch/lsinv/lsinventory-2008_
May_30_01-04-52-PDT_Mon.txt
--------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 10g                                                  10.2.0.4.6
There are 1 products installed in this Oracle Home.
Installed Products (151):
Advanced Queueing (AQ) API                                           10.2.0.4.6
Advanced Replication                                                 10.2.0.4.6
Agent Required Support Files                                         10.2.0.4.6
Assistant Common Files                                               10.2.0.4.6
Authentication and Encryption                                        10.2.0.4.6
Bali Share                                                           1.1.18.0.0
Character Set Migration Utility                                      10.2.0.4.6
CSS Single-instance Common Files                                     10.2.0.4.6
Data Management Services Common Files                                10.2.0.4.6
Database Configuration Assistant                                     10.2.0.4.6
Database SQL Scripts                                                 10.2.0.4.6
Database Upgrade Assistant                                           10.2.0.4.6
Database Verify Utility                                              10.2.0.4.6
Database Workspace Manager                                           10.2.0.4.6
DBJAVA Required Support Files                                        10.2.0.4.6
Documentation Required Support Files                                 10.2.0.4.6
Enterprise Edition Options                                           10.2.0.4.6
Enterprise Manager Agent                                             10.2.0.4.6
Enterprise Manager Common Files                                      10.2.0.4.6
Enterprise Manager Minimal Integration                               10.2.0.4.6
Enterprise Manager plugin Common Files                               10.2.0.4.6
Enterprise Manager Repository                                        10.2.0.4.6
Export/Import                                                        10.2.0.4.6
Extended Windowing Toolkit                                           3.3.18.0.0
Generic Connectivity Common Files                                    10.2.0.4.6
Generic Connectivity Using ODBC                                      10.2.0.4.6
Installation Common Files                                            10.2.0.4.6
Installer SDK Component                                              10.2.0.1.0
iSQL*Plus                                                            10.2.0.4.6
Java Naming and Directory Interface Libraries                        10.2.0.4.6
Java Runtime Environment                                              1.4.2.0.0
JDBC Common Files                                                    10.2.0.4.6
JDBC/OCI Common Files                                                10.2.0.4.6
JDBC/OCI Common Files for Instant Client                             10.2.0.4.6
LDAP Required Support Files                                          10.2.0.4.6
New Database ID                                                      10.2.0.4.6
Object Type Translator                                               10.2.0.4.6
Oracle Advanced Security                                             10.2.0.4.6
Oracle C++ Call Interface                                            10.2.0.4.6
Oracle C++ Call Interface for Instant Client                         10.2.0.4.6
Oracle Call Interface (OCI)                                          10.2.0.4.6
Oracle Client Required Support Files                                 10.2.0.4.6
Oracle Code Editor                                                   1.2.1.0.0I
Oracle Containers for Java                                           10.2.0.4.6
Oracle Core Required Support Files                                   10.2.0.4.6
Oracle Data Mining                                                   10.2.0.4.6
Oracle Database 10g                                                  10.2.0.4.6
Oracle Database 10g                                                  10.2.0.4.6
Oracle Database User Interface                                       2.2.13.0.0
Oracle Database Utilities                                            10.2.0.4.6
Oracle Development Kit                                               10.2.0.4.6
Oracle Display Fonts                                                  9.0.2.0.0
Oracle Enterprise Manager 10g Database Control                       10.2.0.4.6
Oracle Enterprise Manager Console DB                                 10.2.0.4.6
Oracle Extended Windowing Toolkit                                    3.4.28.0.0
Oracle Globalization Support                                         10.2.0.4.6
Oracle Help For Java                                                 4.2.5.0.0a
Oracle Help for the  Web                                             1.1.7.0.0a
Oracle Ice Browser                                                    5.2.3.3.0
Oracle interMedia                                                    10.2.0.4.6
Oracle interMedia Annotator                                          10.2.0.4.6
Oracle interMedia Audio                                              10.2.0.4.6
Oracle interMedia Client Compatibility Files                         10.2.0.4.6
Oracle interMedia Client Demos                                       10.2.0.4.6
Oracle interMedia Client Option                                      10.2.0.4.6
Oracle interMedia Common Files                                       10.2.0.4.6
Oracle interMedia Image                                              10.2.0.4.6
Oracle interMedia Java Advanced Imaging                              10.2.0.4.6
Oracle interMedia Java Client                                        10.2.0.4.6
Oracle interMedia Locator                                            10.2.0.4.6
Oracle interMedia Video                                              10.2.0.4.6
Oracle interMedia Web Client                                         10.2.0.4.6
Oracle Internet Directory Client                                     10.2.0.4.6
Oracle Internet Directory Client Common Files                        10.2.0.4.6
Oracle Internet Directory Tools                                      10.2.0.4.6
Oracle Java Tools                                                    10.2.0.4.6
Oracle JDBC Thin Driver for JDK 1.2                                  10.2.0.4.6
Oracle JDBC Thin Driver for JDK 1.4                                  10.2.0.4.6
Oracle JDBC Thin Driver for JDK 1.4 for Instant Client               10.2.0.4.6
Oracle JDBC/OCI Driver for JDK 1.4                                   10.2.0.4.6
Oracle JFC Extended Windowing Toolkit                                4.2.18.0.0
Oracle JVM                                                           10.2.0.4.6
Oracle Locale Builder                                                10.2.0.4.6
Oracle Message Gateway Common Files                                  10.2.0.4.6
Oracle Net                                                           10.2.0.4.6
Oracle Net Configuration Assistant                                   10.2.0.4.6
Oracle Net Listener                                                  10.2.0.4.6
Oracle Net Manager                                                   10.2.0.4.6
Oracle Net Required Support Files                                    10.2.0.4.6
Oracle Net Services                                                  10.2.0.4.6
Oracle Notification Service                                           9.0.4.0.0
Oracle OLAP                                                          10.2.0.4.6
Oracle OLAP API                                                      10.2.0.4.6
Oracle OLAP Catalog                                                  10.2.0.4.6
Oracle One-Off Patch Installer                                       10.2.0.1.0
Oracle Partitioning                                                  10.2.0.4.6
Oracle Programmer                                                    10.2.0.4.6
Oracle RAC Required Support Files                                    10.2.0.4.6
Oracle RAC Required Support Files-HAS                                10.2.0.4.6
Oracle Real Application Clusters                                     10.2.0.4.6
Oracle Spatial                                                       10.2.0.4.6
Oracle Starter Database                                              10.2.0.4.6
Oracle Text                                                          10.2.0.4.6
Oracle UIX                                                          2.1.21.0.0a
Oracle Ultra Search Common Files                                     10.2.0.4.6
Oracle Ultra Search Middle-Tier                                      10.2.0.4.6
Oracle Ultra Search Server                                           10.2.0.4.6
Oracle Universal Installer                                           10.2.0.1.0
Oracle Wallet Manager                                                10.2.0.4.6
Oracle XML Developer's Kit                                           10.2.0.4.6
Oracle XML Runtime Components                                        10.2.0.4.6
Oracle XML SQL Utility                                               10.2.0.4.6
Oracle10g Real Application Clusters Common Files                     10.2.0.4.6
Parser Generator Required Support Files                              10.2.0.4.6
Perl Interpreter                                                     5.6.1.0.2d
PL/SQL                                                               10.2.0.4.6
PL/SQL Embedded Gateway                                              10.2.0.4.6
PL/SQL Required Support Files                                        10.2.0.4.6
Platform Required Support Files                                      10.2.0.4.6
Precompiler Common Files                                             10.2.0.4.6
Precompiler Required Support Files                                   10.2.0.4.6
Pro*C/C++                                                            10.2.0.4.6
RDBMS Required Support Files                                         10.2.0.4.6
Recovery Manager                                                     10.2.0.4.6
regexp                                                                2.1.9.0.0
Required Support Files                                               10.2.0.4.6
Sample Schema                                                        10.2.0.4.6
Secure Socket Layer                                                  10.2.0.4.6
Secure Socket Layer                                                  10.2.0.4.6
SQL*Loader                                                           10.2.0.4.6
SQL*Plus                                                             10.2.0.4.6
SQL*Plus Required Support Files                                      10.2.0.4.6
SQLJ Runtime                                                         10.2.0.4.6
SSL Required Support Files                                           10.2.0.4.6
SSL Required Support Files for InstantClient                         10.2.0.4.6
Sun JDK                                                               1.4.2.0.0
Sun JDK extensions                                                    9.0.4.0.0
Utilities Common Files                                               10.2.0.4.6
Visigenics ORB                                                        3.4.0.0.0
XDK Required Support Files                                           10.2.0.4.6
XML                                                                  10.2.0.4.6
XML Class Generator for C++                                          10.2.0.4.6
XML Class Generator for Java                                         10.2.0.4.6
XML Parser for C                                                     10.2.0.4.6
XML Parser for C++                                                   10.2.0.4.6
XML Parser for Java                                                  10.2.0.4.6
XML Parser for Oracle JVM                                            10.2.0.4.6
XML Parser for PL/SQL                                                10.2.0.4.6
XML Transviewer Beans                                                10.2.0.4.6
XML Transx                                                           10.2.0.4.6
XSQL Servlet                                                         10.2.0.4.6
There are 151 products installed in this Oracle Home.
Intermin patches (1) :
Patch  3811942      : applied on Mon May 30 00:59:33 PDT 2008
   Created on 31 Aug 2007, 12:06:28 hrs US/Pacific
   Bugs fixed:
     3811942
   Files Touched:
     /hosp.o --> ORACLE_HOME/lib/libagent10.a
     /pesblt.o --> ORACLE_HOME/lib/libpls10.a
     /kgl.o --> ORACLE_HOME/lib/libgeneric10.a
     /qcpi6.o --> ORACLE_HOME/lib/libgeneric10.a
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/iextjob
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/iextjobo
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/client_sharedlib
     /hosp.o --> ORACLE_HOME/lib/libserver10.a
     /prse.o --> ORACLE_HOME/lib/libserver10.a
     /prsa.o --> ORACLE_HOME/lib/libserver10.a
     /prsf.o --> ORACLE_HOME/lib/libserver10.a
     /prssz.o --> ORACLE_HOME/lib/libserver10.a
     /kprc.o --> ORACLE_HOME/lib/libserver10.a
     /qmhdr.o --> ORACLE_HOME/lib/libserver10.a
     /pesblt.o --> ORACLE_HOME/lib/libpls10.a
     /qcpi6.o --> ORACLE_HOME/lib/libgeneric10.a
     prvtpexp.plb --> ORACLE_HOME/rdbms/admin/prvtpexp.plb
     sjsex.o --> ORACLE_HOME/rdbms/lib/sjsex.o
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/iextjob
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/iextjobo
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/ioracle
     ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/client_sharedlib
     driload.pkh --> ORACLE_HOME/ctx/admin/driload.pkh
     /oracle/sysman/assistants/util/em/EMConfigStep.class --> ORACLE_
HOME/assistants/jlib/assistantsCommon.jar
     /oracle/sysman/assistants/util/sqlEngine/SQLEngine.class --> ORACLE_
HOME/assistants/jlib/assistantsCommon.jar
     /oracle/sysman/assistants/dbca/backend/DBEntryStep.class --> ORACLE_
HOME/assistants/dbca/jlib/dbca.jar
     /oracle/sysman/assistants/dbca/backend/EMConfigStep.class --> ORACLE_
HOME/assistants/dbca/jlib/dbca.jar
     /oracle/sysman/assistants/dbca/backend/PostDBCreationStep.class --> ORACLE_
HOME/assistants/dbca/jlib/dbca.jar
     /oracle/sysman/emcp/EMConfig.class --> ORACLE_HOME/jlib/emca.jar
     /oracle/sysman/emcp/IEMCAConstants.class --> ORACLE_HOME/jlib/emca.jar
     /oracle/sysman/emcp/EMConfig.class --> ORACLE_HOME/sysman/jlib/emCORE.jar
     /oracle/sysman/emcp/IEMCAConstants.class --> ORACLE_
HOME/sysman/jlib/emCORE.jar
     /oracle/sysman/emSDK/conf/ConfigManager.class --> ORACLE_
HOME/sysman/jlib/emCORE.jar
     /oracle/sysman/emSDK/eml/EmlConstants.class --> ORACLE_
HOME/sysman/jlib/emCORE.jar
     /oracle/sysman/util/pref/PrefUtil.class --> ORACLE_
HOME/sysman/jlib/emCORE.jar
     emctl.pl --> ORACLE_HOME/emdw/bin/emctl.pl
     /ncrfipm.o --> ORACLE_HOME/lib/libnro10.a
     libsqlplus.a --> ORACLE_HOME/lib/libsqlplus.a
     libsqlplus.so --> ORACLE_HOME/lib/libsqlplus.so
     libisqlplus.a --> ORACLE_HOME/lib/libisqlplus.a
     libisqlplus.so --> ORACLE_HOME/lib/libisqlplus.so
     mdprivs.sql --> ORACLE_HOME/md/admin/mdprivs.sql
     prvtgmd.plb --> ORACLE_HOME/md/admin/prvtgmd.plb
     sdolrsmd.sql --> ORACLE_HOME/md/admin/sdolrsmd.sql
     prvtccbk.plb --> ORACLE_HOME/md/admin/prvtccbk.plb
     wk0acl.pkh --> ORACLE_HOME/ultrasearch/admin/wk0acl.pkh
     wk0acl.plb --> ORACLE_HOME/ultrasearch/admin/wk0acl.plb
     wk0adm.pkh --> ORACLE_HOME/ultrasearch/admin/wk0adm.pkh
     wk0adm.plb --> ORACLE_HOME/ultrasearch/admin/wk0adm.plb
     wk0snapshot.plb --> ORACLE_HOME/ultrasearch/admin/wk0snapshot.plb
     wk0util.pkh --> ORACLE_HOME/ultrasearch/admin/wk0util.pkh
     wk0util.plb --> ORACLE_HOME/ultrasearch/admin/wk0util.plb
   Patch Location in Inventory:
     /home1/racqa/102_
twork/toii/toiir/toiir571/HOMEtoiir571/inventory/oneoffs/3811942
   Patch Location in Storage area:
     /home1/racqa/102_twork/toii/toiir/toiir571/HOMEtoiir571/.patch_
storage/3811942_Aug_31_2007_12_06_28
Rac system comprising of multiple nodes
  Local node = stadu56
  Remote node = stacg16
--------------------------------------------------------------------------------
OPatch succeeded.

ノード情報が正しく出力されない場合は、ノード・リストを更新する必要があります。ノード・リストの更新の詳細は、「クラスタのノードの更新」を参照してください。

パッチ適用時のバックアップおよびリカバリの考慮事項

ORACLE_HOMEは、任意の方法でバックアップできます。ORACLE_HOMEは、zipcp -rtarcpioなどの任意の形式を使用して圧縮できます。

opatch lsinventory -detailの実行時にORACLE_HOMEが表示されない場合は、セントラル・インベントリにORACLE_HOMEがないか、セントラル・インベントリ自体が失われたか破損している可能性があります。

opatch lsinventory -detailコマンドの実行時にORACLE_HOMEがリストされても、ORACLE_HOME内の製品およびコンポーネントがリストされない場合は、ORACLE_HOME内のインベントリ(ローカル・インベントリ)が失われたか破損している可能性があります。

ローカル・インベントリがなんらかの理由で破損または消失した場合は、ORACLE_HOME/inventoryをリストアできます(バックアップされている場合)。バックアップが存在しない場合は、ソフトウェアを再インストールする必要があります。

パッチ操作を実行する前に、ORACLE_HOMEをバックアップすることを強くお薦めします。

OPatchユーティリティでの操作およびオプション

OPatchユーティリティは、<Path_to_Oracle_Home>/OPatchディレクトリにあります。様々なオプションおよびコマンドライン引数を指定して実行されます。次のコマンドは、OPatchユーティリティの構文を示しています。

<Path_to_OPatch>/opatch <option> [-command_line_arguments]

上のコマンドでは、次の変数が使用されています。

表8-1 OPatchオプション

オプション 説明

apply

個別パッチをインストールします。詳細は、「applyオプション」を参照してください。

lsinventory

システムに現在何がインストールされているかをリストします。詳細は、「lsinventoryオプション」を参照してください。

query

特定のパッチの詳細を問い合せます。詳細は、「queryオプション」を参照してください。

rollback

個別パッチを削除します。詳細は、「rollbackオプション」を参照してください。

version

パッチ・ツールの現在のバージョンを出力します。詳細は、「versionオプション」を参照してください。


任意のオプションの追加情報を表示するには、次のコマンドを使用します。

<Path_to_OPatch>/opatch option -help

Perlを使用している場合は、次のコマンドを使用します。

perl opatch.pl option -help

applyオプション

applyオプションは、指定されたOracleホームに個別パッチを適用します。環境変数ORACLE_HOMEは、パッチを適用するOracleホームに設定する必要があります。このオプションには次の構文を使用します。

<Path_to_OPatch>/opatch apply [-delay (value)] [-force] \
[-invPtrLoc (path)] [-jdk (location)] [-jre (location)] [-local] \
[-minimize_downtime] [-no_bug_superset] [-no_inventory] \
[-oh (Oracle Home location)] \
[-post (options to be passed into post) [-opatch_post_end]]\
[-pre (options to be passed into pre) [-opatch_pre_end]] \
[-retry (value)] [-silent] [-verbose] [-no_relink] \ [-no_sysmod (patch
 location)][-remote_nodes (comma separated node names)][-local_node (node
_name)][patch_location]

次の表に、applyオプションで使用できるコマンドライン引数をリストします。

表8-2 applyオプションのコマンドライン引数

コマンドライン引数 説明

delay

インベントリのロックに失敗した場合に、次のインベントリ・ロックを試行する前に待機する秒数を指定します。このオプションは、-retryオプションが指定されている場合にのみ使用できます。

force

競合するパッチをシステムから削除します。パッチの適用を妨げる競合が存在する場合、-forceコマンドライン引数を使用してパッチを適用できます。

invPtrLoc

oraInst.locファイルの場所を指定します。このコマンドライン引数は、インストール時に-invPtrLoc引数が使用された場合に必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jdk

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJDK(jar)の場所を指定します。-jdkオプションと-jreオプションは同時に使用できません。

jre

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJRE(Java)の場所を指定します。-jdkオプションと-jreオプションは同時に使用できません。

local

OPatchユーティリティがローカル・ノードにパッチを適用し、ローカル・ノードのインベントリを更新することを指定します。パッチまたはインベントリ更新は他のノードに伝播されません。

このコマンドライン引数は、Oracle Real Application Clusters環境および非クラスタ化環境で使用できます。パッチを適用する前にクラスタ全体が停止している場合は、非ローリング・パッチにこの引数を使用できます。

local_node

OPatchユーティリティにこのクラスタのローカル・ノードを指定します。

このコマンドライン引数は、Oracle Real Application Clusters環境で使用できます。

minimize_downtime

OPatchユーティリティによりパッチが適用されるノードの順序を指定します。

このコマンドライン引数は、Oracle Real Application Clusters環境にのみ適用できます。-localコマンドライン引数またはローリング・パッチとともに使用することはできません。

no_bug_superset

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合は、エラーにすることを指定します。

no_inventory

インベントリの読取りおよび更新を省略します。このコマンドライン引数を-localコマンドライン引数とともに使用することはできません。このコマンドライン引数は、インストールを未サポート状態にします。

no_sysmod

OPatchユーティリティでシステム内のファイルを更新する必要がないことを指定します。インベントリのみを更新します。

no_relink

このオプションは、make操作を実行しません。複数パッチの適用中に、リンク手順を1回のみ実行するために使用できます。OPatchは、実行しなかったmake操作を追跡しません。コンパイルの最後に、このオプションを使用せずにOPatchを実行する必要があります。

oh

デフォルトのかわりに使用するOracleホーム・ディレクトリを指定します。

opatch_post_end

postオプションの終わりを示します。このコマンドライン引数は、postコマンドライン引数とともに使用されます。この引数が使用されていない場合は、postの後のすべての文字列がpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。このコマンドライン引数は、preコマンドライン引数とともに使用されます。この引数が使用されていない場合は、preの後のすべての文字列がpreに渡されます。

post

標準パラメータの他にpostスクリプト内で渡すパラメータを指定します。

pre

標準パラメータの他にpreスクリプト内で渡すパラメータを指定します。

remote_nodes

OPatchユーティリティにリモート・ノードのリストを指定します。

このコマンドライン引数は、Oracle Real Application Clusters環境で使用できます。

report

アクションを実行せずに画面に出力します。

retry

インベントリのロックに失敗した場合にOPatchユーティリティが試行する必要のある回数を指定します。

silent

ユーザーとの対話を抑止し、回答をデフォルトでyesに設定します。

verbose

画面およびログ・ファイルに出力します。



注意:

パッチがSQL変更から構成される場合は、SQLスクリプトを適用するパッチに含まれているパッチのREADMEの手順に従ってください。

lsinventoryオプション

lsinventoryオプションは、特定のOracleホーム・ディレクトリまたはすべてのインストールについて、システムに何がインストールされているかをレポートします。このオプションには次の構文を使用します。

次の表に、lsinventoryオプションで使用できるコマンドライン引数をリストします。

<Path_to_OPatch>/opatch lsinventory [-all] [-bugs_fixed asc|desc] [-delay (value)]
[-detail] [-invPrtLoc (path)] \
[-jre (location)] [-patch asc|desc] [-oh (Oracle Home location)] [-retry (value)]

コマンド・オプションの説明は、表8-3を参照してください。

-detailオプションの例

次の例では、opatch lsinventory -detailの出力を示します。

Oracle interim Patch Installer version 10.2.0.4.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/10.2.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/10.2.0/db_1/oraInst.loc
OPatch version    : 10.2.0.4.6
OUI version       : 10.2.0.4.6
OUI location      : /home/oracle_TEST/product/10.2.0/db_1/oui
Log file location : /home/oracle_
TEST/product/10.2.0/db1/cfgtoollogs/opatch/opatch-2008_May_25_11-09-34-IST_Wed.log
Patch history file: /scratch/userid/newDB/cfgtoollogs/opatch/opatch_history.txt
Lsinventory Output file location : /home/oracle_TEST/product/10.2.0/db_
1/cfgtoollogs/opatch/lsinv/lsinventory-2008_May_25_11-09-34-IST_Wed.txt
 --------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 10g                                                  10.2.0.4.6
There are 1 products installed in this Oracle Home.
Installed Products (10):
Agent Required Support Files                                         10.2.0.4.6
Assistant Common Files                                               10.2.0.4.6
Bali Share                                                           1.1.18.0.0
Buildtools Common Files                                              10.2.0.4.6
Character Set Migration Utility                                      10.2.0.4.6
Database Configuration and Upgrade Assistants                        10.2.0.4.6
Database SQL Scripts                                                 10.2.0.4.6
Database Workspace Manager                                           10.2.0.4.6
DBJAVA Required Support Files                                        10.2.0.4.6
Enterprise Edition Options                                           10.2.0.4.6
There are 10 products installed in this Oracle Home.
Intermin patches (1) :
Patch  111000       : applied on Mon May 23 19:44:08 IST 2008
Created on 27 Jul 2007, 05:43:46 hrs PST8PDT
Bugs fixed: 111000
Files Touched:
/qmtest.o --> ORACLE_HOME/lib/libserver11.a
libmapsym.so --> ORACLE_HOME/lib/libmapsym.so
ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/ioracle
/oracle/xml/jaxb/orajaxb.class --> ORACLE_HOME/lib/xml.jar
Patch Location in Inventory:
/home/oracle_TEST/product/10.2.0/db_1/inventory/oneoffs/111000
Patch Location in Storage area:
/home/oracle_TEST/product/10.2.0/db_1/.patch_storage/111000_Jul_27_2007_05_43_46
 --------------------------------------------------------------------------------
 OPatch succeeded.

-bugs_fixedオプションの例

次の例では、opatch lsinventory -bugs_fixed ascの出力を示します。

Oracle interim Patch Installer version 10.2.0.4.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/10.2.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/10.2.0/db_1/oraInst.loc
OPatch version    : 10.2.0.4.6
OUI version       : 10.2.0.4.6
OUI location      : /home/oracle_TEST/product/10.2.0/db_1/oui
Log file location : /home/oracle_
TEST/product/10.2.0/db1/cfgtoollogs/opatch/opatch-2008_May_25_11-09-34-IST_Wed.log
Patch history file: /scratch/userid/newDB/cfgtoollogs/opatch/opatch_history.txt
Lsinventory Output file location : /home/oracle_TEST/product/10.2.0/db_
1/cfgtoollogs/opatch/lsinv/lsinventory-2008_May_25_11-09-34-IST_Wed.txt
 --------------------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 10g                                                  10.2.0.4.6
Oracle Database 10g Release 2 Patch Set 2                            10.2.0.4.6
There are 2 products installed in this Oracle Home.


List of Bugs fixed by Installed Patches:

Bug        Fixed by          Installed at                   Description
           Patch
---        --------          ------------                   -----------

1000000    6079591   Mon Oct 13 02:03:42 PDT 2008   test bug
6079591    6079591   Mon Oct 13 02:03:42 PDT 2008   MLR BUG FOR 10.2.0:.3 FOR CPU:JUL2:007
300500     300500    Fri Sep 05 02:25:34 PDT 2008   Demo bug for patching files
300501     300500    Fri Sep 05 02:25:34 PDT 2008   Demo bug for patching files
300502     300500    Fri Sep 05 02:25:34 PDT 2008   Demo bug for patching files
6121268    6121268   Tue Aug 19 23:32:33 PDT 2008   DB-10.2.0.3-MOLECULE-007-CPUJUL2007
6121266    6121266   Tue Aug 19 23:32:27 PDT 2008   DB-10.2.0.3-MOLECULE-018-CPUJUL2007
6121264    6121264   Tue Aug 19 23:32:22 PDT 2008   DB-10.2.0.3-MOLECULE-017-CPUJUL2007
6121263    6121263   Tue Aug 19 23:32:14 PDT 2008   DB-10.2.0.3-MOLECULE-016-CPUJUL2007
.....
.....
(Middle section of report is intentionally excluded.)
.....
.....
6121248    6650096   Tue Feb 12 05:50:48 PST 2008   DB-10.2.0.3-MOLECULE-015-CPUJUL2007
6650096    6650096   Tue Feb 12 05:50:48 PST 2008   DB-10.2.0.3-MOLECULE-036-CPUJAN2008
6121247    6650095   Tue Feb 12 05:50:41 PST 2008   DB-10.2.0.3-MOLECULE-006-CPUAPR2007
6397946    6650095   Tue Feb 12 05:50:41 PST 2008   DB-10.2.0.3-MOLECULE-031-CPUOCT2007
6650095    6650095   Tue Feb 12 05:50:41 PST 2008   DB-10.2.0.3-MOLECULE-035-CPUJAN2008
6650081    6650081   Tue Feb 12 05:50:35 PST 2008   DB-10.2.0.3-MOLECULE-034-CPUJAN2008
6646853    6646853   Tue Feb 12 05:50:28 PST 2008   MLR BUG FOR 10.2.0.3 FOR CPUJAN2008
6452863    6452863   Tue Feb 12 05:50:12 PST 2008   TRACKING BUG FOR CPUJUL2007
 --------------------------------------------------------------------------------
 OPatch succeeded.

-patch descオプションの例

次の例では、opatch lsinventory -patch descの出力を示します。

Oracle interim Patch Installer version 10.2.0.4.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/10.2.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/10.2.0/db_1/oraInst.loc
OPatch version    : 10.2.0.4.6
OUI version       : 10.2.0.4.6
OUI location      : /home/oracle_TEST/product/10.2.0/db_1/oui
Log file location : /home/oracle_
TEST/product/10.2.0/db1/cfgtoollogs/opatch/opatch-2008_May_25_11-09-34-IST_Wed.log
Patch history file: /scratch/userid/newDB/cfgtoollogs/opatch/opatch_history.txt
Lsinventory Output file location : /home/oracle_TEST/product/10.2.0/db_
1/cfgtoollogs/opatch/lsinv/lsinventory-2008_May_25_11-09-34-IST_Wed.txt
 --------------------------------------------------------------------------------
Interim patches (39) :

Patch  6079591      : applied on Mon Oct 13 02:03:42 PDT 2008
   Created on 21 Jun 2007, 03:42:18 hrs PST8PDT
   Bugs fixed:
     6079591, 1000000

Patch  300500       : applied on Fri Sep 05 02:25:34 PDT 2008
   Created on 07 Nov 2005, 04:57:14 hrs US/Eastern
   Bugs fixed:
     300500, 300501, 300502
 --------------------------------------------------------------------------------
 OPatch succeeded.

表8-3 lsinventoryオプションのコマンドライン引数

コマンドライン引数 説明

all

Oracleホーム・ディレクトリで見つかったそれぞれの名前およびインストール・ディレクトリをレポートします。

bugs_fixed

インストール済のパッチで修正された不具合を表形式でレポートします。レポートには、修正された不具合に加えて、インストール済のパッチ、インストール時刻および不具合の説明も表示されます。修正済の不具合は、インストールされているパッチ別にソートされます。デフォルトでは、パッチはインストールされた時間に従って降順で表示され、各パッチ内の不具合は昇順で表示されます。このオプションで「asc」または「desc」を使用すると、各パッチの不具合のソート順序を強制できます。

patchまたはpatch_idオプションとともにこのオプションを使用すると、インストール済のパッチのソート順序に従うことができます。

delay

インベントリのロックに失敗した場合に、次のインベントリ・ロックを試行する前に待機する秒数を指定します。このオプションは、-retryオプションが指定されている場合にのみ使用できます。

detail

インストールされている製品およびその他の詳細をレポートします。このコマンドライン引数を-allコマンドライン引数とともに使用することはできません。

invPtrLoc

oraInst.locファイルの場所を指定します。このコマンドライン引数は、インストール時に-invPtrLocコマンドライン引数が使用された場合に必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJRE(Java)の場所を指定します。

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。

patch

OracleホームにインストールされているパッチIDをインストール時刻に基づいて昇順(asc)または降順(desc)にリストします。デフォルトは降順です。

retry

インベントリのロックに失敗した場合にOPatchユーティリティが試行する必要のある回数を指定します。


次に、opatch lsinventory -detailのサンプル出力を示します。

Oracle interim Patch Installer version 10.2.0.4.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/10.2.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/10.2.0/db_1/oraInst.loc
OPatch version    : 10.2.0.4.6
OUI version       : 10.2.0.4.6
OUI location      : /home/oracle_TEST/product/10.2.0/db_1/oui
Log file location : /home/oracle_
TEST/product/10.2.0/db1/cfgtoollogs/opatch/opatch-2008_May_25_11-09-34-IST_Wed.log
Lsinventory Output file location : /home/oracle_TEST/product/10.2.0/db_
1/cfgtoollogs/opatch/lsinv/lsinventory-2008_May_25_11-09-34-IST_Wed.txt
 --------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 10g                                                  10.2.0.4.6
There are 1 products installed in this Oracle Home.
Installed Products (10):
Agent Required Support Files                                         10.2.0.4.6
Assistant Common Files                                               10.2.0.4.6
Bali Share                                                           1.1.18.0.0
Buildtools Common Files                                              10.2.0.4.6
Character Set Migration Utility                                      10.2.0.4.6
Database Configuration and Upgrade Assistants                        10.2.0.4.6
Database SQL Scripts                                                 10.2.0.4.6
Database Workspace Manager                                           10.2.0.4.6
DBJAVA Required Support Files                                        10.2.0.4.6
Enterprise Edition Options                                           10.2.0.4.6
There are 10 products installed in this Oracle Home.
Intermin patches (1) :
Patch  102000       : applied on Mon May 23 19:44:08 IST 2008
Created on 27 Jul 2007, 05:43:46 hrs PST8PDT
Bugs fixed: 102000
Files Touched:
/qmtest.o --> ORACLE_HOME/lib/libserver10.a
libmapsym.so --> ORACLE_HOME/lib/libmapsym.so
ins_rdbms.mk --> ORACLE_HOME/rdbms/lib/ioracle
/oracle/xml/jaxb/orajaxb.class --> ORACLE_HOME/lib/xml.jar
Patch Location in Inventory:
/home/oracle_TEST/product/10.2.0/db_1/inventory/oneoffs/102000
Patch Location in Storage area:
/home/oracle_TEST/product/10.2.0/db_1/.patch_storage/102000_Jul_27_2007_05_43_46
 --------------------------------------------------------------------------------
 OPatch succeeded.

queryオプション

queryオプションは、特定のパッチの詳細を問い合せます。パッチおよびパッチが適用されるシステムに関する情報を提供します。このオプションには次の構文を使用します。

<Path_to_OPatch>/opatch query [-all] [-jre (Location)] [-jdk (Location)]\
 [-oh (Location)] [patch_location]

次の表に、queryオプションで使用できるコマンドライン引数をリストします。

表8-4 queryオプションのコマンドライン引数

コマンドライン引数 説明

all

パッチに関するすべての情報を取得します。すべてのコマンドライン引数を設定することと同じです。

jdk

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJDK(jar)の場所を指定します。-jdkオプションと-jreオプションは同時に使用できません。

jre

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJRE(Java)の場所を指定します。-jdkオプションと-jreオプションは同時に使用できません。

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。


rollbackオプション

rollbackオプションは、適切なOracleホーム・ディレクトリから特定の個別パッチを削除します。このオプションには次の構文を使用します。

<Path_to_OPatch>/opatch rollback -id (patch_id) [-ph (patch directory)] \
[-delay] (value) [-invPtrLoc (path)] [-jdk (location)] [-jre (location)]\
[-local] [-oh (Oracle Home location)] \
[-post (options to be passed into post) [-opatch_post_end]] \
[-pre (options to be passed into pre) [-opatch_pre_end]] [-retry (value)] \
[-silent] [-verbose] [-no_relink] [-no_sysmod][-remote_nodes (node1,node2)][-local_node (node_name)]

次の表に、rollbackオプションで使用できるコマンドライン引数をリストします。

表8-5 rollbackオプションのコマンドライン引数

コマンドライン引数 説明

delay

-retryコマンドライン引数がapplyオプションとともに使用されている場合に、OPatchユーティリティがインベントリのロックを再試行する前に待機する必要のある秒数を指定します。

id

ロールバックするパッチを指定します。すべてのパッチ識別子を表示するには-lsinventoryオプションを使用します。パッチを正常にロールバックするには、パッチ識別子が指定されている必要があります。

invPtrLoc

oraInst.locファイルの場所を指定します。このコマンドライン引数は、インストール時に-invPtrLocコマンドライン引数が使用された場合に必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jdk

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJDK(jar)の場所を指定します。

jre

Oracleホーム・ディレクトリの下のデフォルトの場所のかわりに使用する特定のJRE(Java)の場所を指定します。

local

OPatchユーティリティがローカル・ノードをロールバックおよび更新し、ローカル・ノードのインベントリを更新することを指定します。パッチまたはインベントリ更新は他のノードに伝播されません。

このコマンドライン引数は、Oracle Real Application Clusters環境および非クラスタ化環境で使用できます。パッチを適用する前にクラスタ全体が停止している場合は、非ローリング・パッチにこの引数を使用できます。

local_node

OPatchユーティリティに、このノードがクラスタのローカル・ノードであることを指定します。

このコマンドライン引数は、Oracle Real Application Clusters環境で使用できます。

no_sysmod

OPatchユーティリティでシステム内のファイルを更新する必要がないことを指定します。インベントリのみを更新します。

no_relink

このオプションは、パッチでmake操作を実行しません。複数パッチの削除中に、コンパイル手順を1回のみ実行するために使用できます。

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。

opatch_post_end

postオプションの終わりを示します。このコマンドライン引数は、postコマンドライン引数とともに使用されます。この引数が使用されていない場合は、postの後のすべての文字列がpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。このコマンドライン引数は、preコマンドライン引数とともに使用されます。この引数が使用されていない場合は、preの後のすべての文字列がpreに渡されます。

ph

有効なパッチ・ディレクトリ領域を指定します。ユーティリティは、パッチ・ディレクトリに見つかったコマンド・タイプを使用して、現在のオペレーティング・システムに使用されているコマンドを識別します。

post

標準パラメータの他にpostスクリプト内で渡すパラメータを指定します。

pre

標準パラメータの他にpreスクリプト内で渡すパラメータを指定します。

remote_nodes

OPatchユーティリティにリモート・ノードのリストを指定します。

このコマンドライン引数は、Oracle Real Application Clusters環境で使用できます。

report

アクションを実行せずに画面に出力します。

retry

インベントリのロックに失敗した場合にOPatchユーティリティが試行する必要のある回数を指定します。

silent

ユーザーとの対話を抑止し、回答をデフォルトでyesに設定します。Real Application Clusters設定では、このオプションはサポートされません。

verbose

画面およびログ・ファイルに出力します。


versionオプション

versionオプションは、OPatchユーティリティの現在のバージョン番号を表示します。このオプションには次の構文を使用します。

<Path_to_OPatch>/opatch version

Real Application Clustersのパッチの適用

Real Application Clusters環境は、アクティブなインスタンスが共有データベースでトランザクションを同時に実行する環境です。Real Application Clusters環境でのパッチの適用は、単一ノードのパッチの適用とはわずかに異なります。

OPatchを使用した個別パッチの適用では、Oracle Universal InstallerがクラスタのOracleホームおよびノードを検出する場合と同じ方法が使用されます。OPatchは、Oracle Universal Installer Java SDKを通じてOracle Universal Installerインベントリと対話します。OPatchは、クラスタを検出した場合に、Oracle Universal Installerを通じてインベントリに問い合せて、ローカル・ノード名およびノード・リストを探します。ノード・リストが更新されていない場合は、Oracle Universal Installerの-updateNodeListフラグを使用して更新できます。-localフラグを使用してリモート・アクションを省略できます。

$ORACLE_HOME/oui/bin/<runInstaller or setup.exe> -updateNodeList ORACLE_
HOME=<oracle home location> "CLUSTER_NODES={<node1,node2,node3>}"
-noClusterEnabled

OPatchにReal Application Clusters設定のローカル・ノードまたはリモート・ノードを指定する場合は、LOCAL_NODEまたはREMOTE_NODESセッション変数を使用してノード名を指定できます。

$ORACLE_HOME/oui/bin/<runInstaller or setup.exe> ORACLE_HOME=<oracle home location>
"REMOTE_NODES {<node1,node2,node3>}" LOCAL_NODE=<nodelist
for example:node1>

OPatchがReal Application Clustersまたはそのノードを自動的に検出しない場合は、インベントリの内容を調べて、それらが完全であることを確認する必要があります。

Real Application Clustersのパッチ適用のタイプ

Real Application Clustersには、3通りの方法でパッチを適用できます。

全ノードへのパッチの適用

全ノードへのパッチの適用では、最初にReal Application Clustersのすべてのノードが停止され、パッチがすべてのノードに適用されます。その後、すべてのノードが再び起動されます。このモードは、通常は非常にクリティカルなパッチに使用され、停止時間が最大になります。OPatchは、他に指定されていないかぎり、このモードをパッチ適用のデフォルトとして使用します。全ノードへのパッチの適用について、次の例で説明します。

図8-2 全ノードへのパッチの適用

全ノードへのパッチの適用を示す図

図8-2「全ノードへのパッチの適用」に示したReal Application Clusters設定について考えます。システムA、BおよびCは、このReal Application Clustersのノードです。このクラスタで全ノードへのパッチの適用を実行した場合、システムA、BおよびCが停止され、これらすべてのノードにパッチが適用されます。その後、システムA、BおよびCが再び起動されます。

ローリング方式のパッチの適用

ローリング方式のパッチの適用では、各ノードが停止され、パッチが適用された後、再び起動されます。Real Application Clusters内のすべてのノードにパッチが適用されるまで、この処理がノードごとに別々に実行されます。このモードは、停止時間がゼロになるため、Real Application Clusters設定に個別パッチを適用する場合の最も効率的なモードです。このモードで適用できるのは、一部のパッチのみです。このタイプは、一般にパッチ・メタデータで指定されます。ローリング方式のパッチの適用について、次の例で説明します。

図8-3 ローリング方式のパッチの適用

ローリング方式のパッチの適用を示す図

図8-3「ローリング方式のパッチの適用」に示したReal Application Clusters設定について考えます。システムA、BおよびCは、このReal Application Clustersのノードです。このクラスタでローリング方式のパッチの適用を実行した場合、システムAが最初に停止され、パッチが適用されます。次に、このシステムが再び起動されます。続いて、システムBが停止され、パッチが適用され、再び起動されます。この手順がシステムCについても繰り返されます。パッチはローリング方式で適用されます。このタイプのパッチ適用の主な利点は、一度に1つのシステムしか停止されないため、パッチの適用中にまったく停止時間がないことです。

最小停止時間のパッチの適用

最小停止時間のパッチの適用では、ノードがセットに分割されます。まず、最初のセットが停止され、パッチが適用されます。その後で、2番目のセットが停止されます。最初のセットが起動し、パッチが2番目のセットに適用されます。2番目のセットもここで起動します。この時点で、Real Application Clustersのすべてのノードにパッチが適用されています。このモードでは、両方のセットが停止している場合のReal Application Clustersの停止時間が短くなります。このモードは、-minimize_downtimeコマンドライン・オプションを使用して実行されます。レスポンス・ファイルからこのオプションをアクティブにすることもできます。最小停止時間のパッチの適用について、次の例で説明します。

図8-4 最小停止時間のパッチの適用

最小停止時間のパッチの適用を示す図

図8-4「最小停止時間のパッチの適用」に示したReal Application Clusters設定について考えます。システムA、BおよびCは、このReal Application Clustersのノードです。これらは2つのセットに分割されています。セット1にはシステムAおよびBが含まれ、セット2にはシステムCが含まれます。このクラスタで最小停止時間のパッチの適用を実行した場合は、セット1が停止し、パッチが適用されます。ここで、セット2が停止されます。セット1が起動し、パッチがセット2に適用されます。パッチの適用後、セット2が再び起動します。これで、セット1と2の両方にパッチが適用されます。

パッチの競合について

すべてのパッチが相互に互換性があるとはかぎりません。たとえば、パッチが適用され、そのパッチで修正されたすべてのバグが、別のパッチを適用した後に再び出現する場合があります。これを競合状況といいます。OPatchはこのような状況を検出し、競合が検出された場合にエラーを生成します。

競合のタイプ

OPatchは、次のタイプの競合を検出できます。

  • バグ・スーパーセット: あるパッチで修正されたシステム内のすべてのバグが、これから適用するパッチによっても修正される場合、このパッチ(適用するパッチ)はすでに適用されているパッチのスーパーセットとみなされます。バグ・スーパーセット条件が検出された場合は、エラー状況とみなされません。すべてのサブセット・パッチがシステムから削除され、新しいパッチが適用されます。

    たとえば、4つのパッチA、B、CおよびDがシステムに適用されているシナリオについて考えます。図8-5に示すように、各パッチはそれぞれ2つのバグを修正します。ここにバグ5、6、7、8、9および10を修正するパッチEを適用する場合、パッチEはパッチCおよびDのスーパーセットになります。

    図8-5 バグ・スーパーセット

    バグ・スーパーセット

    現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合にOPatchをエラーにするには、-no_bug_supersetフラグを使用します。

    $ OPatch/opatch apply -no_bug_superset <Path_To_Patch>

    次に、-no_bug_supersetフラグを使用した場合に表示されるメッセージのサンプル出力を示します。

    Oracle interim Patch Installer version 10.2.0.4.6
    Copyright (c) 2009, Oracle Corporation.  All rights reserved..
    Oracle Home       : /home/oracle_TEST/product/10.2.0/db_1
    Central Inventory : /home/OUIHome_Opatch
    from           : /home/oracle_TEST/product/10.2.0/db_1/oraInst.loc
    OPatch version    : 10.2.0.4.6
    OUI version       : 10.2.0.4.6
    OUI location      : /home/oracle_TEST/product/10.2.0/db_1/oui
    Log file location : /home/oracle_TEST/product/10.2.0/db
    _1/cfgtoollogs/opatch/opatch-2008_May_25_14-03-33-IST_Wed.log
    ApplySession applying interim patch '102000' to OH '/home/oracle
    _TEST/product/10.2.0/db_1'
    Apply Session failed: ApplySession failed to prepare the system. Interim patch
     102000 is a superset of the patch(es) [ 102000 ] in OH /home/oracle
    _TEST/product/10.2.0/db_1
    System intact, OPatch will not attempt to restore the system
    OPatch failed with error code 73
    
  • バグ競合: 現在の個別パッチで修正されるバグのセットが、以前にインストールした個別パッチの1つ以上ですでに修正されているバグの一部のみを含み、すべてのバグは含まない場合は、バグ競合と呼ばれます。新しいパッチを適用する前に、競合パッチをロールバックする-forceフラグを指定したapplyコマンドを使用して、パッチの適用を続行する前にバグ競合を除去する必要があります。

    たとえば、4つのパッチA、B、CおよびDがシステムに適用されているシナリオについて考えます。図8-6に示すように、各パッチはそれぞれ2つのバグを修正します。ここにバグ1、3、5、7、9および10を修正するパッチEを適用する場合、パッチEには修正済のバグ1、3、5、7、9および10が含まれますが、バグ2、4、6および8は未解決です。これは競合状況です。

    図8-6 バグ競合

    バグ競合
  • ファイル競合: 現在の個別パッチでパッチが適用されるファイルのセットが、以前にインストールした個別パッチの1つ以上ですでにパッチを適用済のファイルを含み、それがバグ・スーパーセットでない場合は、ファイル競合と呼ばれます。新しいパッチを適用する前に、競合パッチをロールバックする-forceフラグを指定したapplyコマンドを使用して、パッチの適用を続行する前にファイル競合を除去する必要があります。

  • 組合せ競合: パッチのセットにバグ・スーパーセットの組合せがあり、バグまたはファイルが競合している場合、組合せ競合と呼びます。これはエラー状況です。この場合、OPatchはすべての競合パッチおよびサブセット・パッチを削除し、新規パッチを再適用します。

    たとえば、4つのパッチA、B、CおよびDがシステムに適用されているシナリオについて考えます。図8-7に示すように、各パッチは2つのバグを修正します。パッチCはパッチDのサブセットです。パッチAおよびパッチBはパッチDの競合パッチです。ここにバグ1、3、5、6、7および8を修正するパッチDを-forceフラグを指定して適用する場合、OPatchはパッチA、BおよびCをロールバックし、パッチDを適用します。

    図8-7 組合せ競合

    組合せ競合

Real Application Clustersでは-silent-forceおよび-no_bug_supersetオプションを使用できます。次の表は、予想される動作を真理値表形式でリストしたものです。

表8-6 真理値表

-silent -force -no_bug_superset 予想される動作

N

N

N

OPatchがプロンプトで問いを発し、それに対する回答に応じてパッチを適用します。

N

N

Y

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合、OPatchはエラーになります。競合している場合は、OPatchがプロンプトで問いを発し、それに対する回答に応じてパッチを適用します。

N

Y

N

OPatchがプロンプトで問いを発し、それに対する回答に応じてパッチを適用します。

N

Y

Y

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合、OPatchはエラーになります。競合している場合は、OPatchがプロンプトで問いを発し、それに対する回答に応じてパッチを適用します。

Y

N

N

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合、OPatchはロールバックしてパッチを適用します。競合している場合、OPatchはエラーになります。

Y

N

Y

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合、OPatchはエラーになります。競合している場合も、OPatchはエラーになります。

Y

Y

N

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセット、競合または同一の場合でも、OPatchは警告せずにすべてのパッチをロールバックし、再適用します。

Y

Y

Y

現在のパッチで修正するバグが、Oracleホーム・ディレクトリにインストールされているパッチで修正済のバグのスーパーセットであるか同一の場合、OPatchはエラーになります。競合している場合、OPatchはロールバックして新しいパッチを適用します。


パッチの競合の検出および解決

OPatchは、個別パッチを適用する場合に、以前に適用したパッチとの競合を検出およびレポートします。競合がある場合、パッチの適用は失敗します。OPatchの-forceオプションを使用して、このエラーをオーバーライドできます。-forceが指定されている場合、インストーラは最初に競合パッチをロールバックしてから、目的の個別パッチのインストールに進みます。

バグ競合が発生し、競合するパッチの削除が必要になる場合があります。このプロセスは、パッチのロールバックと呼ばれます。パッチのインストール時、OPatchは、新規パッチで置換されるすべてのファイルのコピーを保存してから、これらのファイルの新規バージョンをロードし、$ORACLE_HOME/.patch_storageに格納します。これらの保存されたファイルはロールバック・ファイルと呼ばれ、パッチのロールバックを可能にするためのキーとなります。パッチをロールバックする場合、これらのロールバック・ファイルがシステムにリストアされます。-forceフラグを使用してデフォルトの動作を変更するのは、パッチのロールバック・プロセスについて完全に理解している場合のみにしてください。パッチをロールバックするには、次のコマンドを実行します。

$ OPatch/opatch rollback -id <Patch_ID>

Oracleホームのリストア

パッチを適用するたびに、インベントリに変更が加えられます。この変更によりインベントリが破損することがあります。OPatchに付属のrestore.shまたはrestore.batスクリプトを使用して、パッチの適用後にインベントリに対して行われた変更を削除できます。パッチを適用する場合、OPatchはインベントリのスナップショットを作成し、$ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに格納します。詳細は、「個別パッチのバージョン」を参照してください。

インベントリが破損した場合は、次の手順を実行して、アプリケーションを最後の既知の正常な状態に戻す必要があります。

  1. 環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    

ロギングとトレース

ロギングとトレースは、デバッグのための一般的な支援機能です。OPatchは、すべての適用、ロールバックおよびlsInventory操作のログを保持します。ログ・ファイルは、<ORACLE_HOME>/cfgtoollogs/opatchディレクトリにあります。各ログ・ファイルには、操作のタイムスタンプのタグが付けられています。ログ・ファイルにはopatch_<date mm-dd-yyyy>_<time hh-mm-ss>.logのような名前が付けられます。OPatchが実行されるたびに、新しいログ・ファイルが作成されます。

たとえば、ログ・ファイルが2008年5月17日の11.55 PMに作成された場合、名前は次のようになります。

opatch_05-17-2008_23-55-00.log

注意:

環境変数OPATCH_DEBUGをTRUEに設定することにより、OPatchをデバッグ・モードに設定できます。

またOPatchは、OPatchで実行されたコマンドの索引およびそれに関連付けられているログ・ファイルを、<ORACLE_HOME>/cfgtoollogs/opatchディレクトリにあるhistory.txtファイルに保持します。history.txtファイルのサンプルを次に示します。

Date & Time : Tue Apr 26 23:00:55 PDT 2008
Oracle Home : /private/oracle/product/10.2.0/db_1/
OPatch Ver. : 10.2.0.4.6
Current Dir : /scratch/oui/OPatch
Command     : lsinventory
Log File    :
/private/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch-2008_Apr_26_23-00-55-PDT_Tue.log

ロギングのレベル

OPatchは、Oracle Diagnostic Logging(ODL)ガイドラインに従います。使用可能な-logLevel <level>オプションを使用して、ログ・レベルを設定できます。このオプションは、ODLガイドラインに従って、OPatchが実行するロギングの量を制御します。

OPatchでは次のログ・レベルがサポートされます。

  • SEVERE

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST

OPatchを使用した、パッチの適用に失敗したセッションからのリカバリ

パッチの適用時に、更新は2つのフェーズで行われることがあります。

  1. システム更新: このフェーズでは、Oracleホーム内でファイルが置換されます。

  2. インベントリ更新: このフェーズでは、適用されたパッチの詳細がインベントリに記録されます。

次に、様々なシナリオを一覧し、失敗したパッチの適用セッションからリカバリする方法を示します。

パッチを適用またはロールバックして、個別インベントリ更新の例外が発生した。
原因: この状況は、システム上のファイルにパッチが適用されたが、インベントリ更新に失敗した場合に発生します。破損しているインベントリが原因の可能性があります。
処置: 次の手順を実行します。
  1. 環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
パッチを適用またはロールバックして、OiiOneoffException例外が発生した。
原因: この状況は、システム上のファイルにパッチが適用されたが、インベントリ更新に失敗した場合に発生します。個別パッチのベース・コンポーネントがインベントリに存在しないことが原因の可能性があります。
処置: OPatchは、Oracleホームのリストアを自動的に試行し、それを示すメッセージを表示します。OPatchがOracleホームをリストアしたことを示すメッセージが表示されない場合は、次の手順を実行します。
  1. 環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
パッチを適用し、opatch lsinventoryを実行したが、何も返されない。
原因: 現在のパッチの適用前に適用されたすべてのパッチが失われているか、インベントリ内でパッチが更新されていないことが原因の可能性があります。
処置: 次の手順を実行します。
  1. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  2. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
  3. ファイルにパッチが正しく適用されていても、インベントリ内の情報が更新されていない場合は、次のコマンドを実行します。

    $ORACLE_HOME/OPatch/opatch apply -no_sysmod <Path_To_Patch>
    

    次のコマンドを実行して、パッチが適用され、インベントリに正しく記録されていることを確認します。

    $ORACLE_HOME/OPatch/opatch lsinventory -detail
    
  4. ファイルにパッチがまだ正しく適用されていないが、lsinventoryフラグでそのパッチが表示される場合は、no_inventoryフラグを使用してパッチを再適用する必要があります。

    $ORACLE_HOME/OPatch/opatch apply -no_inventory <Path_To_Patch>
    
パッチを適用し、opatch lsinventoryを実行したが、適用されたパッチの詳細が返されない。
原因: OPatchがこのパッチの詳細をインベントリに記録しなかったことが原因の可能性があります。
処置: 次の手順を実行します。
  1. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  2. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
  3. ファイルにパッチが正しく適用されていても、インベントリ内の情報が更新されていない場合は、次のコマンドを実行します。

    $ORACLE_HOME/OPatch/opatch apply -no_sysmod <Path_To_Patch>
    

    次のコマンドを実行して、パッチが適用され、インベントリに正しく記録されていることを確認します。

    $ORACLE_HOME/OPatch/opatch lsinventory -detail
    
パッチの適用またはロールバック中に[Ctrl]+[C]を押し、opatch lsinventoryを実行したが、適用またはロールバックされたパッチの詳細が返されない。
原因: [Ctrl]+[C]が押されたときにOPatchがパッチの適用またはロールバックを停止したことが原因の可能性があります。
処置: 次の手順を実行します。
  1. 環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します(使用可能な場合)。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
パッチの適用時に、OPatchが再リンクに失敗し、続行を確認するプロンプトで終了した。
原因: 再リンクのエラーが原因の可能性があります。
処置: 次の手順を実行します。
  1. 環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXシェルでmakeを手動で起動できることを確認して、再リンク・エラーの問題を解決します。その後で、パッチを再度適用します。

Real Application Clusters設定

Real Application Clusters設定にパッチを適用し、ローカル・ノードでopatch lsinventoryを実行したが、パッチがリストされない。
原因: この状況は、OPatchがインベントリの更新に失敗した場合に発生することがあります。
処置: 次の手順を実行します。
  1. クラスタ内のすべてのノードで環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. クラスタ内の各ノードの$ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、次のようにrestoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のようにクラスタの各ノードで$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
  4. localフラグを使用して、クラスタ内の各ノードでパッチを適用します。

    $ORACLE_HOME/OPatch/opatch apply -local <Path_To_Patch>
    

    注意:

    すべてのノードで同じOPatchバージョンを使用していることを確認してください。

Real Application Clusters設定にパッチを適用し、ローカル・ノードでopatch lsinventoryを実行したが、何も返されない。
原因: 以前に適用したすべてのパッチが失われていることが原因の可能性があります。
処置: 次の手順を実行します。
  1. クラスタ内の各ノードで環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. クラスタ内の各ノードで、$ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように各ノードで$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
  4. localフラグを使用して、各ノードでパッチを適用します。

    $ORACLE_HOME/OPatch/opatch apply -local <Path_To_Patch>
    

    注意:

    すべてのノードで同じOPatchバージョンを使用していることを確認してください。

Real Application Clusters設定でパッチをロールバックし、ローカル・ノードでopatch lsinventoryを実行したが、パッチが削除されていないことが示される。
原因: この状況は、OPatchがインベントリの更新に失敗した場合に発生することがあります。
処置: 次の手順を実行します。
  1. クラスタ内の各ノードで環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. クラスタ内の各ノードで$ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、次のようにrestoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のようにクラスタの各ノードで$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
  4. localフラグを使用して、クラスタ内のすべてのノードでパッチをロールバックします。

    $ORACLE_HOME/OPatch/opatch rollback -local -id <Patch_ID>
    

    注意:

    すべてのノードで同じOPatchバージョンを使用していることを確認してください。

Real Application Clusters設定でパッチをロールバックし、ローカル・ノードでopatch lsinventoryを実行したが、何も返されない。
原因: 以前に適用したすべてのパッチが失われていることが原因の可能性があります。
処置: 次の手順を実行します。
  1. クラスタ内の各ノードで環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. クラスタ内の各ノードで、$ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、restoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt
    
  4. localフラグを使用して、ローカル・ノードでパッチをロールバックします。

    $ORACLE_HOME/OPatch/opatch rollback -local -id <Patch_ID>
    
  5. localフラグを使用して、他のノードでもパッチをロールバックします。


    注意:

    すべてのノードで同じOPatchバージョンを使用していることを確認してください。

Real Application Clusters設定にパッチを適用し、1つのノードでは(ファイルとインベントリの両方について)パッチが正常に適用されたが、他のノードに関しては正常に適用されたかどうかがわからない。
原因: システムまたはインベントリの更新に失敗したことが原因の可能性があります。
処置: 次の手順を実行します。
  1. 正常なノードから他のノードにOracleホームをコピーします。

  2. Oracleホームをコピーした後で、ORACLE_HOME/inventory/ContentsXML/comps.xmlファイルに最新のタイムスタンプがあることを確認します。


    注意:

    UNIXでは、touchを使用してタイムスタンプを変更します。

  3. クラスタのノードを更新します。クラスタ・ノードの更新の詳細は、「クラスタのノードの更新」を参照してください。

  4. 「OPatchの前提条件チェック」にリストされているすべての前提条件チェックにパスしていることを確認してください。

Real Application Clusters設定にパッチを適用し、1つのノードではパッチが正常に適用されたが、他のノードでopatch lsinventoryを実行した場合に、パッチがリストされない。
原因: システムまたはインベントリの更新に失敗したことが原因の可能性があります。
処置: 次の手順を実行します。
  1. 正常なノードから他のノードにORACLE_HOME /inventoryディレクトリをコピーします。

  2. ORACLE_HOME /inventoryディレクトリをコピーした後で、ORACLE_HOME/inventory/ContentsXML/comps.xmlファイルに最新のタイムスタンプがあることを確認します。


    注意:

    UNIXでは、touchを使用してタイムスタンプを変更します。

  3. クラスタのノードを更新します。クラスタ・ノードの更新の詳細は、「クラスタのノードの更新」を参照してください。

  4. 「OPatchの前提条件チェック」にリストされているすべての前提条件チェックにパスしていることを確認してください。

Real Application Clusters設定でパッチを適用またはロールバックしたが、すべてのノードでパッチを適用またはロールバックできない。
原因: この状況は、ノードが正しく更新されていない場合に発生することがあります。
処置: 次の1つ以上の手順を実行します。
  • クラスタ内のすべてのノードが最新であることを確認します。最新でない場合は、クラスタのノードを更新します。クラスタ・ノードの更新の詳細は、「クラスタのノードの更新」を参照してください。

  • クラスタのすべてのノードで適切なコマンドを次のように実行します。

    opatch apply -local [patch_location]
    
    opatch rollback -local [patch_location]
    
  • クラスタのローカル・ノードで適切なコマンドを次のように実行します。

    opatch apply [-local_node (node_name)] [-remote_nodes (comma-separated node_names)]
    
    opatch rollback [-local_node (node_name)] [-remote_nodes (comma-separated node_names)]
    

OPatchで使用される環境変数

OPatchでは、次のようないくつかの環境変数を使用します。

ORACLE_HOME: Oracleホームの場所です。

OPATCH_DEBUG: OPatchが実行する必要のあるロギングの量を指定するログ・レベルです。

OPATCH_PLATFORM_ID: 一意のプラットフォームIDです。

PATH: パッチ情報です。

OPatchのトラブルシューティング

この項では、パッチの適用中に発生する可能性のあるエラーの解決方法を示します。

無効なパッチ領域
原因: OPatchユーティリティがパッチを実行するために使用しているディレクトリが、チェックされているテンプレートと一致しません。この状況は、ユーティリティが無効な出荷ホーム・ディレクトリから実行されている場合にも発生することがあります。
処置: OPatchユーティリティを起動する場合、ディレクトリには次の内容が必要です。
  • メタデータ・ファイルを格納する/etcディレクトリ

  • ペイロード・ファイルを格納する/filesディレクトリ

  • 同じディレクトリ下の/etc/config/inventoryファイルおよびアクション・ファイル

OPatchユーティリティをpatch_idディレクトリから起動していない場合は、次のコマンドを使用できます。

opatch apply /<Patch_Shiphome>
OPatchがfuser、makeなどのシステム・コマンドを見つけられない
原因: OPatchユーティリティがUNIXシステムでfuserを使用してアクティブなOracleインスタンスをチェックしています。特定のhp-uxシステムでは、スーパーユーザーのみがfuserを実行できます。
処置: この問題を解決するには次の手順を実行します。
  1. PATHに/tmpを設定します。

    詳細は、「システム・コマンドのチェック」を参照してください。

  2. fuserという名前の空のファイルを作成します。

  3. Oracleインスタンスを停止します。

  4. OPatchユーティリティを実行します。


    注意:

    この問題を解決する方法として、他のユーザーにfuserに対する実行可能権限を付与することもできます。ただし、この方法ではシステムにセキュリティ・ホールが作成される可能性があるため、推奨されません。

部分的にインストールされた個別パッチを削除できない
原因: パッチの適用プロセスの中断がこの問題の原因となっている可能性があります。この状況は、パッチの適用プロセス中に[Ctrl]+[C]を押した場合に発生することがあります。OPatchで検出されるエラーの場合は、自動的に処理されます。
処置: 次の手順を実行します。
  1. 環境変数ORACLE_HOMEが正しく設定されていることを確認します。

  2. $ORACLE_HOME/.patch_storage/<patch-id_timestamp>ディレクトリに移動し、次のようにrestoreコマンドを実行します。

    For UNIX:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.sh
    
    For Windows:
    $ORACLE_HOME/.patch_storage/<patch-id_timestamp>/restore.bat
    
  3. UNIXでは、次のように$ORACLE_HOME/.patch_storage/<patch-id_timestamp>/make.txtファイルをソースにします(使用可能な場合)。

    /bin/sh make.txt