Oracle Databaseへのパッチ適用

Oracle Databaseにパッチを適用するには、データベース・ホームを、実装するパッチが含まれる新しいホームに移動します。

1つ以上のデータベース・ホームを同じリリース・レベルのデータベースの作業用コピーに移動するには、rhpctl move databaseコマンドを使用します。データベースは、作業用コピー、またはフリート・パッチ適用およびプロビジョニングで管理されていないOracle Databaseホームで実行できます。

移動操作がフリート・パッチ適用およびプロビジョニング・サーバーまたはクライアントで開始される場合、移動先のバージョンは、ゴールド・イメージの作業用コピーである必要があります。フリート・パッチ適用およびプロビジョニング・サーバーが存在しない環境で独立オートマトンを使用してこの操作を実行することもできます。この場合、ソース・ホームおよび宛先ホームはゴールド・イメージの作業用コピーではありませんが、フリート・パッチ適用およびプロビジョニングを使用する以外の方法でデプロイした2つのインストール済ホームです。

データベースの移動先の作業用コピーは、現在のデータベース・ホームよりも低いパッチ・レベルにすることができます。これにより、高いレベルのパッチが適用されたホームに移動した後で問題が発生した場合に、ロールバックが容易になります。

データベース・ホームの移動先の作業用コピーは、元の作業用コピーと同じパッチ・レベルにすることができます。このことは、ある記憶域の場所から別の記憶域の場所にデータベース・ホームを移動する場合や、同じパッチ・レベルを維持して管理対象外のホームを管理対象のホームに変換する場合に役立ちます。

フリート・パッチ適用およびプロビジョニングでは、すべてのパッチがアウトオブプレースで適用されることで、メンテナンスに必要な停止時間が最小化されます。また、フリート・パッチ適用およびプロビジョニングでは、現在の構成が保持されるため、前述のロールバック機能を使用できます。デフォルトでは、フリート・パッチ適用およびプロビジョニングでは、パッチがローリング方式で適用されるため、サービスの停止時間が削減され、多くの場合解消されます。非ローリング・モードでパッチ適用を実行するには、-nonrollingオプションを使用します。 こうすると、古いORACLE_HOMEデータベースでデータベースが完全に停止してから、新しくパッチ適用されたORACLE_HOMEから再起動して実行されます。

Oracle FPPは、ホーム外パッチ適用を実行するときに、ソース・ホームおよび宛先ホームの非ローリング・パッチのリストを評価します。Oracle FPPは2つのリストを比較し、ソース・ホームにない追加の非ローリング・パッチがターゲット・ホームにある場合、Oracle FPPはパッチ適用をローリング・モードで実行できないことを報告します。その後、次のいずれかのアクションを実行できます:
  1. 追加の非ローリング・パッチが含まれないようにターゲット・ホームを再プロビジョニングし、ローリング・モードでパッチ適用を続行します。
  2. -forcerollingオプションを使用して、現在プロビジョニングされているホームでローリング・パッチ適用操作を続行します。

バッチを使用したパッチ適用の詳細は、「バッチを使用したOracle Grid InfrastructureおよびOracle Databaseへのパッチ適用」を参照してください。

ノート:

パッチ適用プロセスの一部には、データパッチの適用が含まれます。Oracle Databaseを移動すると、Oracle FPPによってこのステップが自動的に完了します。フリート・パッチ適用およびプロビジョニングではOracle Data Guardが認識され、Oracle Data Guardスタンバイにはデータパッチは適用されません。

データベースへのパッチ適用のワークフロー

DB122というOracle Database 12c リリース2 (12.2)のゴールド・イメージから作成された作業用コピーでmyorcldbというデータベースが実行されているとします。Oracle Databaseホームにパッチを適用する一般的なワークフローは次のとおりです。

  1. パッチを適用するOracle Database (この場合、DB122)の作業用コピーを作成します。
  2. 作成した作業用コピーにパッチを適用します。
  3. パッチが適用された作業用コピーをテストおよび検証します。
  4. パッチが適用された作業用コピーからゴールド・イメージ(DB122_PATCHなど)を作成するには、rhpctl add imageコマンドを使用します。

    ノート:

    前述のコマンドで指定する作業用コピーは、フリート・パッチ適用およびプロビジョニング管理の記憶域でフリート・パッチ適用およびプロビジョニング・サーバーにホストされている必要があります。
  5. rhpctl delete workingcopyコマンドを使用して、パッチが適用されたOracle Databaseとともにパッチが適用された作業用コピーを削除します。

    ノート:

    rmコマンドなどのいくつかの方法では、フリート・パッチ適用およびプロビジョニング・インベントリの情報が更新されないため、これらの方法を使用して直接削除しないでください。
  6. パッチが適用されたゴールド・イメージ(DB122_PATCH)から作業用コピーを作成します。
  7. 作成した作業用コピーにmyorcldbを移動します。
  8. 手順の開始時にデータベースが実行されていた作業用コピーにロールバックする必要がないことがわかっている場合は、rhpctl delete workingcopyコマンドを使用してその作業用コピーを削除します。