Oracle E-Business Suite開発者ガイド リリース12.2 E53035-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
XML定義ファイル(XDF)ユーティリティは、現在のオブジェクト定義ファイル(ODF)ユーティリティの次世代バージョンで、オブジェクト定義を伝播するために使用されます。
XDFでは、現在、ネストされた表に対する「変更」はサポートされていないことに注意してください。ネストされた表に対しては「作成」シナリオのみサポートされています。リリース12.1以降、XDFでは、ネストされた表の情報をXDFファイルに取得し、表オブジェクトの伝播時にこの情報を読み取り、このネストされた表の列を含めるように実表を変更できます。
Oracle E-Business Suiteの標準に従って、主キー・タイプが「D」の2つの主キーが同じ表に存在することはできません。リリース12.1以降は、指定したパラメータ値に応じて、XDFアプリケーションによって古い主キーが上書きされ、新しい主キーがXDFファイルに作成されます。
ADODFGENユーティリティは、ODFを生成するためにビルディング・ブロックの概念に依存していました。XDFでは、ビルディング・ブロックの概念がサポートされておらず、かわりに主オブジェクトとその依存オブジェクトをグループ化して、各種の粒度、容易なメンテナンス、および効率的な比較を実現します。次の表に、オブジェクト格納の詳細を示します。
主オブジェクト・タイプ | 詳細 | 依存オブジェクト | XDFへの格納 |
---|---|---|---|
表 | これには、グローバル一時表、索引構成表(IOT)、キュー表、標準の表、タイプを持つ表(例: VARRAYSやネストされた表タイプ、オブジェクト・タイプ、空間データ型など)、パーティション表が含まれます。 | 索引、トリガー(オプション)、タイプ、制約、順序、ポリシー | 各XDFに1つの表とその依存オブジェクト定義 |
マテリアライズド・ビュー上のマテリアライズド・ビュー(MV) | 索引、トリガー(オプション)、マテリアライズド・ビュー・ログ | 各XDFに1つのMVとその依存オブジェクト定義 | |
実表上のマテリアライズド・ビュー | 索引、トリガー(オプション) | 各XDFに1つのMVとその依存オブジェクト定義 | |
実表上のマテリアライズド・ビュー・ログ | 索引、トリガー(オプション)、制約 | 各XDFに1つのMVログとその依存オブジェクト定義 | |
ビュー | 各XDFに1つのビュー定義 | ||
アドバンスト・キュー | 各XDFに1つのキュー定義 | ||
トリガー | トリガーは表定義とともに、または別個に生成できます。 | 各XDFに1つ以上のトリガー定義 | |
ADT (オブジェクトまたは抽出データ型) | 各XDFに1つのADT定義 |
XDF (XML定義ファイル)生成ユーティリティは、スキーマ・オブジェクト定義をXDF形式(.xdfファイル)に抽出する際に使用します。
.xdf拡張子によって、オブジェクト定義を含むXMLファイルと、データを含む他のXMLファイルが区別されます。XMLで定義を生成するにはメタデータAPI (dbms_metadata)に依存するため、XDF生成ユーティリティはOracle 9iリリース2以上(バージョン9.2.0.3以上)のデータベースに対して実行する必要があります。XDFファイルの標準的な場所は、$PROD_TOP/admin/xdfまたは$PROD_TOP/patch/115/xdfです。
XDFファイルの形式は、主オブジェクトとその依存オブジェクトが1つのファイル内で関連付けられている形式です。たとえば、表の定義とそのすべての索引、制約、トリガーが1つのXDFファイル内で関連付けられます。
オブジェクト・タイプに基づくXDFファイル構造に関する項を参照してください。XDF生成ユーティリティは、Perl()およびJava (FndXdfGen)で使用できます。XDF生成Perlユーティリティは、中央ツール領域の$FND_TOP/binの下にあります。
XDF生成ユーティリティは、メタデータAPIで生成された基本定義を補強し、次の機能を備えています。
主オブジェクトの名前に基づくXDFファイル名の自動生成
主オブジェクトの定義が関連する依存オブジェクトに関連付けられている標準的で粒度の高いXDF構造(「XDFへのオブジェクト格納」を参照)
遅延索引、削除/作成制約、ODFデフォルトなどのODF機能に対する下位互換性サポート
すべてのオブジェクトに対するDBDRVヒントの生成
表、ビュー、マテリアライズド・ビューおよびそれらの列に関するデータベース・コメントの取得
次のようなOracle E-Business Suite固有のメタデータ用タグの生成
表領域分類
論理主キー(PK)およびPK列
論理外部キー(FK)およびFK列
ヒストグラム情報
翻訳関連情報
開発者は、SQLを使用してデータベース・オブジェクトを作成または変更し、次にXDFGENユーティリティを起動してオブジェクト定義ファイルをXMLで作成します。
XDFファイルには常に、主オブジェクトと依存オブジェクトの定義全体が含まれます。最初にXDFファイルが生成された後に変更が行われた場合、その変更の対象が主オブジェクトか依存オブジェクトか(またはその両方)に関係なく、常に主オブジェクトと依存オブジェクトの定義全体が生成されます。現在、メタデータAPIでは定義全体のみが生成され、増分定義はサポートされていません。
ADODFGENユーティリティは、ODFを生成するためにビルディング・ブロックの概念に依存していました。XDFでは、ビルディング・ブロックの概念がサポートされていません。かわりに主オブジェクトとその依存オブジェクトをグループ化して、各種の粒度、容易なメンテナンス、および効率的な比較を実現します。
主オブジェクト・タイプ | 詳細 | 依存オブジェクト | XDFへの格納 |
---|---|---|---|
表 | これには、グローバル一時表、IOT、キュー表、標準の表、タイプを持つ表(例: VARRAYSやネストされた表タイプ、オブジェクト・タイプ、空間データ型など)、パーティション表が含まれます。 | 索引、トリガー(オプション)、タイプ、制約、順序、ポリシー | 各XDFに1つの表とその依存オブジェクト定義 |
マテリアライズド・ビュー上のマテリアライズド・ビュー(MV) | 索引、トリガー(オプション)、マテリアライズド・ビュー・ログ | 各XDFに1つのMVとその依存オブジェクト定義 | |
実表上のマテリアライズド・ビュー | 索引、トリガー(オプション) | 各XDFに1つのMVとその依存オブジェクト定義 | |
実表上のマテリアライズド・ビュー・ログ | 索引、トリガー(オプション)、制約 | 各XDFに1つのMVログとその依存オブジェクト定義 | |
ビュー | 各XDFに1つのビュー定義 | ||
アドバンスト・キュー | 各XDFに1つのキュー定義 | ||
トリガー | トリガーは表定義とともに、または別個に生成できます。 | 各XDFに1つ以上のトリガー定義 | |
ADT (オブジェクトまたは抽出データ型) | 各XDFに1つのADT定義 |
XDF生成ユーティリティと比較ユーティリティは、Javaスタンドアロン・コマンドライン・ユーティリティとして使用できます。これらは、開発者がより使いやすいように、Java FndXdfGenおよびFndXdfCmpユーティリティに対して、それぞれPerlラッパーのxdfgenおよびxdfcmp (後続の「使用方法」を参照)としても使用できます。
開発者はリリース12.2環境を使用して、データベース・オブジェクトの最新スキーマ定義をXDFファイルに抽出できます。
XDFを生成する前に、使用している環境に最新の生成パッチが適用され、この環境を指すように必要な環境変数($FND_TOP、$CLASSPATHなど)が設定されていることを確認してください。
XDFファイルの生成後は、xdfcmpを起動してこのアップロードをテストできます(変更をテストする場合は「使用方法」の説明を参照)。
次のパラメータは、Javaユーティリティでは必須ですが、Perlラッパー・ユーティリティのxdfgenおよびxdfcmpではオプションです。
xsl_directory - Javaでは、OS依存が発生するため環境変数を読み取ることができません。(さらに、setEnv()メソッドは非推奨になりました)。Perlでは、この環境変数をデフォルトに設定して内部的に読み取ることができ、開発者による指定は不要です。
完全なディレクトリ/パッケージ・パスを使用するJavaクラス起動 - Javaでは代替オプションはありません。Perlでは、コマンドxdfgenおよびxdfcmpを起動でき、パッケージへの参照などは不要です。
jdbc_connstring - DB SIDのみ必須になるように簡略化できます。内部的には、tnspingへの呼出しが実行され、ホスト名とポート情報はtnspingから取得されます。
次のパラメータは、Javaユーティリティでオプションになりました。
object_type - xdfgenでは、オブジェクト名によってオブジェクト・タイプが内部的に判断されます。同じ名前のオブジェクトが複数存在して判断できない場合は、object_typeまたはowner_app_shortnameが必要であることを示すエラーがスローされます。
owner_app_short_name - xdfgenでは、オブジェクト名によってowner_app_shortnameが内部的に判断され、出力に表示されます。同じ名前のオブジェクトが複数存在して判断できない場合は、object_typeまたはowner_app_shortnameが必要であることを示すエラーがスローされます。
XDF生成ユーティリティおよび比較ユーティリティは、JDeveloperからも起動できます。
Oracle JDeveloper 10g (バージョン9.0.5.2、ビルド1618)をダウンロードします。このバージョンは、XMLパーサーとの互換性を維持するために必要です。
XMLパーサーxmlparserv2-904.zipを<jdev-dir>\jdev\lib\patchesにコピーします。
XDFGen.jarおよびXDFCmp.jarを<jdev-dir>\jdev\lib\extにダウンロードします(マウスを右クリックし、「対象をファイルに保存」リンクを使用)。
JDeveloperを起動します。アプリケーション・ワークスペースおよびプロジェクトを作成または開き(空のプロジェクトも許容されます)、ソースおよびターゲット・データベースのデータベース接続を定義します。プロジェクトを選択します。「ツール」メニューからXDF生成ウィザードおよびXDF比較ウィザードを選択できます。
XDF (XML定義ファイル)比較ユーティリティ(PerlおよびJava)は、XDFに含まれるデータベース・オブジェクト定義をターゲット・データベース内の実際のデータベース・オブジェクト定義と比較し、それに従ってターゲット・データベース内のオブジェクトに変更を適用します。
XDF比較ユーティリティは、バージョン8.1.7以上のデータベースに対して実行できます。XDF比較ユーティリティはPerl (xdfcmp)およびJava (FndXdfCmp)で使用できます。XDF比較Perlユーティリティは、中央ツール領域の$FND_TOP/binの下にあります。
XDF比較ユーティリティには次の機能も含まれています。
新旧の表領域モデルのサポート、およびAD表領域APIとの統合。
ディクショナリおよびローカル管理の表領域のサポート。
ターゲット・データベースでの表/ビュー/マテリアライズド・ビューに関するデータベース・コメントの伝播。
マテリアライズド・ビュー上の索引およびマテリアライズド・ビュー(MV)ログの自動削除/再作成のサポート。
マテリアライズド・ビューで排他ロックが並行して作成されるように、マテリアライズド・ビューでのADシリアライズAPIとの統合。
APPSユーザーへのオブジェクトに対する権限の付与、およびAPPSスキーマのシノニムの作成。
スキーマ・オブジェクト定義関連の変更に対するFND/AOLデータ・ディクショナリの更新。
XDF比較ユーティリティによって更新されるFND/AOLデータ・ディクショナリ表は次のとおりです。
FND_TABLES
FND_COLUMNS
FND_VIEWS
FND_FOREIGN_KEYS
FND_PRIMARY_KEYS
FND_HISTOGRAM_COLS
FND_FOREIGN_KEY_COLUMNS
FND_PRIMARY_KEY_COLUMNS
FND_OBJECT_TABLESPACES
次に、XDFでサポートされているデータベース・オブジェクトのリストを示します。
表
XDFでは、標準の表以外に、次のタイプの表をサポートしています。
一時表。一時表は、表を作成する製品チームのスキーマに作成されます。
グローバル一時表。グローバル一時表は、別のセッションで使用中の場合、変更または削除できません。この表のDDL文は、表に対してDML文が実行されていないフェーズ中に実行される必要があります。
キュー表。
パーティション表。
索引構成表(IOT)
オブジェクト・データ型(抽出データ型またはADT)
オブジェクト・タイプはスキーマ・オブジェクトです。これは、アプリケーション・プログラムが処理する実際のエンティティ(発注など)の抽出です。オブジェクト・データ型には次の2つのカテゴリがあります。
オブジェクト・タイプ
収集タイプ
オブジェクト・データ型では、アプリケーションでデータの構造と動作をモデル化するデータ型のビルディング・ブロックとして、ビルトイン・データ型およびその他のユーザー定義データ型を使用します。
各収集タイプは、すべて同じデータ型の要素(数に制限なし)で構成されるデータ単位を示します。収集タイプには、配列タイプおよび表タイプがあります。対応するデータ単位はVARRAYおよびネストされた表と呼ばれます。
XDFでは、次の場合にADTが変更されます。
格納パラメータの変更
列のフィルタ
XDFでは、次の場合にADTが削除されて再作成されます。
ROWIDから主キー(またはその逆)
ターゲット・データベース(XDFではなく)での列のフィルタ
次の表に、オブジェクトまたは抽出データ型のXDF構造を示します。
主オブジェクト・タイプ | 主/依存 | 依存オブジェクト | XDFへの格納 | ファイル名 |
---|---|---|---|---|
抽出データ型またはオブジェクト・データ型 | 主 | 該当なし | 各XDFに1つ以上のADT定義。注意: 各XDFに1つのオブジェクト・データ型をお薦めします。 | <オブジェクト・データ型名>.xdf |
(パーティション)マテリアライズド・ビュー
(パーティション)マテリアライズド・ビュー・ログ
(パーティション)マテリアライズド・ビュー上の索引およびマテリアライズド・ビュー・ログ
グローバル一時表
ファンクション・ベース索引
パーティション表および索引
索引構成表
アドバンスト・キュー
アドバンスト・キュー表
アプリケーション・コンテキスト
前述のファンクション・ベース索引とパーティション索引に加えて、B*tree、ビットマップおよびハッシュを含む索引。
ビュー
順序
トリガー
制約
ポリシー
次の説明は、XDF比較ユーティリティを使用する場合に該当します。
xdfcmp <owner_schema>/<owner_password>@<oracle_sid> <xdf_filename>
[<apps_schema_name>/<apps_password>]
[logfile=<filename>]
[changedb=<y|n>]
[deferred=<list>]
[dropCr=<list>]
[Data_Sec_Vpd=<y|Y>]
[Standalone=<y|Y>]
必須の引数は次のとおりです。
apps_schema: APPSスキーマのORACLEスキーマ名。
apps_password: APPSスキーマのORACLEスキーマ・パスワード。
oracle_sid: XDFファイルに対してXDFが比較および適用されるターゲット・データベースのORACLE SID。
xdf_filename: ターゲット・データベースに対して適用または比較(あるいはその両方)される主オブジェクトが含まれるXDFファイルの名前。
オプションのパラメータは次のとおりです。
apps_schema_name/password: APPSスキーマの名前とパスワードを指定する必要があります(apps/appsのデフォルト値でない場合)。
changedb: デフォルトはchangedb=yです。changedbがnに指定されると、比較ユーティリティによって生成されるSQL文は実行されませんが、標準出力またはログ・ファイルに表示されます。
deferred: このパラメータは、ODFバージョン1の既存の機能に対する下位互換性サポート用で、索引の作成を後に遅延します。このオプションはAD自動パッチのコンテキストに関連しています。遅延する索引を指定する場合はオプションdeferred=<遅延する索引のカンマ区切りリスト>を使用し、すべての索引を遅延する場合はdeferred=allを使用します。
dropCr: XDFでは、後のフェーズにおける制約の削除および再作成をサポートしています。このオプションはAD自動パッチのコンテキストに関連しています。削除および再作成が必要な制約のリストは、dropCr=<制約のカンマ区切りリスト>と指定します。
logfile: ジェネレータ・プログラムの出力は標準出力に書き込まれます。出力をログ・ファイルに書き込む場合は、ログ・ファイル名を指定します。
Data_Sec_Vpd: このパラメータを使用して、データベース・バージョンに基づいてサービス・セキュリティ・シノニムまたはビューを動的に作成する必要があることを指定します。データベース・バージョンが9の場合はシノニムが作成され、それ以外の場合はビューが作成されます。可能な値はdata_sec_vpd=yです。
Standalone: このオプションを使用して、XDF比較ユーティリティをスタンドアロン・モードで実行します。可能な値はstandalone=yです。
次に、xdfcmpの使用例をいくつか示します。
グローバル一時表 - 次のコマンドを使用して、XDFファイルwftmptab1.xdf内の表定義をデータベースdb_name内の定義と比較し、その差異を調べます。
xdfcmp <APPLSYS username>/<APPLSYS password>@db_name wf_local_users_temp.xdf changedb=n
表 - 次のコマンドを使用して、XDFファイルjta_sync_contact_mapping.xdf内の表定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。この例では、表の索引JTA_SYNC_CONTACT_MAPPING_U1が遅延されます。
xdfcmp <JTF user>/<JTF user password>@db_name jta_sync_contact_mapping.xdf deferred=JTA_SYNC_CONTACT_MAPPING_U1
マテリアライズド・ビュー - 次のコマンドを使用して、XDFファイルbil_bi_opty_t_mv.xdf内のマテリアライズド・ビュー定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。
xdfcmp <APPS username>/<APPS password>@db_name bil_bi_opty_t_mv.xdf
ビュー - 次のコマンドを使用して、XDFファイルabmbg_act_acct_data_var_v.xdf内のビュー定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。
xdfcmp <APPS username>/<APPS password>@db_name abmbg_act_acct_data_var_v.xdf
java oracle.apps.fnd.odf2.FndXdfCmp
<schemaId>
<schemaPassword>
<appId>
<appPassword>
<jdbc driver type>
<jdbc tns info>
<object_type>
<xdf file name>
<xsl file directory>
[deferred=<list> ]
[dropCr=<list>]
[logfile=<filename>]
[Data_Sec_Vpd=<y|Y>]
[Standalone=<y|Y>]
[changedb=<y|n>]
注意: XDF比較プログラムを実行する前に、JDKおよびJDBCの正しいバージョン(少なくともjdk118およびjdbc111)を使用してCLASSPATH環境変数が設定される必要があります。
必須の引数は次のとおりです。
schema_name - オブジェクトが存在するか、または作成する必要があるORACLEスキーマの名前。
schema_pwd - オブジェクトが存在するか、または作成する必要があるORACLEスキーマのパスワード。
apps_schema: 現在のAPPSスキーマのORACLEスキーマ名。
apps_pwd: 現在のAPPSスキーマのORACLEスキーマ・パスワード。
jdbc_protocol - JDBCプロトコル(Thinまたはoci8)。
jdbc_connect_string - 二重引用符で囲まれたNet8接続文字列の形式、またはhostname:port:oracle_sid形式のJDBC TNS情報。
object_type - オブジェクト・タイプ情報 – 表、キュー表、マテリアライズド・ビュー、マテリアライズド・ビュー・ログ、順序、タイプ、トリガー、ビューまたはポリシー。
xdf_filename - オブジェクト定義を含むXDFファイル名。
xsl_directory - XSLT変換に必要なすべてのxslファイルを含むxslディレクトリ。通常は、$FND_TOP/patch/115/xdf/xslまたは$FND_TOP/admin/xdf/xslです。
オプションのパラメータは次のとおりです。
deferred - XDFでは、索引の作成の遅延をサポートしています。遅延する索引のリストは、deferred=<遅延する索引のカンマ区切りリスト>と指定します。このオプションはAD自動パッチのコンテキストに関連しています。これは、制約とともに使用する場合のみ、スタンドアロン・ユーティリティの使用方法に関連しています。
dropCr - XDFでは、後のフェーズにおける制約の削除および再作成をサポートしています。削除および再作成が必要な制約のリストは、dropCr=<制約のカンマ区切りリスト>と指定します。
logfile: 比較ユーティリティの出力は標準出力に書き込まれます。出力をログ・ファイルに書き込む場合は、ログ・ファイル名を指定します。
Data_Sec_Vpd: このパラメータを使用して、データベース・バージョンに基づいてサービス・セキュリティ・シノニムまたはビューを動的に作成する必要があることを指定します。データベース・バージョンが9の場合はシノニムが作成され、それ以外の場合はビューが作成されます。可能な値はdata_sec_vpd=yです。
Standalone: このオプションを使用して、XDF比較ユーティリティをスタンドアロン・モードで実行します。可能な値はstandalone=yです。
changedb: デフォルトはchangedb=yです。changedbがnに指定されると、比較ユーティリティによって生成されるSQL文は実行されませんが、標準出力またはログ・ファイルに表示されます。
例:
グローバル一時表 - 次のコマンドを使用して、XDFファイルwf_local_users_temp.xdf内の表定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。
java oracle.apps.fnd.odf2.FndXdfCmp applsys apps apps apps thin ap105fam:1521:db_name table /home/sbrahman/wf_local_users_temp.xdf /fnddev/fnd/11.5/patch/115/xdf/xsl
表 - 次のコマンドを使用して、XDFファイルjtasyncmap.xdf内の表定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。この例では、表の索引JTA_SYNC_CONTACT_MAPPING_U1が遅延されます。
java oracle.apps.fnd.odf2.FndXdfCmp jtf jtf apps apps thin ap112fam:1521:db_name table jta_sync_contact_mapping.xdf /fnddev/fnd/11.5/patch/115/xdf/xsl deferred=JTA_SYNC_CONTACT_MAPPING_U1
マテリアライズド・ビュー - 次のコマンドを使用して、XDFファイルbil_bi_opty_t_mv.xdf内のマテリアライズド・ビュー定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。
java oracle.apps.fnd.odf2.FndXdfCmp apps apps apps apps thin ap105fam:1521:db_name mview bil_bi_opty_t_mv.xdf /fnddev/fnd/11.5/patch/115/xdf/xsl
ビュー - 次のコマンドを使用して、XDFファイルaview.xdf内のビュー定義をデータベースdb_name内の定義と比較し、データベース内のオブジェクト定義とXDFファイル内の定義が一致するように差異を削除するSQL文を実行します。
java oracle.apps.fnd.odf2.FndXdfCmp apps apps apps apps thin ap112fam:1511:db_name view abmbg_act_acct_data_var_v.xdf /fnddev/fnd/11.5/patch/115/xdf/xsl
Copyright © 1995, 2013, Oracle and/or its affiliates. All rights reserved.