プライマリ・コンテンツに移動
Oracle® OPatchユーザーズ・ガイド
13c リリース2
E49737-08
目次へ移動
目次
索引へ移動
索引

前
次

8 ホーム外パッチ適用

クローニングに基づいたホーム外パッチ適用は、Oracleホームのコピーを作成し、コピーしたホームにパッチを適用して、コピーしたホームにサービスを切り替えることにより実行される、パッチ適用方法です。このパッチ適用方法は、サービスを既存のホームから更新されたホームに切り替える際のダウンタイムを短縮するために役立ちます。

ホーム外パッチ適用で実行される重要な操作を次に示します。

  1. クローン・ホームの準備 - Oracleホームのコピーが作成され、コピーされたホームにパッチが適用されます。

  2. クローン・ホームへの切替え - コピーされたホームの準備が完了すると、必要なサービスがコピーされたホームに切り替わります。

  3. 元のホームにスイッチ・バック - 必要に応じて、サービスを元のホームに戻すことができます。

OPatchautoでは、次の構成に対してホーム外パッチ適用をサポートします。

8.1 GI RAC

サポートされているGrid Infrastructure (GI) Real Application Cluster (RAC)のサブ構成は、次のとおりです。

  • 非共有GI、非共有RAC

  • 共有GI、非共有RAC

  • 共有GI、共有RAC

  • 非共有GI、共有RAC

  • RAC Oneデータベース

  • GIのみ

  • 単一のRACホームまたは複数のRACホーム

  • ソフトウェアのみのホーム

注意:

  • OPatchautoでは、準備や切替えなどの単一操作をすべてのノードで完了させてから、その次の操作を進めるようにしてください。

  • この機能は、RDBMSバージョン12.2以降からサポートされています。

  • ソフトウェアのみのホームのサブ構成では、準備機能のみがサポートされます。新しいホームへの切替えや元のホームへのロールバックはサポートされていません。

次のいずれかの方式を使用してパッチを適用できます。

8.1.1 2段階方式

2段階方式を使用してパッチを適用するには、次の手順を実行します。

  1. 次のコマンドを実行して、クローン・ホームを準備します。

    ${ORACLE_HOME}/OPatch/opatchauto apply ${PATCH_HOME} -prepare-clone

    または

    ${ORACLE_HOME}/OPatch/opatchauto apply ${PATCH_HOME} -prepare-clone –oh oh1, oh2

    このPATCHは、パッチを格納しているパッチ・ディレクトリの場所です。

    準備セッションの開始後、そのセッションは切替え操作の実行前にすべてのノードで完了している必要があります。準備セッションは、すべてのノードで準備セッションが完了するまで、パッチの適用に関連するすべてのホームのアクティブ・セッションになります。

    この段階で、OPatchautoは、最初のノードのクローン・ホームのデフォルト・パスを生成して対話モードで確認を求めます。デフォルト・パスのまま続行することも、パッチの適用が必要なホームごとにカスタム・パスを選択することもできます。

    カスタム・パスを選択した場合は、指定したディレクトリ・パスに必要な書込み権限があることと、すべてのノードで既存のディレクトリではないことを確認します。カスタム・パスは、OPatchautoによってすべてのノードでその有無が検証されます。OPatchautoは、すべてのノードに対してOPatchauto OOPセッション全体のカスタム・パスをファイナライズします。それ以降のノードのパスについて確認するプロンプトが再表示されることはありません。パスがファイナライズされた後で、同じパスがノード(最初のノードの後)で見つかるとOOP操作が失敗します。OOP操作を続行するには、そのディレクトリの削除が必要になります。

    サイレント・モードを使用することもできます。このモードでは、対話型のオプションが表示されません。元のホームからクローン・ホームへのマップが含まれているプロパティ・ファイルを指定する必要があります。カスタム・パスは、OPatchautoによってすべてのノードでその有無が検証されます。ノードにパスがすでに存在している場合や、いずれかのノードでパスが見つからない場合は、セッションが失敗します。この場合は、すべてのノードで作成可能な新しいパスを指定する必要があります。

    プロパティ・ファイルを作成するには、元のホームとクローン・ホームのすべての必要な詳細を追加して、そのファイルの拡張子を.propertiesにして保存します。たとえば、clone.propertiesとします。

    次に、プロパティ・ファイルの例を示します。

    /scratch/product/12.2/<orginal_home>=/scratch/product/12.2/<cloned_home>
    /scratch/product/db/12.2/<orginal_home>=/scratch/product/db/12.2/<cloned_home>
    

    この<original_home>は、元のホーム・フォルダ名です。

    <cloned_home>は、元のホームのクローン先になるクローン・ホームのフォルダ名です。

    注意:

    作成されたクローン・ホームには、一切の変更を加えないでください。クローン・ホームの作成後に、クローン・ホームに変更が加えられると、OPatchautoの切替えが不可能になります。

    次に、その他の適用可能なコマンドライン・オプションを示します。

    [ -phBaseDir <patch.base.directory> ]
      [ -log <log> ]
    [ -logLevel <log_priority> ]
    [ -analyze ]
    [ -invPtrLoc <inventory.pointer.location> ]
    [ -force_conflict ]
    [ -database <database> ]
    [ -remote ]
    [-silent <map.original.to.clone>]
    

    注意する点は次のとおりです。

    • -nonrollingオプションは、ホーム外パッチ適用ではサポートされません。

    • 共有ホームの場合、-nonrollingオプションは必要ありません。

  2. 前提条件: クローン・ホームの準備がすべてのノードで完了している必要があります。

    次のコマンドを実行して、クローン・ホームに切り替えます。

    ${ORACLE_HOME}/OPatch/opatchauto apply ${PATCH_HOME} -switch-clone

    または

    ${ORACLE_HOME}/OPatch/opatchauto apply ${PATCH_HOME} -switch-clone –oh oh1, oh2

    このPATCHは、パッチを格納しているパッチ・ディレクトリの場所です。

    切替え操作は、OPatchautoで作成されたOracleホームでのみ実行されます。準備操作を複数回実行して、さらに多くのクローン・ホームを作成できます。ただし、切替え操作は最後に準備されたクローン・ホームで実行されます。

    切替え操作は、すべてのノードに対する単一の準備セッション用にまとめてリクエストされた、指定のホームのセットに対してのみサポートされます。

    注意:

    切替え操作が実行された元のホームは削除しないでください。元のホームを削除すると、ロールバック・アクションを実行できなくなります。

    元のホームは、パッチを適用したクローン・ホームを使用することと、元のホームにロールバックする予定がないことが確実なときにのみ削除する必要があります。

    次に、その他の適用可能なコマンドライン・オプションを示します。

    [ -phBaseDir <patch.base.directory> ]
      [ -log <log> ]
    [ -logLevel <log_priority> ]
    [ -analyze ]
    [ -invPtrLoc <inventory.pointer.location> ]
    [ -wallet <wallet> ]
    [ -force_conflict ]
    [ -database <database> ]
    [ -remote ]
    [ -nonrolling]
    

8.1.2 単一セッション方式

単一セッション方式では、クローン・ホームが作成されてから、元のホームがクローン・ホームに切り替えられます。

パッチを適用するには、次のコマンドを実行します。

${ORACLE_HOME}/OPatch/opatchauto apply ${PATCH_HOME} -outofplace

または

${ORACLE_HOME}/OPatch/opatchauto apply ${PATCH_HOME} -outpfplace –oh oh1, oh2

このPATCHは、パッチを格納しているパッチ・ディレクトリの場所です。

適用セッションは、すべてのノードでセッションが完了するまで、パッチの適用に関連するすべてのホームのアクティブ・セッションになります。

この段階で、OPatchautoは、最初のノードのクローン・ホームのデフォルト・パスを生成して対話モードで確認を求めます。デフォルト・パスのまま続行することも、パッチの適用が必要なホームごとにカスタム・パスを選択することもできます。

カスタム・パスを選択した場合は、指定したディレクトリ・パスに必要な書込み権限があることと、すべてのノードで既存のディレクトリではないことを確認します。カスタム・パスは、OPatchautoによってすべてのノードでその有無が検証されます。OPatchautoは、すべてのノードに対してOPatchauto OOPセッション全体のカスタム・パスをファイナライズします。それ以降のノードのパスについて確認するプロンプトが再表示されることはありません。パスがファイナライズされた後で、同じパスがノード(最初のノードの後)で見つかるとOOP操作が失敗します。OOP操作を続行するには、そのディレクトリの削除が必要になります。

サイレント・モードを使用することもできます。このモードでは、対話型のオプションが表示されません。元のホームからクローン・ホームへのマップが含まれているプロパティ・ファイルを指定する必要があります。カスタム・パスは、OPatchautoによってすべてのノードでその有無が検証されます。ノードにパスがすでに存在している場合や、いずれかのノードでパスが見つからない場合は、セッションが失敗します。この場合は、すべてのノードで作成可能な新しいパスを指定する必要があります。

プロパティ・ファイルを作成するには、元のホームとクローン・ホームのすべての必要な詳細を追加して、そのファイルの拡張子を.propertiesにして保存します。たとえば、clone.propertiesとします。

次に、プロパティ・ファイルの例を示します。

/scratch/product/12.2/<orginal_home>=/scratch/product/12.2/<cloned_home>
/scratch/product/db/12.2/<orginal_home>=/scratch/product/db/12.2/<cloned_home>

ここで、

<original_home>は元のホームのフォルダ名です。

<cloned_home>は、元のホームのクローン先になるクローン・ホームのフォルダ名です。

次に、その他の適用可能なコマンドライン・オプションを示します。

[ -phBaseDir <patch.base.directory> ]
[ -log <log> ]
[ -logLevel <log_priority> ]
[ -analyze ]
[ -invPtrLoc <inventory.pointer.location> ]
[ -force_conflict ]
[ -database <database> ]
[ -remote ]
[ -nonrolling ]
[ -silent <map.original.to.clone>]

8.1.3 元のホームへのスイッチバック

適用したパッチをロールバックするには、元のホームにスイッチ・バックする必要があります。

元のホームにスイッチ・バックするには、クローン・ホームに切り替えるためにOPatchautoを実行したときと同じホームからOPatchautoを実行します。OPatchautoは、すべてのクローン・ホームを以前にパッチを適用したときに切り替えられた元のホームにスイッチ・バックします。

元のホームにスイッチ・バックするには、次のコマンドを実行します。

${ORACLE_HOME}/OPatch/opatchauto rollback -switch-clone

または

${ORACLE_HOME}/OPatch/opatchauto rollback ${PATCH_HOME} -switch-clone –oh oh1, oh2

このPATCHは、パッチを格納しているパッチ・ディレクトリの場所です。

注意:

OOPは新しいホームと最後のホームにのみ作用します。

以前のOracleホーム・インスタンス(以前のパッチを適用する前のインスタンス)にスイッチバックする場合は、ホーム内パッチ適用オプションを使用します。

8.2 SIHA SIDB

SIHA SIDB構成とプロシージャは、GI RAC構成と似ています。パッチの適用方法の詳細は、「GI RAC」を参照してください。

次のオプションは、SIHA SIDB構成には適用されません。

  • -nonrolling

  • -remote