データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

OracleアプリケーションでのADオンラインパッチ

このブログでは、Oracle®AD Online Patching(adop)ユーティリティのフェーズ、patchprocessサイクルの手順、およびいくつかの便利なadopコマンドとヒントについて説明しています。

はじめに

adopユーティリティは、システムの大幅なダウンタイムなしにOracleE-BusinessSuiteにパッチを適用するために使用されます。パッチサイクルは、次の図に示すように、いくつかのフェーズで構成されています。

OracleアプリケーションでのADオンラインパッチ オンラインパッチ適用サイクル

画像ソース:https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531065.htm

基本的なadopフェーズとパッチサイクルステップ

adopプロセスを使用してOracleR12.2にパッチを適用する前に、必要なテクノロジーパッチをダウンロードし、内容を解凍します。次に、次のいずれかの手順を実行してパッチを準備します。

  • パッチの内容を$NE_BASE/EBSapps/patchに解凍できます .adopユーティリティは独自の環境を設定するため、実行する前に環境を調達する必要はありません。

または

  • 次のコードを使用して、パッチファイルsystemenvironmentファイルを実行(またはソーシング)して環境を設定します。

      Source <EBS install base>/EBSapps.env run
    

オンラインパッチはいくつかのフェーズで構成され、次の構文を使用してadopコマンドラインで指定されます。

adop phase=<phase_name>
準備フェーズ

次のコマンドを使用して、新しいオンラインパッチ適用サイクルを開始する準備をします。

$ adop phase=prepare
適用フェーズ

次のコマンドを実行して、1つ以上のパッチをOracleE-BusinessSuiteシステムのパッチエディションに適用します。

$ source <EBS install base>/EBSapps.env patch
$ adop phase=apply patches=123456,789101 workers=8

注: 適用フェーズですべてのカスタマイズ変更を展開することもできます。

ファイナライズフェーズ

次のコマンド(アプリケーションがまだオンラインのときに実行できます)を使用して、このフェーズの最終的なパッチ適用操作を実行します。

$ adop phase=finalize
カットオーバーフェーズ

次のコマンドを使用して、パッチを適用した環境に移行します。

$ adop phase=cutover
クリーンアップフェーズ

次のコマンドを実行して、パッチプロセスから不要になった古いオブジェクトを削除します。

$ adop phase=cleanup
すべてのフェーズを1つのコマンドで実行

次の構文を使用して、1つのコマンドですべてのフェーズを実行します。

adop phase=prepare,apply,finalize,cutover,cleanup patches=<patch_number1>,<patch_number2>

次のオプションのパラメータも使用できます。

actualize_all :パッチエディションのすべてのオブジェクトを実現します。 cleanup_full :古いエディションをクリーンアップして削除します。放棄 :失敗したパッチを破棄します。

クリーンアップモード

必要に応じて、次のクリーンアップモードを使用します。

  • cleanup_mode =quick –廃止されたクロスエディショントリガーとシードデータの削除を含む、最小限のクリーンアップを実行します。次のパッチ適用サイクルをできるだけ早く開始する必要がある場合は、クイッククリーンアップを使用してください。

  • cleanup_mode =standard –クイックモードと同じように機能し、廃止されたエディションのコードオブジェクト(カバーされたオブジェクト)を削除(削除)します。

  • cleanup_mode =full –最大限のクリーンアップを実行します。これにより、以前のエディションの廃止されたコードとデータがすべて削除されます。

オプションのフェーズ

必要に応じて、このセクションのフェーズを使用してください。

フェーズを中止

条件付きフェーズである中止フェーズを他のフェーズで指定することはできません。

何らかの理由で準備フェーズまたは適用フェーズのいずれかが失敗した場合は、abortコマンドを使用して特別なフェーズを実行することにより、これらのポイントのいずれかでパッチ適用サイクルを中止できます。以前に実行したアクションは破棄(またはロールバック)されます。

アボートコマンドは、カットオーバーフェーズまでしか使用できません(ただし、カットオーバーフェーズは含まれません)。カットオーバー後、システムは新しいエディションで実行され、そのパッチ適用サイクルでは中止できなくなります。

次のコマンドを使用して中止を実行します。

$ adop phase=abort

アボートを実行した後、完全なクリーンアップを実行する必要があります。 1つのオプションは、次のコマンドを使用することです。

adop phase=cleanup cleanup_mode=full

次の組み合わせコマンドを使用して、アボートとクリーンアップの両方を同時に実行できます。

$ adop phase=abort,cleanup cleanup_mode=full

パッチエディションへのパッチの適用を中止した後、次のfs_cloneを実行する必要があります パッチファイルシステムを再作成するコマンド:

$ adop phase=fs_clone

fs_cloneフェーズ

fs_cloneフェーズは、パッチファイルシステムをrunfileシステムと同期します。 fs_cloneフェーズは、特定の文書化された手順の一部として言及されている場合にのみ実行する必要があります。

次のコマンドに示すように、次の準備フェーズを実行する前に、ファイルシステムの実行からこのコマンドを呼び出す必要があります。

$ source <EBS install base>/EBSapps.env RUN
$ adop phase=fs_clone

fs_clone操作が失敗した場合は、オプションforce=yesを使用して再実行できます。 プロセスを最初から(同じセッションIDで)再開するか、force=no 失敗したポイントからプロセスを再開します。

すべてのフェーズを実際に実行する

各オンラインパッチ適用サイクルが完了すると、データベースは追加の古いデータベースエディションを蓄積します。数が増えると、システムパフォーマンスが悪化します。古いデータベースエディションの数が25を超える場合は、adop actualize_allを実行して古いデータベースエディションを削除することを検討する必要があります。 フェーズを実行してから、完全なクリーンアップを実行します。

この手順は通常のパッチ適用サイクルよりも大幅に長く続き、新しいパッチ適用サイクルをすぐに開始する必要がない場合にのみ実行する必要があります。

開始する前に、システムに推奨されるデータベースパッチがあり、最新のAD-TXKコードレベルがインストールされていることを確認してください。

続行するには、次のコマンドを順番に実行します。

$ adop phase=prepare
$ adop phase=actualize_all
$ adop phase=finalize finalize_mode=full
$ adop phase=cutover
$ adop phase=cleanup cleanup_mode=full

adopコマンドのヒント

このセクションでは、いくつかの便利なadopユーティリティコマンドを提供します。

adopとコンカレントマネージャー

Oracleの並行マネージャーは、主に、要求のフローを管理することによってアプリケーションが圧倒されないようにする責任があります。

adopカットオーバーは、同時マネージャーのシャットダウンを要求することから始まり、進行中の要求が完了するのを待ちます。

並行マネージャーが指定された制限時間内にシャットダウンしない場合、残りの並行要求は強制終了され、カットオーバーが続行されます。

内部並行マネージャー(マスターマネージャー)をシャットダウンする前に、既存の並行プロセスの実行が終了するまで待機する時間を指定するには、cutover cm_waitを実行します。 指図。次の例では、cm_wait 時間は10分です。デフォルトでは、adopは進行中の同時リクエストが終了するのを無期限に待機します。

adop phase=cutover cm_wait=10

mtrestart=no 次の例に示すように、コマンドは停止し、アプリケーション層の再起動サービスを有効にしません。

adop phase=cutover cm_wait=10 mtrestart=no

adop hotpatch

ホットパッチモードでは、adopは、applicationservicesの実行中に、実行エディションにパッチを適用します。このモードでは、パッチプロセスを中止することはできません。

次の例では、ホットパッチモードでパッチを開始します。

$ adop phase=apply patches=<patch_list> hotpatch=yes

ホットパッチを使用した後は、必ず両方のphase=cleanupを実行してください。 およびphase=fs_clone 実行ファイルシステムをパッチファイルシステムと同期します。これにより、すべてが次のパッチ適用サイクルの準備ができていることが保証されます。

パッチを再適用する必要がある場合は、options-forceapplyを使用する必要があります 次の例に示すパラメータ:

$ adop phase=apply patches=<patch list> hotpatch=yes options=forceapply

Continue As If It Were Successfulを取得した場合 エラーが発生した場合は、次のコマンドを実行してパッチを続行します。

$ adop phase=apply patches=<patch list> abandon=no restart=yes flags=autoskip
その他の便利なadopコマンド

次のリストには、さまざまな便利なadopユーティリティ操作が含まれています。

ワーカーを定義するには:

$ adop phase=apply patches=<patch list> workers=5

パッチトップを定義するには:

$ adop phase=apply patches=<patch list> patchtop=<patch location base>

パッチをマージするには:

$ adop phase=apply patches=<patch list> merge=yes

失敗したセッションからadopを再開するには、次のコマンドを実行してからパッチを再適用します。

$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

言語パッチを申請するには:

$ adop phase=apply patches=1234456_JA:u123456.drv

パッチトップと定義済みドライバーで非対話型adopを使用するには:

$ adop phase=apply options=nocopyportion patchtop=$XLA_TOP/patch/115 patches=driver:xla123456.drv

失敗したワーカーをスキップするには、次の手順を実行します。

  1. adctrlを使用する オプション#8(これは表示されません)を選択して、失敗したジョブをスキップします。
  2. restart=yesを使用してadopを再起動します パラメータ。

失敗したジョブが多数ある場合は、flags=autoskipを使用してパッチを再起動する必要があります 次の例に示すように、オプション:

$ adop restart=no abandon=yes flags=autoskip

このコマンドはパッチを再起動し、発生した障害をスキップします。パッチアプリケーションの最後にあるログファイルを確認して、適切な障害がスキップされたことを確認します。

結論:

複数のアプリケーションエディションをデータベースに保存でき、デュアルアプリケーション層ファイルシステムをプロビジョニングできるため、adopユーティリティが有効になります。いつでも、これらのファイルシステムの1つは実行(実行中のシステムの一部)として指定され、もう1つはパッチ(パッチが適用されているか、次のパッチ適用サイクルの開始を待機している)として指定されます。現在実行されているファイルシステムは、バージョン12.2より前のOracleE-BusinessSuiteリリースで行われた単一アプリケーション層ファイルシステムのようにユーザーに表示されます。

デュアルファイルシステムの存在は、システム構成を変更するパッチに影響を及ぼします。パッチファイルシステムにソフトウェアパッチを適用するには、adopユーティリティが必要ですが、構成の変更を実行する必要はありません。実行ファイルシステムまたはパッチファイルシステムのいずれかに構成を変更でき、その後、両方の場合に自動同期が実行されます。

[フィードバック]タブを使用して、コメントを書き込んだり、質問したりします。


  1. MicrosoftAzureおよびOracleCloudInfrastructureでアプリケーションを実行する

    Microsoft®とOracle®は協力して、お客様がOracle E-BusinessSuite®、JDEdwards®EnterpriseOne、PeopleSoft®などのOracleアプリケーションをクラウドにデプロイできるようにしました。 はじめに Azure™ExpressRoute®とOracleFastConnectの間の直接相互接続を使用して、アプリケーションとデータベースレイヤーの間に高帯域幅、プライベート、および低レイテンシの接続を確立できます。この接続により、AzureインフラストラクチャでOracleアプリケーションを実行し、Oracle Cloud Infras

  2. Oracle19cでDBCAコマンドを使用してデータベースのクローンを作成する

    このブログでは、Oracle19cの新機能であるDatabaseConfiguration Assistant(DBCA)を使用して、ソースデータベースのバックアップを作成せずにリモートプラガブルデータベース(PDB)をコンテナデータベース(CDB)に複製する方法を紹介します。 ソースからターゲットへのクローン作成にかかる時間は最小限です。 ソースDBの詳細 CDB:LCONCDBPDB:LCON 以下は総数です。ソース内の各コンテナ(CDBおよびPDB)の下にあるDBFファイルのうち、クローンがターゲット内にある後に検証する必要があります。上記のソースDBから、ターゲットホスト内にCDB