ヘッダーをスキップ

Oracle E-Business Suite
リリース11iから12.2へのアップグレード・ガイド
E51767-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

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

この章の内容は、次のとおりです。

概要

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

主要機能

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

原理

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

  1. 稼働中のシステムのコピーを作成します。

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

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

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

これは複数のフェーズからなるパッチ・サイクルのコンセプトを取り入れたもので、以前のリリースで使用されていたモデルとは異なる点です。これらのフェーズは、prepare、apply、finalize、cutoverおよびcleanupを意味します。

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

実装

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

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

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

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

ツール

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

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

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

注意: adop機能およびオプションの完全な詳細は、『Oracle E-Business Suite Maintenance Guide』のパッチに関する項を参照してください。

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

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

重要: Visionインストールを使用しているユーザーで、EBS 12.2へアップグレード中の場合、adop/オンライン・パッチングを実行する前に次のユーティリティを実行する必要があります。

utlirpを実行してからutlrpを実行します (これには時間がかかる場合があります) 。これにより、utldtchk.sqlレポートのタイムスタンプの不一致とadop prepareフェーズでの異常終了を回避できます。

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

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

  2. リリース12.2に必須の11.2.0.3パッチングの確認

    『Database Preparation Guidelines for Release 12.2』を参照し、記載されているすべてのパッチがデータベースにインストールされていることを確認します。インストールされていないパッチがある場合は、オンライン・パッチング・プロセスの有効化を実行しないでください。『Database Preparation Guidelines for an E-Business Suite Release 12.2 Upgrade』 (Doc ID: 1349240.1) を参照してください。

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

    これらのユーティリティは、リリース12.2とは別にパッチ16305440で入手可能であり、リリース12.2へのアップグレード前の準備段階で使用します。使用中のリリース11i (12.0または12.1) 用の適切なパッチをダウンロードします。これらのユーティリティの最新情報は、パッチのREADMEファイルを参照してください。

    アプリケーション層の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
  4. 手動での介入が必要な、オンライン・パッチング準備レポートに示す違反の修正

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

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

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

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

      • SYS

      • SYSTEM

      • CTXSYS

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

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

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

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

    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. 次を確認します。

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

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

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

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

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

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

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

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

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

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

    オンライン・パッチング有効化パッチ: 13543062:R12.AD.Cをダウンロードして適用します。パッチの適用にはホット・パッチ・モードでAutoPatchを使用します。

    重要: オンライン有効化パッチの適用中、次のようなエラーが表示される場合があります。注意: Adpatchはパッチ適用には使用されなくなりました。パッチの適用にはADOPツールを使用してください。このエラーが表示された場合は、adopをhotpatchモードで使用して有効化パッチを適用する必要があります。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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違反が修正されていることを確認することを目的としています。

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

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

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

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

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

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

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

例:

service_names=%s_dbSid%,ebs_patch

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

例:

recyclebin=off

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