Oracle Databaseへのパッチ適用
Oracle Databaseにパッチを適用するには、データベース・ホームを、実装するパッチが含まれる新しいホームに移動します。
rhpctl move database
コマンドを使用します。データベースは、作業用コピー、またはフリート・パッチ適用およびプロビジョニングで管理されていないOracle Databaseホームで実行できます。
-nonrolling
オプションを使用します。 こうすると、古いORACLE_HOME
データベースでデータベースが完全に停止してから、新しくパッチ適用されたORACLE_HOME
から再起動して実行されます。
ノート:
パッチ適用プロセスの一部には、データパッチの適用が含まれます。Oracle Database 12c リリース1 (12.1)以降を移動する場合、フリート・パッチ適用およびプロビジョニングでこのステップが自動的に完了します。ただし、Oracle Database 12c リリース1 (12.1)より前のバージョンに移動する場合は、手動でデータパッチを実行する必要があります。フリート・パッチ適用およびプロビジョニングではOracle Data Guardが認識され、Oracle Data Guardスタンバイにはデータパッチは適用されません。データベースへのパッチ適用のワークフロー
DB122
というOracle Database 12c リリース2 (12.2)のゴールド・イメージから作成された作業用コピーでmyorcldb
というデータベースが実行されているとします。Oracle Databaseホームにパッチを適用する一般的なワークフローは次のとおりです。
Data Guard環境でのOracle Databaseへのパッチ適用
Oracle Fleet Patching and Provisioningサーバーでは、データベースのロールでdatapatch
の実行が許可されているかどうかをチェックし、それに応じて動作します。たとえば、データベース・ロールがプライマリの場合、Oracle FPPでは移動プロセスの最後にdatapatch
を実行し、データベース・ロールがフィジカル・スタンバイの場合はdatapatch
を実行しません。
ただし、Oracle FPPはスタンバイ・トポロジを認識せず、スタンバイの場所にある作業用コピーのパッチ適用レベルをチェックしません。プライマリ・データベースを移動する前に、スタンバイ・データベースが常にパッチ適用済の作業用コピーに移動されるようにする必要があります。また、スタンバイ・データベースをパッチ適用済の作業用コピーに移動し、プライマリ・データベースをパッチ適用済の作業用コピーに移動する前にスイッチオーバーまたはフェイルオーバーが発生した場合、プライマリ・データベースでdatapatch
が実行されていない可能性があります。これは、ロールがフィジカル・スタンバイだったときに、どちらのサイトもパッチ適用済の作業用コピーに移動されたためです。この場合、プライマリ・データベースでdatapatch
を手動で実行する必要があります。
バッチを使用したOracle Databaseへのパッチ適用
データベースへのパッチの適用中に、フリート・パッチ適用およびプロビジョニングによって、ノードのバッチを順次処理し、各バッチの多数のノードをパラレルで再起動できます。この方法により、パッチ適用プロセス中のサービスの可用性が最大化されます。コマンドラインでバッチを定義することも、クラスタで実行されているデータベース・サービスの分析に基づいてフリート・パッチ適用およびプロビジョニングでバッチのリストを生成することもできます。
OJVMデプロイメントのアダプティブOracle RACローリング・パッチ適用
クラスタ化環境で、フリート・パッチ適用およびプロビジョニングによりデータベース保守を適用するデフォルトの方法は、Oracle RACローリングです。ただし、新しい(パッチ適用対象の)データベース・ホームにOJVMパッチが含まれる場合、非ローリングが必要になることがあります。この場合、フリート・パッチ適用およびプロビジョニングにより、ローリング方式が可能かどうか判別され、可能な場合はローリングが行われます。(詳細は、MOS Note 2217053.1を参照してください。)