ヘッダーをスキップ

Oracle E-Business Suite開発者ガイド
リリース12.2
E53035-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

オンライン・パッチ適用対応環境におけるカスタマイズの処理

はじめに

この章では、Oracle E-Business Suiteのカスタマイズを処理する開発者のために、オンライン・パッチ適用の必須事項を紹介します。オンライン・パッチ適用によって、様々な種類のパッチを適用するために以前は必要とされた、頻繁に発生する長期間のダウンタイムが大幅に短縮されます(ただし、完全には排除されません)。パッチが適用されている間、本番アプリケーションは使用可能なままで、完全に操作可能であるため、ダウンタイムが大幅に短縮されます。

オンライン・パッチ適用は、Oracle 11gR2データベースのエディションベースの再定義(EBR)機能の使用によって有効化されます。EBRでは、データベース・パッチ処理は、本番システムのパッチ・エディション(仮想コピー)で実行されます。

3つの重要なポイントは次のとおりです。

オンライン・パッチ適用に関する考慮事項

オンライン・パッチ適用は、4つの別個の段階で実行されます。

アプリケーション・コードおよびデータのパッチ・エディション・コピーの作成を許可する以外に、EBRでは、パッチの適用中に変更された実行エディションのデータに対して、適切なパッチ変換を適用する必要もあります。

オンライン・パッチ適用サイクルの詳細は、Oracle E-Business Suite概要を参照してください。

データベースに関する考慮事項

EBRはデータベース・ユーザーごとに有効化されるため、特定のスキーマ内の潜在的にエディション化可能なオブジェクトは、すべてエディション化されているかされていないかのいずれかです(SYS、SYSTEMおよびPUBLICなどの内部データベース・ユーザーはエディション化できません)。すべてのデータベース・オブジェクトがエディション化されるわけではないため、また、あるオブジェクトの定義が別のオブジェクトに依存する場合があるため、エディショニングを正常に有効化するには、エディション化オブジェクトへの非エディション化オブジェクトの依存性がない必要があります。

この場合の潜在的な違反は、次のカテゴリに分類されます。

次に、これらの各項目について順に説明していきます。

エディション化オブジェクトに対するPUBLICシノニム

PUBLICスキーマは、エディション化できないいくつかの内部データベース・スキーマの1つであるため、いずれのPUBLICオブジェクトもエディション化されません。エディション化オブジェクトを指すPUBLICシノニムは削除する必要があり、これらに対する参照は、参照先スキーマの同等のプライベート・シノニムに置換する必要があります。これは、次のように実行します。

  1. エディション化対象のオブジェクトを指すPUBLICシノニムを問い合せます。

  2. ステップ1の各PUBLICシノニムに対して、そのPUBLICシノニムにコード依存性があるoracleユーザーを問い合せます。

  3. ステップ2の影響を受ける各oracleユーザーに対して、同等のプライベート・シノニムを作成します。

  4. すべてのプライベート置換シノニムの作成後、ステップ1のすべてのPUBLICシノニムを削除します。

エディション化ユーザー定義タイプに依存する表およびキュー

Oracle E-Business Suiteには、APPSが所有するUDTを使用して定義される約20の表/キュー列が含まれています。この状況で追加のカスタム表が存在する場合があります。エディショニング制約では、表の列がエディション化データ型に依存できないようにするため、これらの列は、同等の非エディション化タイプに依存するように変更する必要があります。

  1. UDTタイプをAPPSユーザーから非エディション化ユーザーAPPS_NEにコピーします。

  2. 影響を受けるすべてのキューを停止します。

  3. 非エディション化タイプを使用するように列タイプを更新します。

  4. 古いタイプをAPPSから削除して、非エディション化タイプに対するAPPSシノニムを作成します。

  5. AQ内部導出オブジェクトを再作成します。

  6. 影響を受けるすべてのキューを再起動します。

エディション化オブジェクトに依存するマテリアライズド・ビュー

マテリアライズド・ビューは、ビューやシノニムなどのエディション化オブジェクトに依存します。マテリアライズド・ビューは非エディション化であるため、エディションが可能な代替実装に変換する必要があります。

エディション化オブジェクトに依存するカスタム・スキーマおよびサード・パーティ・スキーマ

エディション化Oracle E-Business Suiteオブジェクトに依存するカスタム・スキーマは、Oracle E-Business Suiteに登録する必要があり、それ自体がエディション化されます。カスタム・スキーマ登録は次のように実行します。

fnd_oracle_user_pkg.load_row(
'SCHEMA_NAME', 'CUSTOM', 'INVALID', NULL, 'N', 'B');  

登録済カスタム・スキーマは、他のタイプのエディショニング制約違反を自動的に修正するために、データベース準備処理に含まれます。カスタム・オブジェクトは、オンライン・パッチ適用開発標準に準拠する必要もあり、これには、カスタム開発者による手動修正が必要な場合があります。

Oracle E-Business Suite表に対する非APPSシノニム

エディショニング制約違反は厳密ではありませんが、Oracle E-Business Suite表を直接参照するのは安全ではなくなりました。すべてのOracle E-Business Suite表参照が、Oracle E-Business Suite表を直接参照するかわりに、APPSシノニム(これが表のエディショニング・ビューを指す場合があります)を経由する必要があります。Oracle E-Business Suite表を直接指す非APPSシノニムはすべて、かわりに同等のAPPS表を指すように更新する必要があります。

APPS_NE以外のOracle E-Business Suiteデータベース・ユーザーに対するエディショニングの有効化

Oracle E-Business Suiteのすべてのデータベース・ユーザーがFND_ORACLE_USERID表に記録されます。これには、Oracle E-Business Suiteに付属のすべてのユーザー、および登録済のすべてのカスタム・データベース・ユーザーが含まれます。APPS_NE以外のすべてのOracle E-Business Suiteユーザーは、次のようにエディショニング機能を有効化します。

SQL>alter user USERNAME enable editions force;  

APPS_NEユーザーは、意図的にエディション化されないため、Oracle E-Business Suite用の非エディション化オブジェクトを含めることができます。

カスタマイズの適用

カスタマイズの適用方法は、My Oracle Supportナレッジ・ドキュメント1577661.1『Deploying Customizations in Oracle E-Business Suite Release 12.2』を参照してください。

関連トピック

『Oracle E-Business Suiteメンテナンス・ガイド』のオンラインパッチ適用サイクルに関する項

カスタム同期化ドライバ・ファイル

存在する可能性があるすべてのカスタマイズが実行およびパッチ・ファイル・システムの同期化時に保持されていることを確認する必要があります。次に例を示します。

これを行うには、すべてのカスタム・ファイル用のエントリをカスタム同期化ドライバ・ファイルに追加する必要があります。詳細は、My Oracle Supportナレッジ・ドキュメント1577661.1『Deploying Customizations in Oracle E-Business Suite Release 12.2』を参照してください。