ヘッダーをスキップ
Oracle Universal InstallerおよびOpatchユーザーズ・ガイド
11gリリース1(11.1) for Microsoft Windows and UNIX Systems
E05707-05
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

OPatchはOracleが提供するユーティリティであり、Oracleのソフトウェアに個別パッチを適用し、Oracleのソフトウェアから個別パッチをロールバックするプロセスを支援します。この章では、これらの目的によるOPatchの使用について説明します。この章の内容は次のとおりです。

OPatchについて

OPatchは、Oracle Universal Installerのインストールを必要とするJavaベースのユーティリティです。プラットフォームに依存しないこのユーティリティは、サポートされるすべてのオペレーティング・システムで機能します。スタンドアロンのOPatchと呼ばれる別バージョンのOPatchも使用できます。これは、Oracle Universal Installerを使用せずにOracleホームで実行されます。

パッチは、既存のインストールにコピーされるファイルの小さな集合です。パッチはOracle製品の特定のバージョンに関連付けられています。インストール済の対応バージョンの製品にパッチを適用すると、製品のバージョンがアップグレードされます。

個別パッチは、特定の不具合に対して顧客が使用できる不具合の修正です。個別パッチを適用するには、特定のベース・リリースまたはパッチ・セットがインストールされている必要があります。これらは一般に、特定の顧客の特定の不具合に対処します。これらのパッチはバージョン管理されず、一般に将来のパッチ・セットおよび次の製品リリースで使用可能になります。

OPatchの特長

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

  • スケーラビリティ: OPatchは、スケーラブルに多数のパッチをサポートします。

  • 信頼性: OPatchは信頼性が高く、Oracleホームおよびインベントリを保護します。パッチの適用に失敗しても、Oracleホームを安定した状態に戻すことができます。パッチの競合も簡単に検出できます。

  • 可用性: Opatchのオンライン・パッチの適用により、データベースを停止せずにデータベースのパッチの適用が可能であるため、システムの可用性が向上します。

  • 移植性: OPatchは、Oracleがソフトウェアをリリースするすべてのオペレーティング・システムと互換性があります。

  • 堅牢性: OPatchは堅牢です。パッチの適用と削除が非常に簡単です。

  • 容易なメンテナンス: OPatchはメンテナンスが簡単であり、拡張も可能です。

  • サイレント操作のサポート: OPatchでは、サイレント操作がサポートされます。このモードでは、ユーザーと対話せずにソフトウェアを実行できます。

  • Real Application Clustersのサポート: OPatchはReal Application Clustersをサポートし、その設定で正常に動作します。Enterprise ManagerのGrid Controlに簡単に拡張できます。

  • 容易なデバッグ: OPatchには様々なレベルのロギングおよびトレース・メカニズムがあります。ソフトウェアの問題を簡単に診断できるようにするデバッグ・オプションもあります。

OPatchでは次のタスクがサポートされます。

  • 個別パッチの適用。

  • 個別パッチの適用のロールバック。

  • 前の個別パッチが適用された後で個別パッチを適用する場合の競合の検出。競合を解決するための最適なオプションも提示されます。

  • インストールされている製品および個別パッチのレポート。

個別パッチの入手

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

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

OPatchで使用される環境変数

OPatchでは次の環境変数が使用されます。

ORACLE_HOME: Oracleホームの場所

PATH: パス情報

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

OPatchの要件

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

OPatchの前提条件チェック

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

単一インスタンスおよびReal Application Clustersでのチェック

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

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

JREのチェック

OPatchが正しく動作するにはJREバージョン1.4以上が必要です。

システム領域のチェック

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

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

OPatch 11.1が正しく動作するにはOracle Universal Installer 11.1以上が必要です。Oracle Universal Installerのバージョンが、OPatchで必要とされるより前のバージョンの場合、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 Clusterware/Real Application Clustersをインストールしているユーザーのユーザー等価が設定されていることを確認する必要があります。UNIXでは、クラスタ・マシンにrshまたはssh、あるいはその両方が設定されている必要があります。Windowsでは、同じ<domain>\<user>がすべてのクラスタ・マシンに対する管理権限を持つ必要があり、マシンが<domain>のメンバーである必要があります。

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

$ rsh <nodename> date

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

OPatch lsinventoryのチェック

opatch lsinventory -detailコマンドを起動でき、出力されるノード情報を参照できることを確認してください。ノード情報が正しく出力されない場合は、ノード・リストを更新する必要があります。ノード・リストの更新の詳細は、「クラスタのノードの更新」を参照してください。次に、インストール済の118の製品、SQL、PL/SQLおよびオンライン・パッチのコマンド出力の例を示します。

Invoking OPatch 11.1.0.6.6

Oracle Interim Patch Installer version 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved.


Oracle Home       : /scratch/userid/oracle/product/11.1.0/db_1
Central Inventory : /home/userid/newDB/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.6
OUI version       : 11.1.0.6.6
OUI location      : /scratch/userid/oracle/product/11.1.0/db_1/oui
Log file location : /scratch/userid/oracle/product/11.1.0/
db_1/cfgtoollogs/opatch/opatch2008-07-17_23-08-20PM.log

Lsinventory Output file location : /scratch/userid/oracle/product/11.1.0/
db_1/cfgtoollogs/opatch/lsinv/lsinventory2008-07-17_23-08-20PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):

Oracle Database 11g                                                  11.1.0.4.0
There are 1 products installed in this Oracle Home.

Installed Products (118):

Agent Required Support Files                                         10.2.1.3.1
Assistant Common Files                                               11.1.0.4.0
Bali Share                                                           1.1.18.0.0
Buildtools Common Files                                              11.1.0.4.0
Character Set Migration Utility                                      11.1.0.4.0
Database Configuration and Upgrade Assistants                        11.1.0.4.0
Database SQL Scripts                                                 11.1.0.4.0
Database Workspace Manager                                           11.1.0.4.0
Enterprise Edition Options                                           11.1.0.4.0
Enterprise Manager Agent                                             10.2.1.3.1
Enterprise Manager Agent Core Files                                  10.2.1.3.1
Enterprise Manager Common Core Files                                 10.2.1.3.1
Enterprise Manager Common Files                                      10.2.1.3.1
Enterprise Manager Database Plugin -- Agent Support                  11.1.0.4.0
Enterprise Manager Database Plugin -- Management Service Support     11.1.0.4.0
Enterprise Manager Database Plugin -- Repository Support             11.1.0.4.0
Enterprise Manager Grid Control Core Files                           10.2.1.3.1
Enterprise Manager plugin Common Files                               11.1.0.4.0
Enterprise Manager Repository Core Files                             10.2.1.3.1
Generic Connectivity                                                 11.1.0.4.0
Generic Connectivity Common Files                                    11.1.0.4.0
HAS Common Files                                                     11.1.0.4.0
HAS Files for DB                                                     11.1.0.4.0
Installation Common Files                                            11.1.0.4.0
Installer SDK Component                                              11.1.0.6.6
JAccelerator (COMPANION)                                             11.1.0.4.0
LDAP Required Support Files                                          11.1.0.4.0
OLAP SQL Scripts                                                     11.1.0.4.0
Oracle 11g Warehouse Builder Server                                  11.1.0.4.0
Oracle Advanced Security                                             11.1.0.4.0
Oracle Application Express                                           11.1.0.4.0
Oracle Call Interface (OCI)                                          11.1.0.4.0
Oracle Clusterware RDBMS Files                                       11.1.0.4.0
Oracle Code Editor                                                   1.2.1.0.0I
Oracle Configuration Manager                                         10.2.5.0.0
Oracle Containers for Java                                           11.1.0.4.0
Oracle Core Required Support Files                                   11.1.0.4.0
Oracle Data Mining RDBMS Files                                       11.1.0.4.0
Oracle Database 11g                                                  11.1.0.4.0
Oracle Database 11g                                                  11.1.0.4.0
Oracle Database 11g interMedia Files                                 11.1.0.4.0
Oracle Database User Interface                                       2.2.13.0.0
Oracle Database Utilities                                            11.1.0.4.0
Oracle Display Fonts                                                  9.0.2.0.0
Oracle Enterprise Manager Console DB                                 11.1.0.4.0
Oracle Extended Windowing Toolkit                                    3.4.42.0.0
Oracle Globalization Support                                         11.1.0.4.0
Oracle Globalization Support                                         11.1.0.4.0
Oracle Help For Java                                                  4.2.9.0.0
Oracle Help for the  Web                                             2.0.11.0.0
Oracle Ice Browser                                                    5.2.3.6.0
Oracle interMedia                                                    11.1.0.4.0
Oracle interMedia Annotator                                          11.1.0.4.0
Oracle interMedia Client Option                                      11.1.0.4.0
Oracle interMedia Java Advanced Imaging                              11.1.0.4.0
Oracle interMedia Locator                                            11.1.0.4.0
Oracle interMedia Locator RDBMS Files                                11.1.0.4.0
Oracle Internet Directory Client                                     11.1.0.4.0
Oracle Java Client                                                   11.1.0.4.0
Oracle JDBC Server Support Package                                   11.1.0.4.0
Oracle JDBC/OCI Instant Client                                       11.1.0.4.0
Oracle JDBC/THIN Interfaces                                          11.1.0.4.0
Oracle JFC Extended Windowing Toolkit                                4.2.36.0.0
Oracle JVM                                                           11.1.0.4.0
Oracle LDAP administration                                           11.1.0.4.0
Oracle Locale Builder                                                11.1.0.4.0
Oracle Message Gateway Common Files                                  11.1.0.4.0
Oracle Net                                                           11.1.0.4.0
Oracle Net Listener                                                  11.1.0.4.0
Oracle Net Required Support Files                                    11.1.0.4.0
Oracle Net Services                                                  11.1.0.4.0
Oracle Notification Service                                          10.1.0.3.0
Oracle ODBC Driver                                                   11.1.0.4.0
Oracle ODBC Driverfor Instant Client                                 11.1.0.4.0
Oracle OLAP                                                          11.1.0.4.0
Oracle OLAP API                                                      11.1.0.4.0
Oracle OLAP RDBMS Files                                              11.1.0.4.0
Oracle One-Off Patch Installer                                       11.1.0.6.6
Oracle Partitioning                                                  11.1.0.4.0
Oracle Programmer                                                    11.1.0.4.0
Oracle RAC Required Support Files-HAS                                11.1.0.4.0
Oracle Recovery Manager                                              11.1.0.4.0
Oracle Security Developer Tools                                      11.1.0.4.0
Oracle Spatial                                                       11.1.0.4.0
Oracle SQL Developer                                                 11.1.0.4.0
Oracle Starter Database                                              11.1.0.4.0
Oracle Text                                                          11.1.0.4.0
Oracle UIX                                                           2.2.20.0.0
Oracle Ultra Search Common Files                                     11.1.0.4.0
Oracle Ultra Search Middle-Tier                                      11.1.0.4.0
Oracle Ultra Search Server                                           11.1.0.4.0
Oracle Ultra Search Server Rdbms                                     11.1.0.4.0
Oracle Universal Installer                                           11.1.0.6.6
Oracle Wallet Manager                                                11.1.0.4.0
Oracle XML Development Kit                                           11.1.0.4.0
Parser Generator Required Support Files                              11.1.0.4.0
Perl Interpreter                                                      5.8.3.0.6
PL/SQL                                                               11.1.0.4.0
PL/SQL Embedded Gateway                                              11.1.0.4.0
Platform Required Support Files                                      11.1.0.4.0
Precompiler Common Files                                             11.1.0.4.0
Precompiler Required Support Files                                   11.1.0.4.0
Provisioning Advisor Framework                                       10.2.1.3.1
RDBMS Required Support Files                                         11.1.0.4.0
RDBMS Required Support Files for Instant Client                      11.1.0.4.0
regexp                                                                2.1.9.0.0
Required Support Files                                               11.1.0.4.0
Sample Schema Data                                                   11.1.0.4.0
Secure Socket Layer                                                  11.1.0.4.0
Secure Socket Layer                                                  11.1.0.4.0
SQL*Plus                                                             11.1.0.4.0
SQL*Plus Required Support Files                                      11.1.0.4.0
SQLJ Runtime                                                         11.1.0.4.0
SSL Required Support Files for InstantClient                         11.1.0.4.0
Sun JDK                                                               1.5.0.0.6
XDK Required Support Files                                           11.1.0.4.0
XML Parser for Java                                                  11.1.0.4.0
XML Parser for Oracle JVM                                            11.1.0.4.0
There are 118 products installed in this Oracle Home.

Interim patches (3) :

Patch  300100       : applied on Tue Jul 10 02:21:40 PDT 2008
   Created on 01 Jan 2007, 04:57:12 hrs US/Eastern
   Bugs fixed:
     300101
   Files Touched:
     test.pch --> ORACLE_HOME/hpatch/test.pch
   Instances Patched:
     online, venkat
   Patch Location in Inventory:
     /scratch/userid/oracle/product/11.1.0/db_1/inventory/oneoffs/300100
   Patch Location in Storage area:
     /scratch/userid/oracle/product/11.1.0/db_1/.patch_storage/       300100_Jan_01_2007_04_57_12

Patch  100100       : applied on Thu Jun 21 21:01:35 PDT 2008
   Created on 22 Apr 2008, 23:57:54 hrs PST8PDT
   Bugs fixed:
     100100, 100101
   Files Touched:
     /shof.o --> ORACLE_HOME/lib/libagent10.a
     /oracle/help/AppletWindowManager.class --> ORACLE_HOME/jlib/help4.jar
     dbui2.jar --> ORACLE_HOME/jlib/dbui2.jar
     DummaDummy.class --> ORACLE_HOME/plsql/DummaDummy.class
   Sql scripts Executed:
     /scratch/userid/oracle/product/11.1.0/db_1/scripts/2.sql
   Sql Procedures Touched:
     JAN_300500_1, JAN_300500_2
   Patch Location in Inventory:
     /scratch/userid/oracle/product/11.1.0/db_1/inventory/oneoffs/100100
   Patch Location in Storage area:
     /scratch/userid/oracle/product/11.1.0/db_1/.patch_storage/100100_Apr_22_2008_23_57_54

Patch  300500       : applied on Tue Jun 05 03:06:55 PDT 2008
   Created on 07 Nov 2007, 04:57:14 hrs US/Eastern
   Bugs fixed:
     300500, 300501, 300502
   Files Touched:
     abc1.sql --> ORACLE_HOME/jlib/abc1.sql
     abc.sql --> ORACLE_HOME/jlib/abc.sql
   Patch Location in Inventory:
     /scratch/userid/oracle/product/11.1.0/db_1/inventory/oneoffs/300500
   Patch Location in Storage area:
     /scratch/userid/oracle/product/11.1.0/db_1/.patch_storage/       300500_Nov_07_2007_04_57_14

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

OPatch succeeded.

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


注意:

パッチ操作を実行する前に、ORACLE_HOMEをバックアップすることを強くお薦めします。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をリストアできます(バックアップされている場合)。バックアップが存在しない場合は、ソフトウェアを再インストールする必要があります。

OUIベースのOracleホームのOPatchユーティリティ


注意:

OPatchには、Oracle Universal Installer(OUI)を必要としない、スタンドアロンのパッチの適用方法もあります。これらのコマンドのオプションは、OUIを使用してパッチを適用する標準的な方法に対して提供されるオプションのサブセットです。スタンドアロンのパッチの適用とコマンドで使用可能なオプションの詳細は、「スタンドアロンのパッチ適用」を参照してください。

OPatchユーティリティは<Path_to_Oracle_Home>/OPatchディレクトリにあり、様々なコマンドおよびオプションを使用して実行できます。次の文字列は、OPatchユーティリティの構文を示しています。

<Path_to_OPatch>/opatch [-help] [-r[eport]] [command] [-option]

構文の詳細は次のとおりです。

表7-1 OUIベースのOPatchのコマンド

コマンド 説明

apply

個別パッチをインストールします。詳細は、「OUIベースのOracleホームのapplyコマンド」を参照してください。

napply

n個のパッチをインストールします(したがってnapply)。詳細は、「OUIベースのOracleホームのnapplyコマンド」を参照してください。

lsinventory

システムに現在何がインストールされているかをリストします。詳細は、「OUIベースのOracleホームのlsinventoryコマンド」を参照してください。

query

特定のパッチの詳細を問い合せます。詳細は、「OUIベースのOracleホームのqueryコマンド」を参照してください。

rollback

個別パッチを削除します。詳細は、「OUIベースのOracleホームのrollbackコマンド」を参照してください。

nrollback

n個のパッチを削除します(したがってnrollback)。詳細は、「OUIベースのOracleホームのnrollbackコマンド」を参照してください。

version

パッチ・ツールの現在のバージョンを出力します。詳細は、「OUIベースのOracleホームのversionコマンド」を参照してください。


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

<Path_to_OPatch>/opatch command -help

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

perl opatch.pl command -help

OUIベースのOracleホームのapplyコマンド

このコマンドは、現在のディレクトリのOracleホームに個別パッチを適用します。環境変数ORACLE_HOMEは、パッチを適用するOracleホームに設定する必要があります。

構文

このコマンドには次の構文を使用します。

opatch apply  [-delay <value> ] [ -force ]
              [-invPtrLoc <Path to oraInst.loc> ]
              [-jre <LOC> ] [-local ] [-minimize_downtime ]
              [-no_bug_superset ] [-no_inventory ]
              [-oh <ORACLE_HOME> ] [-retry <value> ] [-silent ]
              [-verbose ]  [-no_relink] [-pre <parameters for the
              pre script in escaped double quotes> [-opatch_pre_end] ]
              [-post <parameters for the post script in escaped
              quotes> [-opatch_post_end] ] [-no_sysmod]
              [-property_file <Path to property file>]
               [-local_node <Local node name>]
              [-remote_nodes <List of remote nodes (node1,node2)>]
              [-connectString  <List of connect strings>]
               [-runSql] [-sqlScript <path of the sql file>]
              [-ptlSchema <portal schema>] [-ptlPassword <portal password>]
              [-ptlConnect <portal connect string>]
              [-init <parameters for the init script in escaped double
               quotes> [-opatch_init_end] ] [-report]
              [<Patch Location>]

オプション

表7-2に、このコマンドで使用可能なオプションを示します。

表7-2 OUIパッチのapplyのオプション

オプション 説明

connectString

パッチを適用する必要のあるデータベース・インスタンスのリストを指定します。このオプションの値は、次の構文を使用して指定します。

SID:User:Passwd:Node

例:

oracle:dba:dba:mymachine,oracle1:::

SIDは必須ですが、その他のパラメータは、OPatchによってデフォルトの値が提供されるため、必要に応じて無視できます。

注意: システムがRAC設定の一部ではなく、ローカル・ノードにのみパッチを適用する場合、ノード名に空の文字列を指定します。

delay

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

force

競合するパッチをシステムから削除します。パッチの適用を妨げる競合が存在する場合、このオプションを使用してパッチを適用できます。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。

init

前提条件チェックを行う前に実行されるinitスクリプトにパラメータを渡します。このオプションの値は、二重引用符で囲む必要があります。

invPtrLoc

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

jre

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

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_relink

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

no_sysmod

OPatchでシステム内のファイルを更新する必要がないことを指定します。インベントリのみを更新します。preスクリプトおよびpostスクリプトも実行しません。

oh

デフォルトのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_init_end

initオプションの終わりを示します。initオプションとともに使用します。このオプションを使用しない場合、initからコマンドの終わりまでのすべてがinitに渡されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。

post

postスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

ptlConnect

ポータル・スキーマの接続文字列の資格証明を指定します。

ptlPassword

ポータル・スキーマのパスワードを指定します。

ptlSchema

ポータル・リポジトリのスキーマを指定します。

remote_nodes

リモート・ノードのリストをOPatchに示します。このオプションは、Oracle Real Application Clusters環境で使用できます。ノード名はカンマで区切る必要がありますがスペースは不要です。

report

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

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を示します。

runSql

SQLスクリプトおよびSQLプロシージャが指定のパッチに存在する場合、これらを実行するようにOPatchに指示します。SQLおよびPL/SQLのパッチの適用の詳細は、「スキーマのパッチの適用」を参照してください。

silent

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

sqlScript

パッチの適用後、OPatchが実行する必要のあるカスタムSQLスクリプトを指定します。SQLおよびPL/SQLのパッチの適用の詳細は、「スキーマのパッチの適用」を参照してください。

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。



注意:

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

OUIベースのOracleホームのnapplyコマンド

このコマンドは、複数のOracleホームに複数の個別パッチを同時に適用します。

構文

このコマンドには次の構文を使用します。

opatch napply [patch_location] [-id comma-separated list of patch IDs]
                          [-delay <value> ] [ -force ]
                      [-invPtrLoc <Path to oraInst.loc> ]
                      [-jdk <LOC> ] [-jre <LOC> ] [ -local ]
                      [-minimize_downtime ] [-no_bug_superset ]
                      [-no_inventory ] [-oh <ORACLE_HOME> ]
                      [-retry <value> ] [-silent ]
                      [-verbose ]  [-no_relink]
                       [-pre <parameters for the pre script in
                      escaped double quotes> [-opatch_pre_end] ]
                      [-post <parameters for the post script in
                      escaped double quotes> [-opatch_post_end] ]
                      [-no_sysmod]
                      [ -property_file <Path to property file> ]
                      [ -local_node <Local node name> ]
                      [ -remote_nodes <List of remote nodes (node1,node2)> ]
                      [ -all_nodes ]
                      [ -phBaseFile <Path to the file containing the
                        location of the patches to be applied> ]
                      [-skip_subset] [-skip_duplicate] [-report]

  • 次の例では、<patch_location>ディレクトリの下にあるすべてのパッチを適用します。

    opatch napply <patch_location>
    
  • 次の例では、<patch_location>ディレクトリの下にあるパッチ1、2および3を適用します。

    opatch napply <patch_location> -id 1,2,3
    



  • 次の例では、<patch_location>ディレクトリの下にあるすべてのパッチを適用します。OPatchは、重複するパッチおよびサブセット・パッチ(<patch_location>の下にあるパッチで、Oracleホームにインストールされているパッチのサブセット)を省略します。

    opatch napply <patch_location> -skip_subset -skip_duplicate
    

    詳細は、表7-3skip_subsetオプションの説明を参照してください。

  • 次の例では、<patch_location>ディレクトリの下にあるパッチ1、2および3を適用します。OPatchは、重複するパッチおよびサブセット・パッチ(<patch_location>の下にあるパッチで、Oracleホームにインストールされているパッチのサブセット)を省略します。

    opatch napply <patch_location> -id 1,2,3 -skip_subset -skip_duplicate
    

    詳細は、表7-3skip_subsetオプションの説明を参照してください。

オプション

表7-3に、このコマンドで使用可能なオプションを示します。

表7-3 OUIパッチのnapplyのオプション

オプション 説明

all_nodes

全ノード・モードを使用してパッチを適用します。

delay

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

force

競合するパッチをシステムから削除します。パッチの適用を妨げる競合が存在する場合、このオプションを使用してパッチを適用できます。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。

invPtrLoc

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

jdk

Oracleホーム・ディレクトリ下のデフォルトの場所のかわりに、特定のJDK(jar)の場所を使用するようにOPatchに指示します。jreオプションを指定しない場合、JVMはjdkの場所から実行されます。

jre

Oracleホーム・ディレクトリ下のデフォルトの場所のかわりに、特定のJRE(Java)の場所を使用するようにOPatchに指示します。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_relink

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

no_sysmod

OPatchでシステム内のファイルを更新する必要がないことを指定します。インベントリのみを更新します。preスクリプトおよびpostスクリプトも実行しません。

oh

デフォルトのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。

phBaseFile

<patch_location>を指定しない場合、このオプションを使用すると、napplyが実行されるパッチのリストを含むファイルをOPatchに示します。ファイルの各行は、パッチの場所を示します。

post

postスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

remote_nodes

リモート・ノードのリストをOPatchに示します。このオプションは、Oracle Real Application Clusters環境で使用できます。ノード名はカンマで区切る必要がありますがスペースは不要です。

report

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

retry

インベントリのロックに失敗した場合にOPatchが再試行する必要のある回数を示します。

silent

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

skip_duplicate

Oracleホームにインストールされている他のパッチと重複しているパッチの適用を省略します。2つのパッチが同じセットの不具合を修正する場合、これらは重複しています。

skip_subset

Oracleホームにインストールされている他のパッチのサブセットであるパッチの適用を省略します。あるパッチが別のパッチで修正される不具合のサブセットを修正する場合、前者は後者のサブセットになります。

たとえば、不具合の1および2を修正するパッチAにnapplyを昨日使用し、不具合の1を修正するパッチBと不具合の1、2および3を修正するパッチCに対してこのオプションを指定してnapplyを今日使用する場合、サブセットのパッチAは省略され、パッチCはパッチAのスーパーセットになります。

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。


OUIベースのOracleホームのlsinventoryコマンド

このコマンドは、特定のOracleホームのインベントリを示すか、または検出できるすべてのインストールを表示します。このコマンドに必要なオプションはありません。

構文

このコマンドには次の構文を使用します。

opatch lsinventory [-all ][-all_nodes]
               [-bugs_fixed asc|desc]
               [-delay <value> ][-detail]
               [-group_by_date]
               [-invPtrLoc <Path to oraInst.loc> ][-jre <LOC> ]
               [-oh <ORACLE_HOME> ]
               [-patch asc|desc]
               [-property_file <path to property file>]
               [-retry <value> ]

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

-detailオプションの例

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

Oracle interim Patch Installer version 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/11.1.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/11.1.0/db_1/oraInst.loc
OPatch version    : 11.1.0.6.6
OUI version       : 11.1.0.6.6
OUI location      : /home/oracle_TEST/product/11.1.0/db_1/oui
Log file location : /home/oracle_
TEST/product/11.1.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/11.1.0/db_
1/cfgtoollogs/opatch/lsinv/lsinventory-2008_May_25_11-09-34-IST_Wed.txt
 --------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 11g                                                  11.1.0.6.6
There are 1 products installed in this Oracle Home.
Installed Products (10):
Agent Required Support Files                                         11.1.0.6.6
Assistant Common Files                                               11.1.0.6.6
Bali Share                                                           1.1.18.0.0
Buildtools Common Files                                              11.1.0.6.6
Character Set Migration Utility                                      11.1.0.6.6
Database Configuration and Upgrade Assistants                        11.1.0.6.6
Database SQL Scripts                                                 11.1.0.6.6
Database Workspace Manager                                           11.1.0.6.6
DBJAVA Required Support Files                                        11.1.0.6.6
Enterprise Edition Options                                           11.1.0.6.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/11.1.0/db_1/inventory/oneoffs/111000
Patch Location in Storage area:
/home/oracle_TEST/product/11.1.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 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/11.1.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/11.1.0/db_1/oraInst.loc
OPatch version    : 11.1.0.6.6
OUI version       : 11.1.0.6.6
OUI location      : /home/oracle_TEST/product/11.1.0/db_1/oui
Log file location : /home/oracle_
TEST/product/11.1.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/11.1.0/db_
1/cfgtoollogs/opatch/lsinv/lsinventory-2008_May_25_11-09-34-IST_Wed.txt
 --------------------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 11g                                                  11.1.0.6.6
Oracle Database 11g Release 2 Patch Set 2                            11.1.0.6.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 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/11.1.0/db_1
Central Inventory : /home/OUIHome_Opatch
   from           : /home/oracle_TEST/product/11.1.0/db_1/oraInst.loc
OPatch version    : 11.1.0.6.6
OUI version       : 11.1.0.6.6
OUI location      : /home/oracle_TEST/product/11.1.0/db_1/oui
Log file location : /home/oracle_
TEST/product/11.1.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/11.1.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 2008, 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 2007, 04:57:14 hrs US/Eastern
   Bugs fixed:
     300500, 300501, 300502
 --------------------------------------------------------------------------------
 OPatch succeeded.

lsinventoryのオプション

表7-4に、このコマンドで使用可能なオプションを示します。

表7-4 OUIパッチのlsinventoryのオプション

オプション 説明

all

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

all_nodes

RACシステムのすべてのノードで指定のOracleホームにインストールされたパッチをレポートします。すべてのノードのOracleバイナリのサイズおよびチェックサムも出力します。alldetailまたはpatchオプションとともに使用することはできません。

bugs_fixed

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

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

delay

retryを指定する場合、インベントリのロックが失敗したときに、次のインベントリ・ロックを再試行する前に待機する秒数をOPatchに指示します。

detail

インストールされている製品およびその他の詳細をレポートします。allオプションとともに使用することはできません。

group_by_date

インストール済のすべてのパッチを、Oracleホームにインストールされた日付ごとにグループ化するようにOPatchに指示します。

invPtrLoc

oraInst.locファイルを検索します。インストール時にinvPtrLocオプションを使用した場合、このオプションが必要です。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

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

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

patch

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

property_file

OPatchが使用する必要のあるユーザー定義のプロパティ・ファイルを示します。プロパティのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するプロパティ・ファイルよりも優先されます。

retry

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


OUIベースのOracleホームのqueryコマンド

このコマンドは、特定のパッチの詳細を問い合せます。パッチおよびパッチが適用されるシステムに関する情報を提供します。

構文

このコマンドには次の構文を使用します。

opatch query  [-all] [-jre <LOC> ] [-oh <LOC> ]
              [-get_component] [-get_os] [-get_date]
              [-get_base_bug] [-is_portal_patch]
              [-is_rolling_patch] [-is_online_patch]
              [-has_sql] [ <Patch Location> ]

オプション

表7-5に、queryコマンドで使用可能なオプションを示します。

表7-5 queryのオプション

オプション 説明

all

パッチに関するすべての情報を取得します。すべての使用可能なオプションを設定することと同じです。

get_base_bug

パッチで修正された不具合を取得します。

get_component

パッチが影響を与えるコンポーネントを取得します。

get_date

パッチを作成した日付と時刻を取得します。

has_sql

パッチにSQL関連のアクションがある場合、trueを示します。それ以外は、falseになります。SQLおよびPL/SQLのパッチの適用の詳細は、「スキーマのパッチの適用」を参照してください。

is_online_patch

パッチがオンライン・パッチの場合、trueを示します。それ以外は、falseになります。

is_portal_patch

パッチにポータル・アクションがある場合、trueを示します。それ以外は、falseになります。

is_rolling_patch

パッチがローリング・パッチの場合、trueを示します。それ以外は、falseになります。

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。


OUIベースのOracleホームのrollbackコマンド

このコマンドは、参照IDで示された適切なOracleホーム・ディレクトリから既存の個別パッチを削除します。

構文

このコマンドには次の構文を使用します。

opatch rollback -id <ID> [-ph <Patch Location>]  [-delay <value>]
              [-invPtrLoc <Path to oraInst.loc> ]
              [-jre <LOC> ] [-local]  [-oh <ORACLE_HOME>]
              [-retry <value>]  [-silent]  [-verbose]
              [-no_relink] [-pre <parameters for the pre
              script in escaped double quotes> [-opatch_pre_end] ]
              [-post <parameters for the post script in escaped
              double quotes>[ -opatch_post_end] ] [-no_sysmod]
              [-property_file <path to property file>]
              [-local_node <Local node name>]
              [-remote_nodes <List of remote nodes (node1,node2)>]
              [-connectString  <List of connect strings>]
              [-ptlSchema <portal schema>] [-ptlPassword <portal password>]
              [-ptlConnect <portal connect string>]
              [-runSql] [-sqlScript <path of the sql file>]
              [-init <parameters for the init script in escaped double
              quotes> [-opatch_init_end] ] [-report]

オプション

表7-6に、rollbackコマンドで使用可能なオプションを示します。

表7-6 OUIパッチのrollbackのオプション

オプション 説明

all_nodes

全ノード・モードを使用してパッチをロールバックします。

connectString

パッチを適用する必要のあるデータベース・インスタンスのリストを指定します。このオプションの値は、次の構文を使用して指定します。

SID:User:Passwd:Node

例:

oracle:dba:dba:mymachine,oracle1:::

SIDは必須ですが、その他のパラメータは、OPatchによってデフォルトの値が提供されるため、必要に応じて無視できます。

注意: システムがRAC設定の一部ではなく、ローカル・ノードにのみパッチを適用する場合、ノード名に空の文字列を指定します。

delay

rollbackコマンドでretryオプションを使用する場合、インベントリのロックが失敗したときに、次のインベントリ・ロックを再試行する前にOPatchが待機する秒数を指定します。

id

ロールバックするパッチを指定します。すべてのパッチ識別子を表示するにはlsinventoryオプションを使用します。各個別パッチは、そのIDで示されます。パッチのロールバックを成功させるには、パッチ識別子を指定する必要があります。

init

前提条件チェックを行う前に実行されるinitスクリプトにパラメータを渡します。このオプションの値は、二重引用符で囲む必要があります。

invPtrLoc

oraInst.locファイルの場所を指定します。インストール時にinvPtrLocオプションを使用した場合、このオプションを使用する必要があります。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jre

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

local

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

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

local_node

このノードがロールバックに使用されるクラスタのローカル・ノードであることをOPatchに指定します。

このオプションは、Oracle Real Application Clusters環境で使用できます。

no_sysmod

OPatchでシステム内のファイルを更新する必要がなく、インベントリのみを更新することを指定します。preスクリプトおよびpostスクリプトも実行しません。

no_relink

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

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_init_end

initオプションの終わりを示します。initオプションとともに使用します。このオプションを使用しない場合、initからコマンドの終わりまでのすべてがinitに渡されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。

ph

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

post

postスクリプト内で渡されるパラメータを指定します。このスクリプトは、パッチの削除後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプト内で渡されるパラメータを指定します。このスクリプトは、パッチの削除前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

ptlConnect

ポータル・スキーマの接続文字列の資格証明を指定します。

ptlSchema

ポータル・リポジトリのスキーマを指定します。

ptlPassword

ポータル・スキーマのパスワードを指定します。

remote_nodes

パッチのロールバックに使用されるリモート・ノードのリストをOPatchに指定します。ノード名はカンマで区切る必要がありますがスペースは不要です。

このオプションは、Oracle Real Application Clusters環境で使用できます。

report

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

retry

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

runSql

SQLスクリプトおよびSQLプロシージャが指定のパッチに存在する場合、これらを実行するようにOPatchに指示します。SQLおよびPL/SQLのパッチの適用の詳細は、「スキーマのパッチの適用」を参照してください。

sqlScript

パッチの適用後、OPatchが実行する必要のあるカスタムSQLスクリプトを指定します。SQLおよびPL/SQLのパッチの適用の詳細は、「スキーマのパッチの適用」を参照してください。

silent

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

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。


OUIベースのOracleホームのnrollbackコマンド

このコマンドは、複数のOracleホームから複数の個別パッチを同時にロールバックします。

構文

このコマンドには次の構文を使用します。

opatch nrollback -id <comma-separated list of patch IDs>
                      [-delay <value>] [-invPtrLoc <Path to oraInst.loc> ]
                      [-jdk <LOC> ] [-jre <LOC> ] [-local]
                       [-minimize_downtime] [-no_relink] [-oh <ORACLE_HOME> ]
                      [-retry <value>]  [-silent]  [-verbose]
                      [-pre <parameters for the pre script in
                       escaped double quotes> [-opatch_pre_end] ]
                      [-post <parameters for the post script in
                      escaped double quotes>[ -opatch_post_end] ]
                      [-no_sysmod] [-property_file <Path to property file>]
                      [-local_node <Local node name>]
                      [-remote_nodes <List of remote nodes (node1,node2)>]
                      [ -all_nodes ] [-report]

次の例では、Oracleホームにインストールされたパッチ1、2および3をロールバックします。

opatch nrollback -id 1,2,3

オプション

表7-7に、このコマンドで使用可能なオプションを示します。

表7-7 OUIパッチのnrollbackのオプション

オプション 説明

all_nodes

全ノード・モードを使用してパッチをロールバックします。

delay

rollbackコマンドでretryオプションを使用する場合、インベントリのロックが失敗したときに、次のインベントリ・ロックを再試行する前にOPatchが待機する秒数を指定します。

id

ロールバックするパッチを指定します。すべてのパッチ識別子を表示するにはlsinventoryオプションを使用します。各個別パッチは、そのIDで示されます。パッチのロールバックを成功させるには、パッチ識別子を指定する必要があります。

invPtrLoc

oraInst.locファイルの場所を指定します。インストール時にinvPtrLocオプションを使用した場合、このオプションを使用する必要があります。プラットフォームのデフォルトのセントラル・インベントリを使用することをお薦めします。

jdk

Oracleホーム・ディレクトリ下のデフォルトの場所のかわりに、特定のJDK(jar)の場所を使用するようにOPatchに指示します。jreオプションを指定しない場合、JVMはjdkの場所から実行されます。

jre

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

local

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

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

local_node

このノードがロールバックに使用されるクラスタのローカル・ノードであることをOPatchに指定します。

このオプションは、Oracle Real Application Clusters環境で使用できます。

minimize_downtime

OPatchによるパッチの適用が必要なノードの順序を指定します。

このオプションは、Oracle Real Application Clusters環境にのみ適用されます。-localオプションまたはローリング・パッチとともに使用することはできません。

no_sysmod

OPatchでシステム内のファイルを更新する必要がなく、インベントリのみを更新することを指定します。preスクリプトおよびpostスクリプトも実行しません。

no_relink

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

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

remote_nodes

パッチのロールバックに使用されるリモート・ノードのリストをOPatchに指定します。ノード名はカンマで区切る必要がありますがスペースは不要です。

このオプションは、Oracle Real Application Clusters環境で使用できます。

report

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

retry

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

silent

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

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。


OUIベースのOracleホームのversionコマンド

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

<Path_to_OPatch>/opatch version

スタンドアロンのパッチの適用

スタンドアロンのパッチの適用は、Oracle Universal Installerを使用してインストールされないOracleホームに使用できます。スタンドアロンのパッチの適用では、セントラル・インベントリの登録はありませんが、個別インベントリと今後の競合チェック用のインベントリ・ファイルが生成されます。OPatchはORACLE_HOMEの下にあるOUIディレクトリを使用して、OPatchがOUIベースまたはスタンドアロン・モードのどちらで機能する必要があるかを判断します。

次の項では、スタンドアロンのパッチの適用について説明します。

スタンドアロンのパッチの適用でサポートされないサービス

スタンドアロンのパッチの適用では、OUTベースのパッチの適用で提供されるほとんどのサービスが提供されます。ただし、スタンドアロンのパッチの適用では、OUTベースのパッチの適用で提供される次のサービスが提供されません。

コンポーネント・インベントリの検索

スタンドアロンのOPatchでは、どのパッチがスタンドアロンのOracleホームに適用されたのかを検索できますが、製品コンポーネントの検索はサポートされていません。たとえば、JDeveloper Oracleホームでopatch lsinventoryを実行する場合、OPatchはそのホームに適用されたパッチのリストを表示します。ただし、ホームに存在するコンポーネントは表示されません。

セントラル・インベントリの検索

opatch lsinventory -allを実行して、(セントラル・インベントリ・リポジトリによって)ホストに登録されているすべてのOracleホームをリストすることはできません。

スタンドアロンとOUIベース間のパッチの適用の移行

前提として、OUIを使用せずに製品をスタンドアロンとしてインストールした場合、その製品はスタンドアロンになります。たとえば、JDeveloperをインストールした後、(コピーまたは適切なインストールによって)OUIをOracleホームに配置し、OPatchがそのホームをOUIベースのOracleホームとして扱うようにすることはできません。

逆に、OUIを使用して製品をインストールした場合、その製品はOUIベースになります。たとえば、Oracle RDBMSをインストールした後、(削除または適切な削除のいずれかで)OUIを削除し、OPatchがそのホームをスタンドアロンのOracleホームとして扱うようにすることはできません。この場合、OPatchは適切に機能せず、ホームが破損します。

スタンドアロンとOUIベース間でのパッチの相互運用

スタンドアロンとOUTベース間でホームを移行できないため、OPatchはスタンドアロンとOUIベースのOracleホーム間の相互運用をサポートしていません。

クローニングされたスタンドアロンのOracleホームでのシームレスな操作

スタンドアロンのOracleホームS1を別のOracleホームOH2にクローニングする場合、Opatchは新しくクローニングされたOH2で適切に機能しません。

RACのサポート

OPatchはOUIに依存して、RACを検出し、ファイルを伝播します。そのため、スタンドアロンのOPatchではRACをサポートしません。RACの検出は行わず、そのユーティリティは機能しません。つまり、OPatchはopatch apply -localとして常に動作します。OPatchは、ノード間のパッチの伝播をサポートしません。また、スタンドアロンのOPatchでは、opatch util runRemoteMake(リモート・ノードで再リンクを起動する)などのRAC関連のユーティリティもサポートしません。

パッチ・セット操作の実行

OPatchは、スタンドアロンまたはOUIのどちらのモードでもパッチ・セット操作をサポートしていません。パッチ・セット操作にはOUIを使用する必要があります。

スタンドアロンのパッチの適用の要件

スタンドアロンのパッチの適用には次の環境が必要です。

  • JREバージョン1.4以上

  • OUIを使用しないOracleホーム

  • スタンドアロンのパッチの適用をサポートするOPatch

OPatchが正しく機能するには、すべての必要なファイルおよびディレクトリが存在する必要があります。いずれかのファイルが失われている場合、パッチが適用されていないことがOPatchによって認識されます。その場合、スタンドアロンのインベントリを安定した状態に戻して、修正アクションを実行する必要があります。

スタンドアロンのホームのOPatchユーティリティ

OUIベースのパッチの適用と同様に、OPatchユーティリティは<Path_to_Oracle_Home>/OPatchディレクトリにあり、様々なコマンドおよびオプションを使用して実行できます。次の文字列は、OPatchユーティリティの構文を示しています。

<Path_to_OPatch>/opatch [-help] [-r[eport]] [command] [-option]

構文の詳細は次のとおりです。

  • help: コマンドのヘルプ・メッセージを表示します。

  • report: アクションを実行せずに出力します。

  • command: OPatchコマンドのいずれかです。

  • option: OPatchコマンド・オプションのいずれかです。

表7-8に、スタンドアロンのパッチの適用で使用可能なコマンドを示します。

表7-8 スタンドアロンのOPatchのコマンド

コマンド 説明

apply

個別パッチをインストールします。詳細は、「スタンドアロンのOPatchのapplyコマンド」を参照してください。

lsinventory

システムに現在何がインストールされているかをリストします。詳細は、「スタンドアロンのOPatchのlsinventoryコマンド」を参照してください。

query

特定のパッチの詳細を問い合せます。詳細は、「スタンドアロンのOPatchのqueryコマンド」を参照してください。

rollback

個別パッチを削除します。詳細は、「スタンドアロンのOPatchのrollbackコマンド」を参照してください。

version

パッチ・ツールの現在のバージョンを出力します。詳細は、「スタンドアロンのOPatchのversionコマンド」を参照してください。


次の項では、各コマンドの構文とオプションを示します。

スタンドアロンのOPatchのapplyコマンド

applyコマンドは、現在のディレクトリのスタンドアロンのホームに個別パッチを適用します。

構文

このコマンドには次の構文を使用します。

opatch apply  [ -force ] [-jre <LOC> ] [-no_bug_superset ] [-no_inventory ]
              [-oh <ORACLE_HOME> ][-silent ][-verbose ]
                [-no_relink] [-pre <parameters for the
              pre script in escaped double quotes> [-opatch_pre_end] ]
              [-post <parameters for the post script in escaped
              quotes> [-opatch_post_end] ] [-no_sysmod]
              [-property_file <Path to property file>]
               [-init <parameters for the init script in escaped double
              quotes> [-opatch_init_end] ] [-report]
              [<Patch Location>]

オプション

表7-9に、applyコマンドで使用可能なオプションを示します。

表7-9 スタンドアロンのパッチのapplyのオプション

オプション 説明

force

スタンドアロンのOracleホームの製品番号とバージョン番号を変更できるため、競合するパッチをシステムから排除します。OPatchは、現在のパッチを適用する前に、競合するパッチをすべて削除します。

init

前提条件チェックを行う前に実行されるinitスクリプトにパラメータを渡します。このオプションの値は、二重引用符で囲む必要があります。

jre

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

no_bug_superset

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

no_inventory

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

no_relink

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

no_sysmod

OPatchでシステム内のファイルを更新する必要がないことを指定します。インベントリのみを更新します。preスクリプトおよびpostスクリプトも実行しません。

oh

デフォルトのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_init_end

initオプションの終わりを示します。initオプションとともに使用します。このオプションを使用しない場合、initからコマンドの終わりまでのすべてがinitに渡されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。

post

postスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプトに渡されるパラメータを指定します。このスクリプトは、パッチの適用前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

silent

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

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。


スタンドアロンのOPatchのlsinventoryコマンド

lsinventoryコマンドは、特定のOracleホームのインベントリを示すか、または検出できるすべてのインストールを表示します。このコマンドに必要なオプションはありません。

構文

このコマンドには次の構文を使用します。

opatch lsinventory [-all ]  [-detail ] [-jre <LOC> ]
               [-oh <ORACLE_HOME> ] [-patch] [-oh]
               [-property_file <path to property file>]

オプション

表7-10に、lsinventoryコマンドで使用可能なオプションを示します。

表7-10 スタンドアロンのパッチのlsinventoryのオプション

オプション 説明

all

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

detail

インストールされている製品およびその他の詳細をレポートします。allオプションとともに使用することはできません。

jre

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

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

patch

Oracleホームにインストールされたパッチを指定します。

property_file

OPatchが使用する必要のあるユーザー定義のプロパティ・ファイルを示します。プロパティのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するプロパティ・ファイルよりも優先されます。


スタンドアロンのOPatchのqueryコマンド

このコマンドは、特定のパッチの詳細を問い合せます。パッチおよびパッチが適用されるシステムに関する情報を提供します。

構文

このコマンドには次の構文を使用します。

opatch query  [-all] [-jre <LOC> ] [-oh <LOC> ]
              [-get_component] [-get_os] [-get_date]
              [-get_base_bug] [-is_portal_patch]
              [-is_rolling_patch] [-is_online_patch]
              [-has_sql] [ <Patch Location> ]

オプション

表7-11に、queryコマンドで使用可能なオプションを示します。

表7-11 queryのオプション

オプション 説明

all

パッチに関するすべての情報を取得します。すべての使用可能なオプションを設定することと同じです。

get_base_bug

パッチで修正された不具合を取得します。

get_component

パッチが影響を与えるコンポーネントを取得します。

get_date

パッチを作成した日付と時刻を取得します。

has_sql

パッチにSQL関連のアクションがある場合、trueを示します。それ以外は、falseになります。SQLおよびPL/SQLのパッチの適用の詳細は、「スキーマのパッチの適用」を参照してください。

is_online_patch

パッチがオンライン・パッチの場合、trueを示します。それ以外は、falseになります。

is_portal_patch

パッチにポータル・アクションがある場合、trueを示します。それ以外は、falseになります。

is_rolling_patch

パッチがローリング・パッチの場合、trueを示します。それ以外は、falseになります。

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。


スタンドアロンのOPatchのrollbackコマンド

rollbackコマンドは、参照IDで示された適切なOracleホーム・ディレクトリから既存の個別パッチを削除します。

構文

このコマンドには次の構文を使用します。

opatch rollback -id <ID> [-ph <Patch Location>]
              [-jre <LOC> ] [-oh <ORACLE_HOME>]
              [-silent]  [-verbose] [-no_relink]
              [-pre <parameters for the pre
              script in escaped double quotes> [-opatch_pre_end] ]
              [-post <parameters for the post script in escaped
              double quotes>[ -opatch_post_end] ] [-no_sysmod]
              [-property_file <path to property file>]
              [-init <parameters for the init script in escaped double
              quotes> [-opatch_init_end] ] [-report]

オプション

表7-12に、rollbackコマンドで使用可能なオプションを示します。

表7-12 スタンドアロンのパッチのrollbackのオプション

オプション 説明

id

ロールバックするパッチを指定します。すべてのパッチ識別子を表示するにはlsinventoryオプションを使用します。各個別パッチは、そのIDで示されます。パッチのロールバックを成功させるには、パッチ識別子を指定する必要があります。

init

前提条件チェックを行う前に実行されるinitスクリプトにパラメータを渡します。このオプションの値は、二重引用符で囲む必要があります。

jre

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

no_sysmod

OPatchでシステム内のファイルを更新する必要がなく、インベントリのみを更新することを指定します。preスクリプトおよびpostスクリプトも実行しません。

no_relink

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

oh

デフォルト・ディレクトリのかわりに使用するOracleホーム・ディレクトリを指定します。環境変数ORACLE_HOMEよりも優先されます。

opatch_init_end

initオプションの終わりを示します。initオプションとともに使用します。このオプションを使用しない場合、initからコマンドの終わりまでのすべてがinitに渡されます。

opatch_post_end

postオプションの終わりを示します。postオプションとともに使用します。このオプションを使用しない場合、postからコマンドの終わりまでのすべてがpostに渡されます。

opatch_pre_end

preオプションの終わりを示します。preオプションとともに使用します。このオプションを使用しない場合、preからコマンドの終わりまでのすべてがpreに渡されます。

Patch Location

パッチの場所のパスを示します。場所を指定しない場合、OPatchは現在のディレクトリをパッチの場所とします。

ph

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

post

postスクリプト内で渡されるパラメータを指定します。このスクリプトは、パッチの削除後に実行されます。このオプションの値は二重引用符で囲む必要があります。

pre

preスクリプト内で渡されるパラメータを指定します。このスクリプトは、パッチの削除前に実行されます。このオプションの値は二重引用符で囲む必要があります。

property_file

OPatchが使用するユーザー定義のプロパティ・ファイルを指定します。プロパティ・ファイルのパスは絶対パスにする必要があります。このプロパティ・ファイルは、OPatchが提供するファイルよりも優先されます。

report

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

silent

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

verbose

画面およびログ・ファイルにOPatchの詳細を出力します。


スタンドアロンのOPatchのversionコマンド

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

<Path_to_OPatch>/opatch version

使用例

次の項では、次のタイプの操作に対してスタンドアロンのパッチの適用を実装する際に管理者が遭遇する可能性のあるシナリオを示します。

  • インベントリ

  • パッチの適用

  • ユーティリティ

インベントリ操作

次の表に、使用例の目的と前提条件、およびパッチの適用のプロセスで発生するプロセスを示します。

表7-13 パッチ情報の取得

使用例のカテゴリ 説明

目的

スタンドアロンのOracleホームにインストールされている個別パッチのリストを表示します。

前提条件

$ORACLE_HOMEが設定され、スタンドアロンのOPatchを使用してOracleホームにパッチが適用されていること。

ユーザーの入力

次のコマンドを入力します。

opatch lsinventory

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. スタンドアロンのインベントリ・ファイルを検索します。

  3. インストールされている個別パッチのリストを出力します。


表7-14 パッチの詳細情報の取得

使用例のカテゴリ 説明

目的

スタンドアロンのOracleホームにインストールされている個別パッチのリストの詳細を表示します。

前提条件

$ORACLE_HOMEが設定され、スタンドアロンのOPatchを使用してOracleホームにパッチが適用されていること。

ユーザーの入力

次のコマンドを入力します。

opatch lsinventory -detail

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. スタンドアロンのインベントリ・ファイルを検索します。

  3. インストールされている個別パッチと各個別パッチによって影響を受けるファイルのリストを出力します。


パッチの適用操作

次の表に、使用例の目的と前提条件、およびパッチの適用のプロセスで発生するプロセスを示します。

表7-15 個別パッチの適用 - ケース1

使用例のカテゴリ 説明

目的

スタンドアロンのOracleホームに個別パッチを適用します。

前提条件

$ORACLE_HOMEが設定され、スタンドアロンのOPatchを使用してOracleホームにパッチが適用されていること。パッチがダウンロードされていること。

ユーザーの入力

次のコマンドを入力します。

opatch apply/patch_loc/123451

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. スタンドアロンのインベントリ・ファイルを検索し、競合があるかどうかを確認します。

  3. 競合するパッチがある場合、自動ロールバックを実行します。

  4. ホームに新しいパッチを適用します。

  5. そのスタンドアロンのインベントリを更新します。


表7-16 個別パッチの適用 - ケース2

使用例のカテゴリ 説明

目的

別のOUIベースのOracleホーム内に存在する個別パッチをスタンドアロンのOracleホームに適用します。

前提条件

$ORACLE_HOMEが設定され、新しいOPatchを使用してOracleホームにパッチが適用されていること。パッチがダウンロードされていること。

スタンドアロンのOracleホームに、OUIベースのOracleホームとは異なるディレクトリ・パスがあること。たとえば、OUIベースのOracleホームのパスが/pathで、スタンドアロンのOracleホームが/path/devのような場合です。

ユーザーの入力

次のコマンドを入力します。

opatch apply/patch_loc/123451

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. スタンドアロンのインベントリ・ファイルを検索し、競合があるかどうかを確認します。

  3. 競合するパッチがある場合、自動ロールバックを実行します。

  4. ホームに新しいパッチを適用します。

  5. そのスタンドアロンのインベントリを更新します。


表7-17 個別パッチの適用 - ケース3

使用例のカテゴリ 説明

目的

スタンドアロンのOracleに個別パッチを適用します。OPatchは、スタンドアロンのように見えるOracleホームをOUIベースとして検出します。

前提条件

$ORACLE_HOMEが設定され、新しいOPatchを使用してOracleホームにパッチが適用されていること。パッチがダウンロードされていること。

ユーザーの入力

次のコマンドを入力します。

opatch apply/patch_loc/123451

OPatchのレスポンス

  1. ORACLE_HOME/ouiを検出し、それがOUIベースのOracleホームであると認識します。

  2. OUIベースのOracleホームのパッチの適用としてパッチを適用します(パッチがホームと互換性がある場合)。


表7-18 適用された個別パッチのロールバック

使用例のカテゴリ 説明

目的

以前にスタンドアロンのOracleホームに適用された個別パッチをロールバックします。

前提条件

$ORACLE_HOMEが設定され、スタンドアロンのOPatchを使用してOracleホームにパッチが適用されていること。

ユーザーの入力

次のコマンドを入力します。

opatch rollback -id 123451

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. スタンドアロンのインベントリ・ファイルを調査して、パッチ123451が適用されているかどうかを確認します。

  3. パッチ123451をロールバックします。

  4. そのスタンドアロンのディレクトリを更新します。


ユーティリティ操作

次の表に、使用例の目的と前提条件、およびパッチの適用のプロセスで発生するプロセスを示します。

表7-19 任意のXMLファイルのロード

使用例のカテゴリ 説明

目的

XMLファイルをロードして、そのXML解析が可能であることを確認します。

前提条件

$ORACLE_HOMEが設定されていること。

ユーザーの入力

次のコマンドを入力します。

opatch util loadXML

多くの場合、loadXMLユーティリティはデバッグおよびトラブルシューティングのツールとして使用されることに注意してください。

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. ロードするXMLファイルの完全パスを求めるプロンプトを表示します。

  3. ファイルを開き、XMLパーサーを使用してファイルを解析します。

  4. ファイルのXML解析が可能であることをレポートします。


表7-20 パッチの適用の確認

使用例のカテゴリ 説明

目的

パッチがOracleホームに適用されたことを確認します。

前提条件

$ORACLE_HOMEが設定され、スタンドアロンのOPatchを使用してOracleホームにパッチが適用されていること。

ユーザーの入力

次のコマンドを入力します。

opatch util verify -ph/patch_loc/123451

OPatchがOracleホームにパッチを適用すると、パッチの確認が自動的に開始されることに注意してください。パッチの適用後、verifyを再実行する必要はありません。

OPatchのレスポンス

  1. これがスタンドアロンのOracleホームであることを検出します。

  2. /patch_loc/123451を調査し、これが有効なパッチ領域であることを確認します。

  3. /patch_loc/123451内のファイルを調査し、Oracleホームに同じビットでパッチが適用されていることを確認します。

  4. パッチ・インベントリおよびパッチ・バイナリがOracleホーム内にあることをレポートします。


スキーマのパッチの適用

スキーマのパッチは2種類あります。

次の項では、次のトピックについて説明します。

スキーマのパッチの適用のオプション

表7-21に、OPatchが適用およびロールバックに対してサポートするスキーマのパッチの適用のオプションを示します。

表7-21 スキーマのパッチの適用のオプション

オプション 説明

-runSql

パッチからSQLスクリプトを読み取り、指定のSIDで実行するようにOPatchに指示します。patchmd.xml SQLスクリプトの仕様およびカスタムSQLスクリプトにこのオプションを指定する必要があります。

-sqlScript

このカスタムSQLスクリプトを実行するようにOPatchに指定します。これはオプションのパラメータです。

-connectString

パッチが適用されるデータベース・インスタンスのSID、ユーザーおよびパスワードのリストを提供します。各エントリはカンマ(,)で区切られます。このオプションの値には、次の形式が使用されます。

SID1:USER1:PASSWORD1:NODE1, SID2:USER2:PASSWORD2:NODE2


スタンドアロンのSQLの実行

OPatchには、指定のデータベース・インスタンスにのみパッチを適用するSQLスクリプトを実行するユーティリティがあります。通常の適用またはロールバックのセッションを使用してSQLプロシージャのアクションを適用またはロールバックできない場合にのみ、このユーティリティを使用します。

適用の場合の構文は次のとおりです。

opatch util applySql –id <patchIDs> -connectString <SID1:USER1:PASSWORD1:NODE1>

ロールバックの場合の構文は次のとおりです。

opatch util rollbackSql –ph <patchLocation> (or) –phBaseFile <filename> (or) –phBaseDir
         <dirname> -connectString <SID1:USER1:PASSWORD1:NODE1>

オンライン・パッチの適用

標準のパッチには、通常、.o(オブジェクト)ファイルまたは.a(アーカイブ)ライブラリ(あるいはその両方)が含まれているため、RDBMSバイナリの再リンクが必要です。一方、オンライン・パッチには.soファイルが含まれています。これは、動的な共有ライブラリであり、RDBMSバイナリの再リンクは不要です。結果として再リンクが必要ないため、RDBMSインスタンスの実行中にオンライン・パッチを適用またはロールバックできます。これにより、停止時間がゼロで、オンライン・パッチをインストールまたは削除する時間が大幅に短縮されるため、管理が容易になります。

標準RDBMSパッチのインストールは、インスタンスの停止、再リンクおよびインスタンスの起動が必要になるため、時間がかかります。一方で、オンライン・パッチはわずか数秒でインストールできます。

オンライン・パッチは、Oracle RDBMSにのみ適用可能であり、その他の製品には適用できません。現在、オンライン・パッチはWindowsでサポートされていません。次のUNIXプラットフォームでのみサポートされています。

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には、3通りの方法でパッチを適用できます。

次の項では、Real Application Clustersへのこのようなパッチの適用に関する詳細を示します。

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

図7-1に、全ノードへのパッチの適用に関する基本的な例を示します。

図7-1 全ノードへのパッチの適用

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

システムA、BおよびCは、このクラスタのノードです。このクラスタで全ノードへのパッチの適用を実行する場合、システムA、BおよびCを停止して、これらすべてのノードにパッチを適用し、システムA、BおよびCを再起動します。

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

ローリング方式のパッチの適用では、各ノードを停止し、パッチを適用した後、各ノードを再起動します。クラスタ内のすべてのノードにパッチが適用されるまで、ノードごとに別々にこの処理を実行します。これは、パッチの適用中にまったく停止時間がなく、一度に1つのシステムしか停止されないため、Real Application Clusters設定に個別パッチを適用する最も効率的な方法です。このモードで適用できるのは、一部のパッチのみです。このタイプは、一般にパッチ・メタデータで指定されます。

図7-2に、ローリング方式のパッチの適用の基本的な例を示します。

図7-2 ローリング方式のパッチの適用

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

このクラスタでローリング方式のパッチの適用を実行する場合、パッチはローリング方式で適用されます。最初にシステムAを停止し、このシステムにパッチを適用した後、システムを再起動します。システムBおよびシステムCについても同じ手順を実行します。

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

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

図7-3に、最小停止時間のパッチの適用の基本的な例を示します。

図7-3 最小停止時間のパッチの適用

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

システムA、BおよびCは、このクラスタのノードです。これは2つのセットに分割されています。セット1にはシステムAおよびBがあり、セット2にはシステムCがあります。このクラスタで最小停止時間のパッチの適用を実行する場合、セット1を停止して、パッチを適用します。ここでセット2を停止します。次にセット1を起動し、セット2にパッチを適用します。パッチを適用したら、セット2を再起動します。これで、セット1と2の両方にパッチが適用されます。

パッチの競合について

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

競合のタイプ

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

スーパーセット

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

次のシナリオについて考えます。

  • OracleホームにインストールされたパッチAは、不具合の1、2および3を修正しました。

  • OracleホームにインストールされたパッチBは、不具合の10、11および12を修正しました。

  • これからインストールするパッチCは、不具合の1、2、3および4を修正します。

パッチCは、パッチAのスーパーセットとみなされます。

-no bug supersetフラグの使用

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

$ OPatch/opatch apply -no_bug_superset <Path_To_Patch>

次の例の出力は、-no_bug_supersetフラグを使用したときに表示されるメッセージを示しています。

Oracle interim Patch Installer version 11.1.0.6.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved..
Oracle Home       : /home/oracle_TEST/product/11.1.0/db_1
Central Inventory : /home/OUIHome_Opatch
from           : /home/oracle_TEST/product/11.1.0/db_1/oraInst.loc
OPatch version    : 11.1.0.6.6
OUI version       : 11.1.0.6.6
OUI location      : /home/oracle_TEST/product/11.1.0/db_1/oui
Log file location : /home/oracle_TEST/product/11.1.0/db
_1/cfgtoollogs/opatch/opatch-2008_May_25_14-03-33-IST_Wed.log
ApplySession applying interim patch '111000' to OH '/home/oracle
_TEST/product/11.1.0/db_1'
Apply Session failed: ApplySession failed to prepare the system. Interim patch
 111000 is a superset of the patch(es) [ 111000 ] in OH /home/oracle
_TEST/product/11.1.0/db_1
System intact, OPatch will not attempt to restore the system
OPatch failed with error code 73

サブセット

適用するパッチが、Oracleホームにインストールされた他のパッチのサブセットである場合があります。

次のシナリオについて考えます。

  • OracleホームにインストールされたパッチAは、不具合の1、2および3を修正しました。

  • OracleホームにインストールされたパッチBは、不具合の10、11および12を修正しました。

  • これからインストールするパッチDは、不具合の1および2を修正します。

パッチDはパッチAのサブセットです。

skip_subsetオプションの使用

以前にOracleホームに適用され、現在適用する他のパッチのサブセットになっているパッチを省略する場合、napplyskip_subsetオプションを使用できます。たとえば、不具合の1および2を修正するパッチAにnapplyを昨日使用し、不具合の1を修正するパッチBと、不具合の1、2および3を修正するパッチCに対してskip_subsetオプションを指定してnapplyを今日使用する場合、サブセットのパッチAが省略され、パッチCはパッチAのスーパーセットになります。

例7-1では、<patch_location>ディレクトリの下にあるすべてのパッチを適用します。OPatchは、重複するパッチおよびサブセット・パッチ(<patch_location>の下にあるパッチで、Oracleホームにインストールされているパッチのサブセット)を省略します。

例7-1

opatch napply <patch_location> -skip_subset -skip_duplicate

例7-2では、<patch_location>ディレクトリの下にあるパッチ1、2および3を適用します。OPatchは、重複するパッチおよびサブセット・パッチ(<patch_location>の下にあるパッチで、Oracleホームにインストールされているパッチのサブセット)を省略します。

例7-2

opatch napply <patch_location> -id 1,2,3 -skip_subset -skip_duplicate

詳細は、表7-3skip_subsetオプションの説明を参照してください。

重複

重複パッチは、別のパッチで修正された同じ一連の不具合を修正します。たとえば、不具合の1、2および3を修正するパッチAを適用した後、さらに不具合の1、2および3を修正するパッチBを適用する場合、パッチBはパッチAの重複になります。パッチは常にそれ自体の重複になります。

skip_duplicateオプションの使用

このオプションを指定する場合、OPatchは適用するパッチのリストから重複パッチを排除します。たとえば、前述のパッチAに対してnapplyを昨日使用し、パッチAおよび他のパッチに-skip_duplicateオプションを指定したnapplyを今日使用すると、重複パッチAが省略されます。

不具合の競合

不具合の競合は、現在の個別パッチで修正される一連の不具合が、以前にインストールした個別パッチの1つ以上ですでに修正されている不具合の一部と共通する場合に発生します。新しいパッチを適用する前に、競合パッチをロールバックする-forceフラグを指定したapplyコマンドを使用して、パッチの適用を続行する前に不具合の競合を除去する必要があります。

次のシナリオについて考えます。

  • OracleホームにインストールされたパッチAは、不具合の1、2および3を修正しました。

  • OracleホームにインストールされたパッチBは、不具合の10、11および12を修正しました。

  • これからインストールするパッチEは、不具合の3および4を修正します。

パッチEはパッチAと競合します。

ファイル競合

ファイル競合は、現在の個別パッチでパッチが適用されるファイルのセットが、以前にインストールした個別パッチの1つ以上ですでにパッチを適用済のファイルを含み、それが不具合のスーパーセットでない場合に発生します。

次のシナリオについて考えます。

  • OracleホームにインストールされたパッチAは、ファイルa、bおよびcを変更する不具合の1、2および3を修正しました。

  • これからインストールするパッチFは、ファイルa、dおよびfを変更する不具合の1、2、3および4を修正します。

パッチFはパッチAと競合します。

applyおよびnapplyのパッチの競合動作

表7-22は、applyコマンドおよびnapplyコマンドの予期される動作を示しています。

表7-22 applyコマンドおよびnapplyコマンドの予期される動作

コマンド スーパーセット サブセット 重複 ファイル競合または不具合の競合のパッチ

apply

OPatchは、自動ロールバックの次にapplyを実行します。

マージ・リクエストの後、OPatchは、自動ロールバックの次にapplyを実行します。

OPatchは、自動ロールバックの次にreapplyを実行します。

OPatchは競合をレポートします。マージ・リクエストの後、OPatchは、自動ロールバックの次にapplyを実行します。

napply

OPatchは、自動ロールバックの次にapplyを実行します。

OPatchはサブセットをレポートし、サブセットのパッチを省略します。その他のパッチを引き続き適用します。

OPatchは、自動ロールバックの次にreapplyを実行します。

OPatchは競合をレポートし、不具合の競合のパッチを適用せずに再実行するように求めます。

-forceオプションを使用し、競合パッチを自動ロールバックして、新しいパッチを適用するようにOPatchに指示することができます。


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

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

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

$ OPatch/opatch rollback -id <Patch_ID>

問題の解決

次の項では、問題を解決する次のタスクに関する情報と手順を示します。

ロギングとトレース

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

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

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

注意:

環境変数OPATCH_DEBUGTRUEに設定することにより、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/11.1.0/db_1/
OPatch Ver. : 11.1.0.6.6
Current Dir : /scratch/oui/OPatch
Command     : lsinventory
Log File    :
/private/oracle/product/11.1.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

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

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

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

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

単一インスタンス設定およびReal Application Clusters設定の次のシナリオでは、パッチの適用に失敗したセッションからのリカバリ方法について説明します。

単一インスタンス設定

パッチを適用またはロールバックして、個別インベントリ更新の例外が発生した。
原因: この状況は、システム上のファイルにパッチが適用されたが、インベントリ更新に失敗した場合に発生します。破損しているインベントリが原因の可能性があります。
処置: 次の手順を実行します。
  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がfusermakeなどのシステム・コマンドを見つけられない

  • 部分的にインストールされた個別パッチを削除できない

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

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

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

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

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

    詳細は、「単一インスタンスおよびReal Application Clustersでのチェック」を参照してください。

  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