クローニングに基づいたホーム外パッチ適用は、Oracleホームのコピーを作成し、コピーしたホームにパッチを適用して、コピーしたホームにサービスを切り替えることにより実行される、パッチ適用方法です。このパッチ適用方法は、サービスを既存のホームから更新されたホームに切り替える際のダウンタイムを短縮するために役立ちます。
ホーム外パッチ適用で実行される重要な操作を次に示します。
クローン・ホームの準備 - Oracleホームのコピーが作成され、コピーされたホームにパッチが適用されます。
クローン・ホームへの切替え - コピーされたホームの準備が完了すると、必要なサービスがコピーされたホームに切り替わります。
元のホームにスイッチ・バック - 必要に応じて、サービスを元のホームに戻すことができます。
OPatchautoでは、次の構成に対してホーム外パッチ適用をサポートします。
サポートされているGrid Infrastructure (GI) Real Application Cluster (RAC)のサブ構成は、次のとおりです。
非共有GI、非共有RAC
共有GI、非共有RAC
共有GI、共有RAC
非共有GI、共有RAC
RAC Oneデータベース
GIのみ
単一のRACホームまたは複数のRACホーム
ソフトウェアのみのホーム
注意:
この機能は、RDBMSバージョン12.2以降からサポートされています。
ソフトウェアのみのホームのサブ構成では、準備機能のみがサポートされます。新しいホームへの切替えや元のホームへのロールバックはサポートされていません。
ホーム外パッチ適用方法では、クローン・ホームが作成され、元のホームがクローン・ホームに切り替えられます。
注意:
ホーム外パッチ適用方法(明示的なホーム外オプション指定)は、DB 12.2からDB 18に適用できます。パッチを適用するには、次のコマンドを実行します。
$
{ORACLE_HOME}
/OPatch/opatchauto apply $
{PATCH_HOME}
-outofplace
または
$
{ORACLE_HOME}
/OPatch/opatchauto apply $
{PATCH_HOME}
-outofplace –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> ] [ -nonrolling ] [ -silent <map.original.to.clone>]
注意:
データベースの切替えとSQL操作は、最後のノードに対してのみ実行されます。
適用したパッチをロールバックするには、元のホームにスイッチ・バックする必要があります。
元のホームに切り替えるには、クローン・ホームからOPatchautoを実行します。OPatchautoは、すべてのクローン・ホームを以前にパッチを適用したときに切り替えられた元のホームにスイッチ・バックします。
元のホームにスイッチ・バックするには、次のコマンドを実行します。
$
{ORACLE_HOME}
/OPatch/opatchauto rollback -switch-clone
または
$
{ORACLE_HOME}
/OPatch/opatchauto rollback
-switch-clone –oh oh1, oh2
注意:
OOPは新しいホームと最後のホームにのみ作用します。
以前のOracleホーム・インスタンス(以前のパッチを適用する前のインスタンス)にスイッチバックする場合は、ホーム内パッチ適用オプションを使用します。
スイッチバック前に、元のホームで何も変更しないでください。クローン・ホームの作成後、元のホームに変更が加えられた場合、OPatchautoのスイッチバックは許可されません。
データベースの切替えとSQL操作は、最後のノードに対してのみ実行されます。
SIHA SIDB構成とプロシージャは、GI RAC構成と似ています。パッチの適用方法の詳細は、「GI RAC」を参照してください。
-nonrolling
オプションは、SIHA SIDB構成には適用されません。