2 OPatchAutoを使用した環境へのパッチ適用

OPatchAutoは、Fusion Middlewareインストールの一部としてOPatchユーティリティとともに自動的にインストールされます。これには、単一のホストまたは複数のホスト環境でパッチの適用およびロールバックを自動化するために使用できるコマンドが複数用意されています。

OPatchAutoを使用したゼロ・ダウンタイム・パッチ適用について

複数ホスト・トポロジのパッチ適用の場合、パッチのダウンロード後に最初に行うステップの1つとして、そのパッチがゼロ・ダウンタイム(ZDT)パッチ適用と互換性があるかどうかを識別します。

互換性がある場合、次のいずれかの方法を使用してOPatchAutoでパッチを適用できます。

ゼロ・ダウンタイム・パッチ適用とは

ゼロ・ダウンタイム(ZDT)パッチ適用では、アプリケーションが要求に対するサービス提供を継続しながら、ドメイン全体にパッチをロールアウトできるようにするための、プロセスおよびメカニズムが提供されます。

ZDTパッチは、OPatchAutoを使用して適用できます。これは、1度に1つのノードに対して変更をロールアウトし、この変更が完了するまでは、ロード・バランサ(Oracle Traffic Director (OTD)など)によって、残りのノードに着信トラフィックがリダイレクトされるようにします。

パッチがZDTパッチ適用に適しているかどうかを識別するには、パッチのメタデータでパッチのuptimeオプション値を判別する方法をお薦めします。ZDTパッチを識別するには、「ゼロ・ダウンタイム・パッチの識別」を参照してください。

ゼロ・ダウンタイム・パッチの識別

ZDTパッチは、パッチ・メタデータ内のパッチのuptimeオプションの値で識別できます。

パッチをダウンロードしたら、PATCH_HOME/etc/configディレクトリのpatchdeploy.xmlを開きます。ここでPATCH_HOMEは、パッチが含まれるパッチ・ディレクトリの場所です。

次の例に示すように、patch-uptime-optionの値がFMW_ROLLING_ORACLE_HOMEである場合、

<patch-uptime-option>FMW_ROLLING_ORACLE_HOME<patch-uptime-option>

または値がFMW_ROLLING_SESSIONである場合、

<patch-uptime-option>FMW_ROLLING_SESSION<patch-uptime-option>

パッチはZDTパッチ適用に適しています。

パッチのメタデータにFMW_ROLLING_ORACLE_HOMEまたはFMW_ROLLING_SESSIONがない場合、パッチがZDTパッチ適用に適していないことがわかります。その結果、パッチはZDTパッチ・プランと互換性がないことがわかります。パッチのuptimeオプションの値によって、パッチを適用するための適切なパッチ・プランを選択できます。パッチ・プランの選択の詳細は、「使用可能なパッチ・プランについて」を参照してください。

使用可能なパッチ・プランについて

パッチがZDTパッチ適用に適しているかどうかを識別した後で、パッチ・プランを識別および選択します。したがって、パッチを適用するために使用可能なパッチ・プランの特性と制限を確認し理解することが重要です。

パッチ・プランは、パッチをデプロイするために実行するステップの順序を説明します。プランを実行するには、コマンドラインで-planオプションを使用してプラン名を指定する必要があります。『Oracle Opatchユーザーズ・ガイドfor Windows and UNIX』パッチ・プランに関する項を参照してください。

Oracleホームで使用可能なプランを検出するには、opatchauto lsplansコマンドを使用します。次に、使用可能なプランをリストし説明する、このコマンドの出力例を示します。

cd ORACLE_HOME/OPatch
./opatchauto lsplans

Oracle OPatchAuto Version 13.9.1.0.0
Copyright (c) 2017, Oracle Corporation.  All rights reserved.

  OPatchAuto available patch plan information:

    Product Name: OPatchAuto Core
      Patch Plan Name: rolling (Default)
        Description: Process patch targets on a per-home basis and tries to minimize downtime.
      Patch Plan Name: parallel
        Description: Process patch targets in parallel and does not attempt to minimize downtime.

    Product Name: Oracle Fusion Middleware
      Patch Plan Name: wls-zdt-rollout
        Description: Performs full WLS ZDT rollout.
      Patch Plan Name: wls-push-image
        Description: Performs only image push portion of WLS ZDT rollout.

パッチがZDTパッチであるかどうかを識別(「ゼロ・ダウンタイム・パッチの識別」を参照)した後、プランを選択する場合は、次の情報を考慮します。

  • パッチがZDTパッチではない場合は、「applyコマンドを使用した複数のホストへの非ZDTパッチの適用」に示すように、parallelパッチ・プランを使用してパッチを適用します。

  • パッチがZDTパッチである場合は、rollingおよびwls-zdt-rolloutの2つのプランが使用可能です。

    • パッチがFMW_ROLLING_ORACLE_HOMEパッチである場合は、rollingオプションを使用します。このオプションは、すべてのパッチ適用操作をOPatchAutoが実行する、完全なOPatchAutoアプローチを使用します。このオプションはFusion Middlewareにはお薦めの方法です。

      このアプローチでは、イメージベースおよび非イメージベースの両方のパッチ適用を実行できます。また、このアプローチを使用して、いわゆる構成パッチ適用(またはドメイン上で実行されるパッチ適用操作)を実行することもできます。ただし、この方法には、サーバーが停止した場合にセッションを別のサーバーに移行するような、セッション管理機能がありません。

      rollingプランを使用したZDTパッチの適用の詳細は、「applyコマンドを使用した複数のホストへのZDTパッチの適用」を参照してください。

    • パッチがFMW_ROLLING_SESSIONパッチである場合は、wls-zdt-rolloutオプションを使用します。このオプションにもOPatchAutoを使用しますが、特定のライフサイクル操作はWLSTまたはWebLogic Server管理コンソールなどのWebLogic Serverコンポーネントに委任されます。このオプションはWebLogic Serverにのみお薦めします。

      このアプローチでは、イメージ・ベースのパッチ適用のみがサポートされ、構成パッチ適用はサポートされません。ただし、インスタンス停止時のセッション移行はサポートされます。

      このドキュメントには、このオプションを使用したZDTパッチの適用ステップは含まれていません。このオプションの詳細は、『ゼロ・ダウンタイム・パッチ適用ワークフローの管理』ゼロ・ダウンタイム・パッチ適用の概要に関する項を参照してください。

OPatchAutoを使用するための準備

パッチを正常に適用するには、OPatchの最新バージョンの取得、My Oracle Supportからの必要なパッチの取得、および環境のバックアップなど、OPatchAutoの実行に備えて環境を準備するために前提条件を完了してください。

最新バージョンのOPatchとOPatchAutoの検索および取得

OPatchAutoを実行する前に、OracleホームでOPatchAutoを検索し、最新のバージョンであることを検証してください。最新バージョンのOPatchAutoが使用されている場合、最新バージョンのOPatchが使用されています。

Oracle Fusion MiddlewareのOracleホームでのOPatchAutoの検索および実行

OPatchAutoユーティリティは、Oracle Fusion Middleware製品をインストールした後、ORACLE_HOME/OPatchディレクトリで検索および実行できます。

OPatchAutoを実行するには、このディレクトリのopatchautoコマンドを実行します。

たとえば、UNIXシステムでOPatchAutoの使用可能なコマンドのリストを表示するには、次のように入力します。

./opatchauto -help
Oracle Fusion Middleware 12cに含まれるOPatchAutoのバージョンの識別

Oracle Fusion Middleware 12c (12.2.1.3.0)には、OPatchAutoバージョン13.9.1.0.0が含まれます。このバージョンが使用されていることを検証するには、opatchauto versionコマンドを使用します。

一般に、Oracle Universal Installerソフトウェアのバージョンごとに利用可能なOPatchおよびOPatchAutoのバージョンがあります。

OPatchAutoのバージョンを識別するには、次の手順を実行します。

  1. 次のディレクトリに変更します。
    cd ORACLE_HOME/OPatch/
    
  2. 次のコマンドを実行します。
    ./opatchauto version
    

    次に例を示します。

    ./opatchauto version
    Oracle OPatchAuto Version 13.9.1.0.0
    Copyright (c) 2017, Oracle Corporation.  All rights reserved.
    
    1. OPatchAuto version 13.9.1.0.0

最新バージョンのOPatchAutoが使用されている場合、最新バージョンのOPatchが使用されています。最新のバージョンが使用されていない場合は、パッチ6880880を使用してOPatchをダウンロードできます。インストールに対して指定された最新のダウンロードを常に使用します。Oracle Fusion Middleware 12c (12.2.1.3.0)の場合、バージョンおよびプラットフォームとしてOUI NextGen 13.9.1を選択し、「ダウンロード」をクリックしてOUI NextGen OPatch 13.9.1をダウンロードします。

インストールに必要なパッチの取得

インストールに対する最新のパッチをMy Oracle Supportで検索してダウンロードできます。

次の場所のMy Oracle Supportに登録してログインすることによって、使用しているOracle Fusion Middleware製品またはコンポーネントで利用可能な最新のパッチを確認できます。

http://support.oracle.com

My Oracle Supportにサインインした後、「パッチと更新版」タブをクリックします。このタブは、Oracleソフトウェアのインストールに最も重要なパッチを迅速に検索できる様々なツールを提供します。

注意:

各パッチに含まれているREADMEファイルを確認することは重要です。READMEファイルには、パッチ適用の要件および手順に関する重要な情報が含まれています。

例で使用されるディレクトリ変数

このガイドの例では、OPatchAutoを実行するためのサンプル・コマンドを示します。これらのコマンド例では、主要なディレクトリの参照に変数を使用しています。

このガイドでは次のディレクトリ変数を使用しています。

  • ORACLE_HOME、Oracleホーム・ディレクトリの場所の参照に使用します。

  • PATCH_HOME、Oracleホームに適用するパッチが含まれるパッチ・ディレクトリの場所の参照に使用します。

  • DOMAIN_HOME、ドメイン・ホーム・ディレクトリの場所の参照に使用します

複数ホストへのパッチ適用のためのトポロジ・ファイルの作成

複数のホストにパッチを適用するには、トポロジの要素を定義するトポロジ・ファイルを作成する必要があります。トポロジ・ファイルを作成するには、ORACLE_HOME/oracle_common/binにあるFMW (Fusion Middleware)コンポーザを使用します。コンポーザは、Fusion Middlewareトポロジを記述するためのグラフィカル・ユーザー・インタフェースを提供します。

コンポーザを使用してトポロジの各要素を個々に追加および定義します。コンポーザでトポロジを作成すると、XMLファイルまたはJSONファイルに保存することができるようになります。これにより、このファイルをOPatchAutoに渡して、パッチを適用できます。

ウォレットの作成

OPatchAutoを正常に実行するには、各ホストのSSH資格証明などの、必要なパスワード資格証明が含まれるウォレットをコマンドラインで指定する必要があります。

ウォレットを作成するには、次のツールの1つを使用します。

patchingWalletツールを使用したウォレットの作成

ORACLE_HOME/OPatch/auto/core/binディレクトリのpatchingWallet.shツールを使用して、ウォレット・ファイルを作成できます。

ウォレットを作成する場合、次のことが必要です。

  • SSH資格証明をホストごとにuser:hostname:ssh”の形式を使用して定義します

  • WebLogic管理者資格証明をadminuser:adminhost:wls”の形式を使用して定義します。ZDTパッチの適用にwls-zdt-rolloutオプションを使用している場合は、wls資格証明が必要です。

次に、ウォレットを作成して資格証明をウォレットに追加する方法の例を示します。

./patchingWallet.sh -walletDir wallet_location –create "user:adminhost:ssh" "user:host1:ssh" "user:host2:ssh" 
"adminuser:domain_name/ADMIN"  "adminuser:domain_name/NM"

次に例を示します。

./patchingWallet.sh -walletDir /tmp/samplewallet –create "oracle:adminhost:ssh" "oracle:host1:ssh" 
"oracle:host2:ssh" "weblogic:zdtDomain/ADMIN" "weblogic:zdtDomain/NM"

各資格証明のパスワードの入力と確認を求められます。

Enter Password for oracle:adminhost:ssh:
Confirm Password for oracle:adminhost:ssh:
Enter Password for oracle:host1:ssh:
Confirm Password for oracle:host1:ssh:
Enter Password for oracle:host2:ssh:
Confirm Password for oracle:host2:ssh:
Enter Password for weblogic:zdtDomain/ADMIN:
Confirm Password for weblogic:zdtDomain/ADMIN:
Enter Password for weblogic:zdtDomain/NM:
Confirm Password for weblogic:zdtDomain/NM:

起動および停止操作をサポートするノード・マネージャの構成

パッチの適用中に、OPatchAutoが適切にシステムを停止および起動できるようにするには、ノード・マネージャが起動および停止操作をサポートするように構成する必要があります。

これを行うには、nodemanager.propertiesファイルのQuitEnabledおよびCrashRecoveryEnabledプロパティを次のように設定します。

QuitEnabled=true
CrashRecoveryEnabled=false

CrashRecoveryEnabledのデフォルト値はfalseです。

デフォルトで、このファイルはノード・マネージャのホーム・ディレクトリに作成され、ノード・マネージャのホームは通常DOMAIN_HOME/nodemanagerです。

注意:

ZDTパッチ適用の場合:
  • ZDTパッチの適用にrollingプランを使用している場合は、QuitEnabled=trueのみが必要です。これは、『ゼロ・ダウンタイム・パッチ適用ワークフローの管理』ゼロ・ダウンタイム・パッチ適用の概要に関する項で説明しているように、wls-zdt-rolloutプランを使用している場合は必要ありません。

  • wls-zdt-rolloutプランを使用している場合は、CrashRecoveryEnabledtrueに設定する必要があります。

これらのプロパティを更新した後で、1つ以上のノード・マネージャを再起動します。

nodemanager.propertiesファイルの詳細は、『Oracle WebLogic Serverノード・マネージャの管理』nodemanager.propertiesの検討に関する項を参照してください

Windowsでのリモート・ホストのパッチ適用

Windowsシステムでのパッチ適用の場合、Cygwin SSHサーバーがインストールされて設定されていることを確認します。OPatchAutoは現在その他のSSHサーバーをサポートしていません。

『Oracle Opatchユーザーズ・ガイドfor Windows and UNIX』SSHを使用したリモート・ホストの実行に関する項を参照してください。

パッチ適用に関するバックアップとリカバリの考慮事項

パッチ操作を実行する前に、Oracleホームをバックアップすることを強くお薦めします。Oracleホームは、任意の方法でバックアップできます。

Oracleホームの圧縮には、zipcp -rtarcpioなどの任意の方法を使用できます。

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

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

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

OPatchAutoを使用したOracle Fusion Middlewareへのパッチ適用

OPatchAutoを使用して、単一ホスト環境または複数ホスト環境にパッチ適用またはパッチのロールバックを行うために必要なステップを自動化できます。

次の各トピックでは、OPatchAutoを使用したOracle Fusion Middlewareへのパッチの適用方法について説明します。

Fusion Middleware環境におけるOPatchAuto使用のステップのサマリー

OPatchAutoを使用したパッチ適用には、パッチを正常に適用するために実行する必要がある一連のステップが含まれます。

次の表に、OPatchAutoを使用した既存のFusion Middleware環境へのパッチ適用に必要な通常ステップを示します。

表2-1 OPatchAutoでのOPatchの使用

タスク 説明 ドキュメント

インストールに必要なパッチを取得します。

ログインし、特定のインストールに必要なパッチを検索してダウンロードします。

OPatchAutoが特定のパッチ・タイプをサポートしているかどうかについて気にする必要はありません。OPatchAutoが特定のパッチ・タイプをサポートしていない場合、ツールを実行するときに通知されます。

インストールに必要なパッチの取得

パッチのREADME.txtファイルを確認します。

各パッチ・アーカイブには、重要な情報およびパッチの適用前に従う必要がある手順が記載されているREADMEファイルが含まれています。READMEファイルには、パッチ固有のステップやその他の情報が記載されているため、このファイルを確認することは重要です。

パッチ・アーカイブにパッケージされているREADME.txtファイル

複数ホスト環境の場合、パッチがZDTパッチであるかどうかを識別します。

パッチがZDTパッチかどうかを識別するには、patchdeploy.xmlのパッチのuptimeオプション値を判別します。パッチのuptimeオプションがわかれば、パッチへの適用に使用するパッチ・プランを識別できます。

ゼロ・ダウンタイム・パッチの識別

使用可能なパッチ・プランについて

パッチ前提条件を確認します。

OPatchAutoapply -analyzeコマンドで、パッチの前提条件が満たされていることを確認します。

単一ホストの環境にパッチを適用している場合、「単一のホストでパッチを適用するための前提条件の検証」を参照してください。

複数ホストの環境にパッチを適用している場合、「複数のホストでパッチを適用するための前提条件の検証」を参照してください。

パッチを適用します。

パッチの適用が必要なOracleホームを確定して、READMEファイルを読んだ後に、opatchauto applyコマンドを使用してパッチを適用できます。

単一ホストの環境にパッチを適用している場合、「applyコマンドを使用した単一のホストへのパッチ適用」を参照してください。

複数ホスト環境のパッチ適用の場合、パッチがZDTパッチ適用に適しているかどうかに応じて、次のいずれかを1つを参照してください。

パッチがOracleホームに正しく適用されたことを検証します。

OPatch lsinventoryコマンドは、Oracleホームに適用されたパッチを表示します。listDomainPatchInventory.shコマンドは、ドメインに適用されたパッチを表示します。これらのコマンドを一緒に使用して、パッチの適用を検証します。

Oracleホームに適用されたパッチを検証するためのOPatch lsinventoryコマンドの使用

listDomainPatchInventory.shコマンドを使用したドメインへの適用済パッチの検証

パッチの適用後、ソフトウェアが正しく実行されていることを検証します。

パッチの適用が完了し、サーバーの再起動が完了したら、製品ソフトウェアで問題が解決しているかどうかを検証します。

パッチ適用後のインストールの検証

パッチ適用のトラブルシューティングを行います。

パッチ適用に問題がある場合、最初のトラブルシューティング・タスクはOPatchAutoセッションのログ・ファイルを確認することです。

OPatchAutoログ・ファイルの表示によるパッチのトラブルシューティング

パッチ適用をロールバックします。

なんらかの原因で満足のいく結果が得られなかった場合は、opatchauto rollbackコマンドを使用してOracleホームからパッチを削除できます。

さらに支援が必要な場合は、My Oracle Support (以前のOracleMetaLink)を参照してください。

単一ホストの環境の場合、「単一のホストに適用したパッチのロールバック」を参照してください。

複数ホストの環境の場合、「複数のホストに適用したパッチのロールバック」を参照してください。

OPatchAutoを使用した単一のホストへのパッチ適用

インストールに必要なパッチを取得した後、opatchauto apply —analyzeコマンドを使用して前提条件を検証し、opatchauto applyを使用して単一のホストにパッチを適用します。必要な場合、opatchauto rollbackを使用してパッチをロールバックできます。

OPatchAutoを使用した単一ホスト環境へのパッチ適用には、次のタスクが含まれます。

単一のホストでパッチを適用するための前提条件の検証

パッチを単一のホストに適用できることを検証するには、OPatchAutoapplyコマンドに—analyze引数を使用します。単一ホストへのパッチ適用の場合、—instance引数を使用してドメインの場所も指定する必要があります。

次のコマンドは、単一のホストでパッチを適用するための前提条件を検証する方法を示しています。

opatchauto apply PATCH_HOME -analyze -instance DOMAIN_HOME -wallet wallet_location -walletPassword password_ifneeded 
-wls-admin-host weblogic_adminserver_host:port

次に例を示します。

opatchauto apply /home/oracle/patches/15941858 -analyze -instance /home/oracle/config/domains/exampledomain -wallet /tmp/samplewallet 
-wls-admin-host examplehost.exampledomain.com:7001

1つのセッションで複数のパッチを適用するには、–phBaseDirオプションを使用します。

このコマンドは、パッチによって実行される処理を分析および表示しますが、実際にパッチを適用することはありません。これにより、パッチの前提条件が満たされていることを検証できます。

前提条件の確認が失敗した場合は、出力およびログ・ファイルを参照して、作業を続行する前に問題を修正してください。たとえば、一般的な失敗としてはパッチの競合の検出があります。パッチの競合が発生した場合は、Oracleサポートからマージ・パッチを取得する方法についてログ・ファイル内の指示に従ってください。

applyコマンドを使用した単一のホストへのパッチ適用

パッチを単一のホストに適用するには、opatchauto applyコマンドを使用します。これは、opatchauto apply —analyzeと同じコマンドですが、パッチを適用する準備が整っているときに—analyze引数を削除する点が異なります。

次の例では、単一のホスト上のOracle Fusion Middleware環境にパッチを適用するためにopatchauto applyコマンドを使用する方法を示します。

この例では、次の内容が想定されています。

  • ダウンロードしたパッチは、My Oracle Supportでのパッチ番号の名前が付けられたディレクトリに保存されます。この場合、パッチ番号は15941858です。

  • ORACLE_HOME/OPatchディレクトリからOPatchAutoコマンドを実行し、コマンドへの引数としてパッチの場所(PATCH_HOME)を含めます。

注意:

opatchauto applyコマンドを実行する場合、コマンド出力内のセッションID (EKZRなど)をメモしてください。これにより、パッチを後でロールバックすることを決定した場合、ロールバック・プロセスが容易になります。

opatchauto apply PATCH_HOME -instance DOMAIN_HOME -wallet wallet_location -walletPassword password_ifneeded -wls-admin-host weblogic_adminserver_host:port

次に例を示します。

opatchauto apply /home/oracle/patches/15941858 -instance /home/oracle/config/domains/exampledomain -wallet /tmp/samplewallet 
-walletPassword password -wls-admin-host examplehost.exampledomain.com:7001
単一のホストに適用したパッチのロールバック

パッチを適用したときに結果が不十分である場合、opatchauto rollbackコマンドを使用してパッチ適用をロールバックします。これは、opatchauto rollback –analyzeと同じコマンドですが、パッチをロールバックする準備が整っているときに-analyze引数を削除する点が異なります。

次の例では、単一のホスト上のOracle Fusion Middleware環境に適用されたパッチをロールバックするためにopatchauto rollbackコマンドを使用する方法を示します。

ロールバックを実行するには、パッチの適用に使用したプロセスと同じプロセスに従います。つまり、最初にopatchauto rollbackコマンドのテスト実行を行います。

注意:

パッチを適用するときに使用したセッションID (EKZRなど)を指定すると、コマンドを簡素化できます。これにより、OPatchAutoで必要なコマンドライン・パラメータをすべて導出できるようになります。

opatchauto rollback –session session_id -analyze –wallet wallet_location -walletPassword password_ifneeded -wls-admin-host weblogic_adminserver_host:port 

次に例を示します。

opatchauto rollback –session EKZR -analyze –wallet /tmp/samplewallet -walletPassword password -wls-admin-host examplehost.exampledomain.com:7001

テストを正常に実行できたら、パッチのロールバックを実際に実行します。

opatchauto rollback –session session_id –wallet wallet_location -walletPassword password_ifneeded -wls-admin-host weblogic_adminserver_host:port

次に例を示します。

opatchauto rollback –session EKZR –wallet /tmp/samplewallet -walletPassword password -wls-admin-host examplehost.exampledomain.com:7001

また、次のようにして、OPatchAutoを未解凍のパッチのコピーにポイントすることで、パッチをロールバックすることもできます。

opatchauto rollback unzipped_patch_location -instance DOMAIN_HOME –wallet wallet_location -walletPassword password_ifneeded 
-wls-admin-host weblogic_adminserver_host:port

OPatchAutoを使用した複数のホストへのパッチ適用

必要なパッチを取得した後、opatchauto apply —analyzeコマンドを使用して前提条件を検証し、opatchauto applyを使用して複数のホストにパッチを適用します。必要な場合、opatchauto rollbackを使用してパッチをロールバックできます。

注意:

複数のホストにパッチを適用する前に、FMWコンポーザを使用してトポロジ・ファイルが作成されていることを確認してください。このファイル(XMLまたはJSONファイルのいずれか)は、OPatchAutoを実行するときにコマンドラインで-topologyオプションを使用して指定する必要があります。OPatchAutoは、このファイルを使用して、パッチを適用する環境に関する情報を取得します。

OPatchAutoを使用した複数ホスト環境へのパッチ適用には、次のタスクが含まれます。

複数のホストでパッチを適用するための前提条件の検証

パッチを正常に適用するには、パッチを適用する前に、opatchauto apply —analyzeコマンドを使用して前提条件を確認します。

複数のホスト上の特定のOracleホーム(ORACLE_HOME)およびドメインの場所(DOMAIN_HOME)にパッチを適用できることを検証するには、OPatchAuto applyコマンドに—analyze引数を使用します。

opatchauto apply PATCH_HOME -analyze -plan patch_plan -topology path_to_topology_file -wallet wallet_location -walletPassword password_ifneeded 

次に例を示します。

opatchauto apply /home/oracle/patches/15941858 -analyze -plan rolling -topology /home/oracle/topologies/topology-1.0.xml -wallet /tmp/samplewallet -walletPassword password 

1つのセッションで複数のパッチを適用するには、–phBaseDirオプションを使用します。

rollingは、コマンドラインでプランが指定されない場合のデフォルトのパッチ・プランです。使用可能なプランの識別の詳細は、「使用可能なパッチ・プランについて」を参照してください。

このコマンドは、パッチによって実行される処理を表示しますが、実際にパッチを適用することはありません。これにより、パッチの前提条件が満たされていることを検証できます。

前提条件の確認が失敗した場合は、コマンドの出力およびログ・ファイルを参照して、作業を続行する前に問題を修正してください。たとえば、一般的な失敗としてはパッチの競合の検出があります。パッチの競合が発生した場合は、Oracleサポートからマージ・パッチを取得する方法についてログ・ファイル内の指示に従ってください。

applyコマンドを使用した複数のホストへの非ZDTパッチの適用

非ZDTパッチを適用するには、opatchauto applyコマンドをparallelパッチ・プランとともに使用します。このコマンドは、opatchauto apply -analyzeと同じコマンドですが、パッチを適用する準備が整っているときに-analyze引数を削除する点が異なります。

次の例では、複数のホスト上のOracle Fusion Middleware環境に非ZDTパッチを適用するためにopatchauto applyコマンドを使用する方法を示します。

この例では、次の内容が想定されています。

  • ダウンロードしたパッチは、My Oracle Supportでのパッチ番号の名前が付けられたディレクトリに保存されます。この場合、パッチ番号は15941858です。

  • ORACLE_HOME/OPatchディレクトリからOPatchAutoコマンドを実行し、コマンドへの引数としてパッチの場所(PATCH_HOME)を含めます。

注意:

opatchauto applyコマンドを実行する場合、コマンド出力内のセッションID (EKZRなど)をメモしてください。パッチを後でロールバックすることを決定した場合、セッションIDによりロールバック・プロセスが容易になります。

opatchauto apply PATCH_HOME -plan parallel -topology path_to_topology_file -wallet wallet_location -walletPassword password_ifneeded 

次に例を示します。

opatchauto apply /home/oracle/patches/15941858 -plan parallel -topology /home/oracle/topologies/topology-1.0.xml -wallet /tmp/samplewallet -walletPassword password 
applyコマンドを使用した複数のホストへのZDTパッチの適用

ゼロ・ダウンタイム(ZDT)パッチを適用するには、opatchauto applyコマンドをrollingパッチ・プランとともに使用します。このコマンドは、opatchauto apply -analyzeと同じコマンドですが、パッチを適用する準備が整っているときに-analyze引数を削除する点が異なります。

次の例では、複数のホスト上のOracle Fusion Middleware環境にZDTパッチを適用するためにopatchauto applyコマンドを使用する方法を示します。

この例では、次の内容が想定されています。

  • ダウンロードしたパッチは、My Oracle Supportでのパッチ番号の名前が付けられたディレクトリに保存されます。この場合、パッチ番号は15941858です。

  • ORACLE_HOME/OPatchディレクトリからOPatchAutoコマンドを実行し、コマンドへの引数としてパッチの場所(PATCH_HOME)を含めます。

注意:

  • opatchauto applyコマンドを実行する場合、コマンド出力内のセッションID (EKZRなど)をメモしてください。パッチを後でロールバックすることを決定した場合、セッションIDによりロールバック・プロセスが容易になります。

  • rollingは、コマンドラインでプランが指定されない場合のデフォルトのパッチ・プランです。

opatchauto apply PATCH_HOME -plan rolling -topology path_to_topology_file -wallet wallet_location -walletPassword password_ifneeded 

次に例を示します。

opatchauto apply /home/oracle/patches/15941858 -plan rolling -topology /home/oracle/topologies/topology-1.0.xml -wallet /tmp/samplewallet -walletPassword password 
複数のホストに適用したパッチのロールバック

パッチを適用したときに結果が不十分である場合、opatchauto rollbackコマンドを使用してパッチ適用をロールバックします。これは、opatchauto rollback –analyzeと同じコマンドですが、パッチをロールバックする準備が整っているときに-analyze引数を削除する点が異なります。

次の例では、複数のホスト上のOracle Fusion Middleware環境に適用されたパッチをロールバックするためにopatchauto rollbackコマンドを使用する方法を示します。

ロールバックを実行するには、パッチの適用に使用したプロセスと同じプロセスに従います。つまり、最初にopatchauto rollbackコマンドのテスト実行を行います。

注意:

パッチを適用するときに使用したセッションID (EKZRなど)を指定すると、コマンドを簡素化できます。これにより、OPatchAutoで必要なコマンドライン・パラメータをすべて導出できるようになります。

opatchauto rollback –session session_id -analyze -walletPassword password_ifneeded 

次に例を示します。

opatchauto rollback –session EKZR -analyze -walletPassword password

テストを正常に実行できたら、パッチのロールバックを実際に実行します。

opatchauto rollback –session session_id -walletPassword password_ifneeded 

次に例を示します。

opatchauto rollback –session EKZR -walletPassword password

また、次のようにして、OPatchAutoを未解凍のパッチのコピーにポイントすることで、パッチをロールバックすることもできます。

opatchauto rollback unzipped_patch_location -topology path_to_topology_file –wallet wallet_location -walletPassword password_ifneeded

または、次の例に示すように、パッチ・ディレクトリの場所を指定せずに、-idオプションを使用してパッチIDを指定することができます。

opatchauto rollback -id 12345 -wallet /tmp/samplewallet -topology /home/oracle/topologies/topology-1.0.json
SSL引数の設定(SSLのみの環境)
SSLのみの環境では、opatchautoを使用してパッチを適用するために次のステップを実行します。
  1. プロトコル情報を含む管理サーバーの詳細を指定します。例: -wls-admin-host t3s://<HOST_NAME>

  2. 必要に応じて、opatchautoの起動時に追加のシステム・プロパティを設定します。例: -Dweblogic.security.TrustKeyStore=DemoTrust

プロパティの詳細は、WebLogic Serverコマンド・リファレンスを参照してください。

OPatchAutoログ・ファイルの表示によるパッチのトラブルシューティング

パッチの適用方法およびパッチ適用に関する問題のトラブルシューティング方法を理解するには、OPatchAutoセッションのログ・ファイルを確認します。

ログ・ファイルの場所は、通常、次のディレクトリまたはこの場所のサブディレクトリに保存されます。

ORACLE_HOME/cfgtoollogs/opatchauto/

各ログ・ファイルのファイル名は、実行された日時を示します。次に例を示します。

opatchauto2015-09-28_11-47-13AM.log

ログ・ファイルは、opatchautoコマンドの出力を表示することによっても検索できます。ログ・ファイルの名前および場所は、コマンドの出力に含まれます。次に例を示します。

Session log file is /home/Oracle/products/fmw12c/cfgtoollogs/opatchauto/opatchauto2015-09-28_11-47-13AM.log

Oracleホームに適用されたパッチを検証するためのOPatch lsinventoryコマンドの使用

Oracleホームに適用されたパッチを検証するには、またはOracleホームに関する追加情報を確認するには、opatch lsinventoryコマンドを使用します。

次の例に、特定の個別パッチが適用されていることを示す、lsinventoryコマンドのサンプル出力を示します。

例2-1 Oracleホーム情報を取得するためのopatch lsinventoryコマンドの実行

> opatch lsinventory
Oracle Interim Patch Installer version 13.9.1.0.0
Copyright (c) 2017, Oracle Corporation.  All rights reserved.

Oracle Home       : /opt/Oracle/products/fmw12c
Central Inventory : /opt/Oracle/oraInventory
   from           : /var/opt/Oracle/oraInst.loc
OPatch version    : 13.9.1.0.0
OUI version       : 13.9.1.0.0
Log file location : /opt/Oracle/products/fmw12c/cfgtoollogs/opatch/opatch2013-06-10_12-32-37PM_1.log

OPatch detects the Middleware Home as "/opt/Oracle/products/fmw12c"

Lsinventory Output file location :
/opt/Oracle/products/fmw12c/cfgtoollogs/opatch/lsinv/lsinventory2013-06-10_12-32-37PM.txt

--------------------------------------------------------------------------------
Local Machine Information::
Hostname:
ARU platform id: 226
ARU platform description:: Linux x86-64

Interim patches (1) :

Patch  15941858     : applied on Mon Jun 10 12:39:07 PDT 2013
Unique Patch ID:  150220
Patch description:  "TEST PATCH FOR WLS 12.2.1.3.0 - JAVA CLASSES PATCH"
   Created on 17 May 2013, 11:54:20 hrs PST8PDT
   Bugs fixed:
     783169, 15941850

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

OPatch succeeded.

listDomainPatchInventory.shコマンドを使用したドメインへの適用済パッチの検証

ドメインに適用されたパッチを検証するには、listDomainPatchInventory.shコマンドを使用します。このコマンドをOPatch lsinventoryコマンドとともに使用して、パッチが正常に適用されたことを検証します。

次に例を示します。

cd ORACLE_HOME/OPatch/bin
./listDomainPatchInventory.sh DOMAIN_HOME

このコマンドは、特定の個別パッチが適用されていることを示します。

ドメイン・インベントリ内と各Oracleホームのインベントリ内の両方に同じパッチのリストが表示されない場合、パッチを再適用します。パッチを再適用すると、欠落しているステップのみが実行されます。すでに実行されているタスクはスキップされます。

パッチ適用後のインストールの検証

1つ以上のパッチを適用した後、WebLogic管理コンソール、Fusion Middleware Controlおよび自社の適用テストを使用して、システムが正常に動作していることを検証します。

Oracle Fusion Middleware 12c環境でのインストールを検証するには、次の手順を実行します。

  1. パッチを適用したOracleホームに関連付けられているすべてのドメインですべてのサーバーが稼働していることを確認します。

    注意:

    パッチを適用する前にサーバーが稼働していた場合は、サーバーを手動で起動する必要はありません。パッチ適用が完了した後、OPatchAutoによってサーバーが再起動されます。

  2. 各ドメインのWebLogic Server管理コンソールを開き、管理サーバーを検証して、ドメインのコンポーネントのステータスを確認します。

    また、いすれかのOracle Fusion Middlewareドメイン(Oracle Fusion Middleware Infrastructureがインストールされている)で、Oracle Enterprise Manager Fusion Middleware Controlコンソールを開き、ドメインのコンポーネントのステータスを確認します。

    いずれのコンソールからでも、サーバーおよびアプリケーションが起動し、正しく実行されていることを検証できます。詳細は、『Oracle Fusion Middlewareの管理』の次のトピックを参照してください。

ソフトウェアが想定どおりに機能しない場合は、ロールバックに関する指示に従ってパッチ適用をロールバックしてください。