ヘッダーをスキップ

Oracle E-Business Suiteアップグレード・ガイド
リリース12.0および12.1から12.2
部品番号E87020-01
目次へ移動
目次
前ページへ移動
次ページへ移動

Oracle E-Business Suiteオンライン・パッチ

この章では、次のトピックについて説明します。

概要

Oracle E-Business Suiteリリース12.2ではオンライン・パッチが導入されており、この新機能により、以前のリリースで必要であったリリース・アップデート・パック(RUP)、クリティカル・パッチ・アップデート(CPU)、およびその他のパッチやバグ・フィックスの適用時の停止時間が大幅に短縮されます。

主要機能

注意: 従来のパッチ・モデルは、必要なリソースをすべて使用して、できるかぎり迅速に処理を行うことにより停止時間を短縮するように設計されています。一方、オンライン・パッチ・モデルでは、ユーザーがシステムを使用したままパッチ操作を実行できるため、停止時間を短縮できます。

原理

基本的に、オンライン・パッチは次のように実行されます。

  1. 稼働システムのコピーが作成されます。

  2. ユーザーが稼働中のシステムにアクセスしている間に、パッチをそのコピーに適用します。

  3. ユーザーに意識させることなく、コピーが新規稼働システムになります。

  4. 元の稼働システム(現在使用されていない)は削除されます。

これは複数のフェーズから構成されるパッチ・サイクルのコンセプトの概念を取り入れたもので、以前のリリースで使用されていたモデルとは異なる点です。これらのフェーズは、準備、適用、最終化、カットオーバーおよびクリーン・アップを表します。

注意: オンライン・パッチの原理の詳細は、Oracle E-Business Suite概要を参照してください。

実装

稼働中のアプリケーションのコピーを使用するメカニズムでは、Oracle E-Business Suiteアプリケーションがファイル・システムとデータベースにそれぞれ格納されているコードとデータの両方で構成されていることを考慮する必要があります。

このうち、ファイル・システムのほうが、コピーを作成および保守するだけで済むため対応が容易です。作成される二重ファイル・システムは、稼働中のシステムで使用するファイル・システムと、パッチ適用時または(ほとんどの場合に該当する)パッチ待機時のシステムとで構成されます。2つのファイル・システムはパッチ・サイクルの終了ごとに役割を交換し、両者間の遷移はAutoConfigによって管理されます。

稼働中のアプリケーション・システムのデータベース部分のコピー作成は、より複雑です。これには、Oracle Database 11g R2のエディション・ベースの再定義(EBR)機能が利用されています。アプリケーション定義の複数のコピー(エディション)が同一データベース内に効率的に格納され、それによってデータベース層のオンライン・アップグレードが可能になります。

データベース・パッチ・エディションはパッチ・サイクルの間のみ存在し、サイクル終了時には新規の実行エディションになります。それまでのデータベース実行エディション(旧エディション)とそこに含まれる廃止オブジェクトは、パッチ・サイクルの終了時に破棄され、クリーン・アップ・フェーズで領域が再生されます。

ツール

パッチは、新規adop (ADオンライン・パッチ)ツールを使用して実行されます。このツールで、Oracle E-Business Suiteの以前のリリースで直接実行していたadpatchユーティリティが起動されます。

警告: オンライン・パッチ環境でのadpatchの直接実行は、Oracleから明示的な指定がある場合を除き、サポートされていません

adopツールは全体のパッチ・サイクルを調整し、必要に応じて個々のフェーズを実行する場合にも使用されます。

注意: adop機能およびオプションの完全な詳細は、Oracle E-Business Suiteメンテナンス・ガイドの「パッチ」の項を参照してください。

オンライン・パッチの有効化

アップグレード完了後、次のステップを実行してオンライン・パッチングを有効化します。

  1. データベース・バージョンの検証

    Oracle E-Business Suiteリリース12.2のオンライン・パッチでは、データベースをバージョン11.2.0.4以上にアップグレードする必要があります。データベース・アップグレードがエラーなしで正しく完了していることを確認します。

  2. リリース12.2に必須のデータベース・パッチの確認

    『データベース準備ガイドライン』のリリース12.2を参照し、記載されているすべてのパッチがデータベースにインストールされていることを確認します。インストールされていないパッチがある場合は、オンライン・パッチ・プロセスの有効化を実行しないでください。Oracle E-Business Suiteリリース12.2へのアップグレードに必要なデータベースの準備に関するガイドライン(文書ID: 1629854.1)を参照してください。

  3. 最新のOracle E-Business Suiteオンライン・パッチ・レディネスおよびGSCCレポート・パッチの適用

    後続のステップに進む前に、Oracle E-Business Suiteリリース12.2でのオンライン・パッチ・レディネス・レポートの使用方法について(文書ID 1903962.1)を参照して、リリース12.2以上が適用対象となるOracle E-Business Suiteオンライン・パッチ・レディネスおよびGSCCレポート・パッチ(統合スタンドアロン・レディネス・レポート・パッチ)を適用する必要があります。

    重要: EBRの有効化を含め、後続のステップに進む前に、adpatchを使用して実行エディション・ファイル・システムに統合スタンドアロン・レディネス・レポート・パッチを適用する必要があります。

  4. オンライン・パッチ有効化の実行 - 準備レポート

    これらのユーティリティのダウンロード方法は、Oracle E-Business Suiteリリース12.2でのオンライン・パッチ・レディネス・レポートの使用方法について(文書ID 1903962.1)を参照してください。

    アプリケーション層のAPPL_TOPから次のユーティリティを実行する必要があります。非エディション・オブジェクト(表およびマテリアライズド・ビューなどのデータ格納オブジェクト)に関するEBRルールに準拠しないオブジェクト、および参照エディション・オブジェクト(パッケージ、トリガー、オブジェクト・タイプなどのコード・オブジェクト)を含むEBR違反がレポートされます。このレポートでは、いくつかのネーミング標準違反もリストされ、オンライン・パッチ有効化のパッチを適用する前に修正する必要があります。

    1. 実行ファイル・システム環境の初期化

      source <RUN APPL_TOP>/<Instance SID>_<hostname>.env
      

      注意: 後続のステップでは、この環境ファイルで初期化した同一セッションで実行中であるとみなします。追加のオペレーティング・システム・レベルのセッションが必要な場合は、同じ環境ファイルで環境を初期化する必要があります。

    2. オンライン・パッチのログ・ファイルの場所を作成し、現行ディレクトリとして設定します。

      mkdir $LOG_HOME/appl/op
      cd $LOG_HOME/appl/op
    3. 次の準備レポートを実行します。

      • ADZDPSUM.sql - エディション対象のスキーマ、およびエディション対象として推奨される、E-Business Suiteコードによって異なるオブジェクトのスキーマの要約を示します。これらのスキーマは、このレポートの最後のセクションに示すコマンドを実行してアプリケーションに登録できます。アプリケーションにカスタム・スキーマを登録した後、このレポートを再度実行することをお薦めします。ADZDPSUM.sqlを個別に実行し、EBR違反がレポートされなくなるまで個々のスキーマを処理する必要があります。

        注意: プロンプトが表示されたら、システム・パスワードを入力します。レポートのセクション2に表示されるAPPS_NEおよびODMスキーマは無視してかまいません。

        sqlplus system @$AD_TOP/sql/ADZDPSUM.sql
        mv adzdpsum.txt adzdpsum_pre_dbprep.txt
      • ADZDPMAN.sql - 有効化プロセスの実行前にこのプロセスでエラー発生を回避するために修正する必要のある、EBRルールに対する様々な違反カテゴリのオブジェクトを示します。このレポートは、前述のレポートADZDPSUM.sqlの指示に従って、すべてのカスタム・スキーマをアプリケーションに登録した後で実行することをお薦めします。

        注意: プロンプトが表示されたら、システム・パスワードを入力します。

        sqlplus system @$AD_TOP/sql/ADZDPMAN.sql
        mv adzdpman.txt adzdpman_pre_dbprep.txt
      • ADZDPAUT.sql - このレポートは、有効化プロセスで自動的に修正される、EBRルールに対する違反のあるすべてのオブジェクトを示します。このレポートは情報を示すものであり、このレポートから処理が行われるわけではありません。

        注意: プロンプトが表示されたら、システム・パスワードを入力します。

        sqlplus system @$AD_TOP/sql/ADZDPAUT.sql
        mv adzdpaut.txt adzdpaut_pre_dbprep.txt
  5. 手動介入が必要なオンライン・パッチ準備レポートに示す違反の修正

    オンライン・パッチ準備レポートには、様々な違反タイプのセクションがあります。

    1. ADZDPMAN.sqlレポートに記載されているすべてのセクションを確認します。各セクションの指示に従って違反を修正します。

      注意: 準備レポートの大部分の違反は、カスタム・スキーマを登録すると自動的に修正されます。要約準備レポート(ADZDPSUM.sql)の最後のセクションで、カスタム・スキーマを登録するサンプル・コマンドを確認してください。

      次のスキーマは登録しないでください。

      • SYS

      • SYSTEM

      • CTXSYS

      これらのスキーマとエディション・オブジェクトに依存している場合はコード標準違反となり、手動で修正する必要があります。

    2. テンプレート・ファイル$AD_TOP/sql/ADZDPCUST.sqlをカスタマイズして、選択した修正を実行することをお薦めします。

    3. すべての違反に対処するまで、オンライン・パッチ有効化の実行- 準備レポートのステップを繰り返します。

  6. データベース表領域の空き領域の検証

    Oracle Database 11gR2のエディション・ベース再定義機能では、エディション・オブジェクトの管理に使用するディクショナリ表のための領域が別途必要です。

    1. 実行ファイル・システム環境の初期化

      source <RUN APPL_TOP>/<Instance ID>_<hostname>.env
    2. オンライン・パッチ・ツールadopを実行する前に、HOSTNAME環境変数を設定します。

      • 次を実行して、環境変数HOSTNAMEが設定されていることを確認します。

        $ echo $HOSTNAME
      • HOSTNAME環境変数が設定されていない場合は次を実行します。

        export HOSTNAME=<your-hostname-without-domain>

        注意: 最初のステップを繰り返して、環境変数が正しいホスト名であることを確認します。

      • ホスト名が設定されていてドメインがある場合は、ドメインなしでリセットします。

        例:

        echo $HOSTNAME
        apcappsx2.au.oracle.com
        export HOSTNAME=apcappsx2
    3. 次のレポートを実行して、現在の表領域の空き領域を取得します。

      perl $AD_TOP/bin/adzdreport.pl apps
      
      1. オプション 3 - その他一般レポートを選択します。

      2. 次のオプション - 重要な表領域の空き領域を選択します。

      プロンプトが表示されたら、パスワードを入力します。

    4. 次を確認します。

  7. オンライン・パッチ有効化の実行 - ステータス・レポート

    このレポートでは、オンライン・パッチを有効化するプロセスのステータス全体を示します。これは有効化パッチの適用前、適用中および適用後に実行できます。この段階では、オンライン・パッチの有効化の前のレポート結果が表示されます。

    1. 現行ディレクトリを$LOG_HOME/appl/opに設定します。

      cd $LOG_HOME/appl/op
    2. 次のコマンドを使用してレポートを実行します。この段階で無効なオブジェクトを検証します。すべてのオンライン・パッチ・オブジェクト(パターン'AD_ZD%'と一致するオブジェクト)が有効かどうかを必ず確認します。

      sqlplus <apps username> @$AD_TOP/sql/ADZDEXRPT.sql

      注意: プロンプトが表示されたら、appsパスワードを入力します。

    3. 次のように、将来の参照用に出力をpre_dbprepとして保存します。

      mv adzdexrpt.txt adzdexrpt_pre_dbprep.txt
  8. 中間層E-Business Suiteサービスがすべて停止していることの確認

    オンライン・パッチ有効化パッチを適用する前に、中間層E-Business Suiteサービスがすべて停止していることを確認します。

    注意: 最新のOracle E-Business Suiteリリース12.2用リリース更新パックにアップグレードするまでは、アプリケーション層のすべてのサービスを起動しないでください。このガイドのアップグレード後のタスクの項を参照してください。

  9. オンライン・パッチ有効化パッチのダウンロードおよび適用

    オンライン・パッチ有効化パッチ13543062: R12.AD.Cをダウンロードして適用します。パッチの適用には、ホットパッチ・モードでAutoPatchを使用します(adpatch options=hotpatch,forceapply)。

    重要: オンライン有効化パッチの適用時、次のようなエラーが表示される場合があります。「Attention: Adpatch should no longer be used to apply patches.Please use ADOP tool for applying patches.」このエラーが表示された場合は、adopをホットパッチ・モードで使用して、有効化パッチを適用する必要があります。

    オンライン・パッチ有効化パッチ適用の監視

    有効化パッチの適用が完了するまでに数時間かかる場合があります。DDLステータス・レポート(ADZDSHOWDDLS.sql)を次のように実行すると、この進捗をいつでも監視できます。

    sqlplus <apps Username> @$AD_TOP/sql/ADZDSHOWDDLS.sql

    このレポートには、EBRで環境を有効化するために必要なDDL文の数を示します。このレポートの実行結果は正常実行、「未実行」、実行失敗で編成されます。パッチ適用の終了時には、このレポートの「未実行」および実行失敗セクションの件数は0になる必要があります。「未実行」および実行失敗項目がレポートにある場合、このような失敗はOracle Supportに報告してください。レポートの出力、パッチ・ログおよびすべてのワーカーのログ、およびオンライン・パッチ有効化ステータス・レポートの出力が求められます。オンライン有効化パッチ時にワーカーの失敗があった場合、そのエラーは無視またはスキップできません。この問題は、ワーカーを再開する前に対応する必要があります。エラーを無視またはスキップすると、データベース破損の原因となることがあります。

    注意: 前述の結果の他に、一部のDDL文が「警告」ステータスで完了することがあります。

  10. 無効オブジェクトのコンパイル(存在する場合)

    appsとしてsqlplusに接続し、次を実行します。

    exec sys.utl_recomp.recomp_parallel
  11. オンライン・パッチ有効化パッチの適用後のオンライン・パッチ有効化ステータス・レポートの再実行

    1. 現行ディレクトリを$LOG_HOME/appl/opに設定します。

      cd $LOG_HOME/appl/op
    2. 有効化パッチの完了後、ただちにステータス・レポートを実行します。

      sqlplus <Apps Username> @$AD_TOP/sql/ADZDEXRPT.sql

      注意: プロンプトが表示されたら、APPSスキーマ・パスワードを入力する必要があります。

    この段階では、このレポートは有効化プロセスで発生したエラーを識別し、修正することを目的としています。

    重要: このレポートのエラーを修正する必要があります。これを守らないと、将来のパッチ・サイクルで予期しない失敗が発生する可能性があります。

  12. オンライン・パッチ有効化パッチ適用後のオンライン・パッチ有効化準備レポートの再実行

    1. 現行ディレクトリを$LOG_HOME/appl/opに設定します。

      cd $LOG_HOME/appl/op
    2. 有効化パッチの完了後、準備レポートを実行します。

      sqlplus system @$AD_TOP/sql/ADZDPSUM.sql

      注意: プロンプトが表示されたら、SYSTEMスキーマ・パスワードを入力する必要があります。

      mv adzdpsum.txt adzdpsum_post_dbprep.txt
      sqlplus system @$AD_TOP/sql/ADZDPMAN.sql
      mv adzdpman.txt adzdpman_post_dbprep.txt
      sqlplus system @$AD_TOP/sql/ADZDPAUT.sql
      mv adzdpaut.txt adzdpaut_post_dbprep.txt

      この段階では、このレポートはオンライン・パッチ機能を有効化する前に発生したすべてのEBR違反が修正されていることを確認することを目的としています。

  13. コード標準違反を確認するためのオンライン・パッチ・データベース準拠チェッカ・レポートの実行

    1. 現行ディレクトリを$LOG_HOME/appl/opに設定します。

      cd $LOG_HOME/appl/op
    2. オンライン・パッチ・データベース・オブジェクト標準違反を確認するためのオンライン・パッチ・データベース準拠チェッカ・レポートを実行します。

      sqlplus <Apps Username> @$AD_TOP/sql/ADZDDBCC.sql

    このユーティリティでは、オンライン・パッチ開発標準に対するすべての違反をレポートします。Oracle E-Business Suite開発者ガイドオンライン・パッチのデータベース・オブジェクト開発標準の項を参照してください。すべてのOracle E-Business Suiteの違反は、12.2アップグレードで修正されます。このレポートに記載されているオブジェクトがカスタム・コードの一部であれば、これを修正する必要があります。違反を修正しない場合、このレポートにリストされているオブジェクトへのパッチ適用にオンライン・パッチ・インフラストラクチャを使用できなくなります。

データベース初期化パラメータ

Oracle E-Business Suiteリリース12.2では、オンライン・パッチをサポートする、ebs_patchと呼ばれる新規のデータベース・サービスが導入されています。service_namesパラメータでは、ユーザーが環境に接続するための名前を1つ以上指定します。環境ではそのサービス名とリスナーが登録されます。ユーザーがサービスを要求すると、要求されたサービスを提供する環境がリスナーによって判別され、ユーザーが最適な環境にルーティングされます。

例:

service_names=%s_dbSid%,ebs_patch

SYSとして接続せずにオンライン・パッチ・サイクルのクリーン・アップ・フェーズを実行できるようにするには、recyclebinパラメータをオフにする必要があります。この機能は他のタイミングで使用されることがあります。

例:

recyclebin=off

_SYSTEM_TRIG_ENABLEDがfalseに設定されている場合、システム・トリガーは処理されません。オンライン・パッチ有効化後のパラメータをtrueに設定する必要があります。

_SYSTEM_TRIG_ENABLED=true

_SYSTEM_TRIG_ENABLED=true

注意: この項で説明するパラメータは、Oracle E-Business Suiteリリース12.2にのみ適用されます。詳細は、Database Initialization Parameters for Oracle E-Business Suite Release 12(文書ID 396009.1)を参照してください。