Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.4.0) E96106-04 |
|
前 |
次 |
この付録の内容は次のとおりです。
Oracle BIサーバーのOracle Business IntelligenceメタデータをOracle DatabaseまたはIBM DB2データベースと交換することによって、データ・ウェアハウスの問合せのパフォーマンスの速度を向上できます。
メタデータの交換には、Oracle BIサーバーのsametaexport
ユーティリティを使用します。sametaexport
を実行してDB2のキューブ・ビューを生成するときは、このユーティリティがDB2 Cube Views Generatorと呼ばれます。このユーティリティを実行してOracle Databaseのメタデータを生成する場合は、Oracle Database Metadata Generatorと呼ばれます。
Oracle BIサーバーのエクスポート・ユーティリティは、次のツールで機能します。
Oracle Databaseでは、SQLアクセス・アドバイザによって、パフォーマンスの最適化に関するマテリアライズド・ビューと索引の推奨が作成されます。
IBM DB2データベースでは、IBM DB2 Cube Viewsによってマテリアライズ照会表(MQT)が作成されます。
sametaexport
ユーティリティは、SQLアクセス・アドバイザまたはIBM DB2 Cube Viewsツールでリレーショナル・データの事前集計と問合せのパフォーマンスの向上に必要な情報を生成します。
Oracle Database Metadata GeneratorとDB2 Cube Views Generatorは、Oracle BIサーバーからSQLアクセス・アドバイザまたはIBM DB2データベースへのメタデータのインポートに必要なファイルを作成します。
ここでは、2つのジェネレータに共通する次の項目について説明します。
Oracle Database Metadata GeneratorおよびDB2 Cube Views Generatorは、コマンドラインから起動されるか、バッチ・ファイルに埋め込まれています。
コマンドラインの実行可能ファイルは、sametaexport
と呼ばれます。
sametaexport
ユーティリティは、WindowsシステムとUNIXシステムの両方で使用できます。ただし、sametaexport
は、RPD形式のバイナリ・リポジトリでのみ使用できます。
sametaexport
ユーティリティの場所は、次のとおりです。
ORACLE_HOME/bi/bifoundation/server/bin
sametaexport -r "PathAndRepositoryFileName" [-p repository_password]
-f "InputFileNameAndPath" [options]
この表は、コマンドライン実行可能ファイルのパラメータを示しています。
パラメータ | 定義 | 追加情報 |
---|---|---|
-r |
リポジトリ・ファイル名とフルパス |
ファイル・パスが長い形式の場合または空白が含まれる場合のみ、ファイル名とパスに引用符が必要です。ファイルが現行ディレクトリにない場合は、フルパスを使用します。 |
-p |
リポジトリ・パスワード |
特定のリポジトリのパスワード。 パスワード引数はオプションです。パスワード引数を指定しない場合は、コマンド実行時にパスワードを入力するように求められます。セキュリティ侵害のリスクを最小限にとどめるために、パスワード引数をコマンドラインやスクリプトで指定しないことをお薦めします。スクリプト上の理由から、標準入力によってパスワードを指定できます。 |
-f |
入力ファイル名とフルパス |
ファイル・パスが長い形式の場合または空白が含まれる場合のみ、ファイル名とパスに引用符が必要です。ファイルが現行ディレクトリにない場合は、フルパスを使用します。入力ファイルは、コマンドラインに必要な情報のすべてを入力しないで済むように、また国際文字を入力できるように指定します。「メタデータ入力ファイルについて」を参照してください。 |
入力ファイルまたはコマンドラインで追加パラメータを組み込むことによって、Oracle Database Metadata GeneratorまたはDB2 Cube Views Generatorの様々なデフォルトを変更できます。入力ファイルで指定したパラメータは、コマンドラインで指定したパラメータより優先されます。これらのパラメータの組込みは、デフォルト値を変更する必要がある場合のみに限定してください。
この表は、これらのオプション・パラメータを示しています。
パラメータ定義 | 追加情報 | 入力ファイルの使用例 | コマンドラインの使用例 |
---|---|---|---|
RPDのスキーマ名の使用 |
YESに設定すると、リポジトリで使用されていたスキーマ名がそのまま使用されます。デフォルト値はYESです。 |
USE_SCHEMA_NAME_FROM_RPD = NO |
-schemafrom rpd NO |
デフォルト・スキーマ名 |
|
DEFAULT_SCHEMA_NAME = ORACLE |
-defaultschema ORACLE |
Oracleスキーマ名 |
Oracle Database Metadata Generatorからのメタデータはこのスキーマで作成されます。デフォルト値はSIEBELです。 |
ORA_DIM_SCHEMA_NAME = ORACLE |
-orclschema ORACLE |
ロギング有効 |
メタデータ・エクスポート・プロセスのログを保持するかどうかを指定します。有効値は |
LOGGING = DEBUG |
-logging DEBUG |
ログ・ファイル名 |
ログ・ファイルへのパス。無効なパスを指定すると、エラーが発生します。 このパラメータを指定しない場合は、デフォルトのログ・ファイルのパスが使用されます。デフォルトのパスは次のとおりです。 ORACLE_INSTANCE\diagnostics\logs\ OracleBIServerComponent\ coreapplication_obisn\ OraDimExp.log |
|
|
パラメータ定義 | 追加情報 | 入力ファイルの使用例 | コマンドラインの使用例 |
---|---|---|---|
個別カウントのサポート |
|
DISTINCT_COUNT_SUPPORTED = YES |
-distinct YES |
統計関数のサポート |
YESに設定すると、集計 |
STATISTICAL_FUNCTIONS_SUPPORTED = YES |
-stat YES |
スキーマ名の使用 |
YESに設定すると、Cube Viewsメタデータ属性に、表からスキーマ名を使用した列が導出され、パラメータでの指定に使用されます。NOに設定すると、これらの表のスキーマ名は空白になります。デフォルト値はYESです。 |
USE_SCHEMA_NAME = NO |
-useschema NO |
RPDのスキーマ名の使用 |
YESに設定すると、リポジトリで使用されていたスキーマ名がそのまま使用されます。デフォルト値はYESです。 |
USE_SCHEMA_NAME_FROM_RPD = NO |
-schemafromrpd NO |
デフォルト・スキーマ名 |
-schemafromrpdの値をNOに設定した場合、またはリポジトリ・スキーマ名が判定できない場合は、デフォルトのスキーマ名が表スキーマ名として使用されます。デフォルト値はSIEBELです。 |
DEFAULT_SCHEMA_NAME = ORACLE |
-defaultschema ORACLE |
キューブ・ビュー・スキーマ名 |
Cube Viewsメタデータが作成されるスキーマの名前。デフォルト値はSIEBELです。 |
CUBE_VIEWS_SCHEMA_NAME = ORACLE |
-cubeschema ORACLE |
ログ・ファイル名 |
ログ・ファイルへのパス。無効なパスを指定すると、エラーが発生します。 このパラメータを指定しない場合は、デフォルトのログ・ファイルのパスが使用されます。デフォルトのパスは次のとおりです。 ORACLE_INSTANCE\diagnostics\logs\ OracleBIServerComponent\ coreapplication_obisn\ CubeViews.log |
LOG_FILE_NAME = C:\bea_default\instances\instance1\diagnostics\logs\generator\logfile.log |
-logfile C:\bea_default\instances\instance1\diagnostics\logs\generator\logfile.log |
失敗のログ記録 |
|
LOG_FAILURES = NO |
-logfail NO |
成功のログ記録 |
YESに設定すると、各ルールでチェックされ、合格したメタデータがログ・ファイルにリストされます。デフォルト値はNOです。 |
LOG_SUCCESS = YES |
-logsuccess YES |
この表は、メタデータ入力ファイルのパラメータを示しています。
入力ファイルは、次の表に示すパラメータが記載されたテキスト・ファイルです。
入力ファイル名 | 説明 |
---|---|
BUSINESS_MODEL |
エクスポート対象のメタデータが格納されたOracle BIリポジトリの論理レイヤーにあるビジネス・モデル名。リポジトリでビジネス・モデルが見つからない場合はエラー・メッセージが表示されます。 入力ファイルではビジネス・モデル名を1つだけ指定できます。複数のビジネス・モデルのメタデータを生成するには、入力ファイルを個別に作成して、Oracle Database Metadata GeneratorまたはDB2 Cube Views Generatorを別途実行します。 |
PHYSICAL_DATABASE |
エクスポート対象のメタデータが格納されたOracle BIリポジトリの物理レイヤーにあるデータベースの名前。ビジネス・モデルが複数のデータベースから導出されている場合は、ここで指定されたデータベース以外のすべてのデータベースのメタデータが排除されます。リポジトリで物理データベースが見つからない場合は、エラー・メッセージが表示されます。 |
RUN_AS_USER |
データベース・ユーザーのユーザー名です。メタデータ・エクスポート時にはこのユーザーの表示モードを複製する必要があります。このパラメータは空白にできません。このユーザーはリポジトリ内のユーザー・リファレンスに存在している必要があります。 |
OUTPUT_FOLDER |
SQLファイルが格納されているフォルダの完全パスとファイル名を指定します。Oracle Database Metadata Generatorの実行時にこのフォルダが存在しない場合は、このプロセスで作成されます。「出力ファイルについて」を参照してください。 |
次のテキストはメタデータ入力ファイルのサンプルを示しています。
BUSINESS_MODEL = "1 - Sample App" PHYSICAL_DATABASE = "1 - Sample App Data" RUN_AS_USER = "Administrator" OUTPUT_FOLDER = "C:\OracleBI"
ジェネレータごとに、異なるタイプの出力ファイルが作成されます。
次のリストは、出力ファイルを示しています。
Oracle Database Metadata Generatorは、UTF-8でエンコードされ、指定された出力フォルダに格納されるSQLファイルを作成します。ファイル名は、入力ファイルで指定したmy_business_model.sqlなどのビジネス・モデルの名前をベースにします。
DB2 Cube Views Generatorは、指定された出力フォルダに次のファイルを生成します。
XMLファイル(UTF8でエンコード)。指定されたビジネス・モデルに対してXMLファイルが1つ作成されます。このファイルにはキューブに変換されたオブジェクトが格納されます。リポジトリ内のオブジェクトがIBM Cube Viewsメタデータの類似オブジェクトにマッピングされます。変換されないオブジェクトのリストについては、「IBM DB2データベースの変換ルール」を参照してください。
XMLファイルの名前は、ビジネス・モデル名から空白を抜いてXML拡張子を付けたものになります(例: SalesResults.xml
)。
別名生成DLLが格納されたSQLファイル。ビジネス・モデルで参照される物理レイヤー・データベースに別名が存在する場合にのみ、指定したビジネス・モデルにSQLファイルが作成されます。別名ファイルには、DB2データベースで別名を作成するSQLコマンドが格納されます。SQLファイルの名前は、ビジネス・モデル名から空白を抜いてSQL拡張子を付けたものになります(例: SalesResults‐alias.sql
)。
エラー・メッセージは、ジェネレータがタスクの一部またはすべてを完了できなかったことを示します。
ジェネレータの起動後に次のエラー・メッセージが表示されることがあります。
Unable to write to Log file: log_file_name
入力ファイルまたはコマンドラインで指定したログ・ファイルのパスに誤りがある、ユーザーに当該のフォルダに対する書込み権限がない、ディスクの空き容量が不足しているなどの可能性があります。
Run_as_user user_nameが無効です。
ユーザー名が正しくありません。
リポジトリrepository_name.rpdが無効または破損しています。
リポジトリ名が正しくない、指定のパスに存在しない、ユーザーに読取り権限がないなどの可能性があります。
物理データベースdatabase_nameが無効です。
物理データベース名が、リポジトリの有効な物理データベース・オブジェクトと一致していません。
ビジネス・モデルmodel_nameが無効です。
ビジネス・モデル名が、リポジトリの有効なビジネス・モデル・オブジェクトと一致していません。
指定した認証情報は無効です。
コマンドラインで指定したリポジトリ・パスワードが正しくありません。
パス: "path_name"が無効です。
パスまたはファイル名が正しくないか、現在のユーザーに読取りアクセス権がありません。
ジェネレータは、出力ファイルを作成するときにOracle BIリポジトリのメタデータ・オブジェクトのOracle DatabaseまたはIBM DB2データベースの類似オブジェクトへのマッピングも行います。
ここでは、SQLまたはXML形式に翻訳(変換)できないOracle Business Intelligenceメタデータの識別に使用されるルールについて説明します。Oracle Business Intelligenceで使用可能なメタデータ構成の中に、Oracle DatabaseおよびIBM Cube Viewsではサポートされないものがあるために、このようなルールが必要になります。
SQLまたはXMLファイルのディメンション・メタデータは、論理ファクト表のソース・レベルで生成されます。論理ファクト表のソースに無効な論理ディメンション表ソースが存在する場合、その論理ディメンション表ソースは無効化されます。論理ファクト表ソースが無効の場合は、マッピングされているすべての論理ディメンション表ソースも無効化されます。無効なOracle Business Intelligenceリポジトリ・メタデータ要素は、SQLまたはXMLファイルのキューブに変換されません。
ルール違反が発生した場合、ジェネレータではログ・ファイルにエラー・メッセージとルールに違反したメタデータが書き込まれます。
Oracle BIメタデータをオブジェクトに変換するためのルールについて学習します。
Oracle Business IntelligenceメタデータからOracle Databaseのオブジェクトへの変換ルールは次のとおりです。
論理表の式を含む属性はエクスポートできません。
復合結合を使用して結合された表は考慮されません。
不透明なビューである表は考慮されません。
特定のレベルのキーの構成部分として使用される列を別のレベルのキーの構成部分として使用することはできません。
Oracle Databaseでは、列を複数のレベルのキーとして使用することが禁じられています。この禁止により、Oracle Database Metadata Generatorでは、2つの結合のいずれかを削除する必要があります。通常は最初に検出された結合が削除されます。このため、その他の結合が失われ、エクスポートされないことになります。
Oracle BIリポジトリ・メタデータ要素の検証に使用するルールおよびその他の情報について学習します。
次の表は、Oracle BIリポジトリ・メタデータ要素の検証に使用されるルール、ルール違反の発生時にログ・ファイルに書き込まれるエラー・メッセージ、ルール違反の原因に関する説明を示しています。エラー・メッセージは、特定のOracle Business Intelligenceメタデータ・オブジェクトがXMLファイルにエクスポートされなかった原因の判定に有益です。
ルール | メッセージ | 説明 |
---|---|---|
ComplexJoinFactsRule |
[ファクト論理表ソース]複合物理結合はサポートされていません。 %qnには、物理表%qnおよび%qnの間に複合結合%qnがあります。 |
物理ファクト表が復合結合を介して接続されている場合、その結合はサポートされません。復合結合は外部キー関係がない2つの表間の結合と定義されます。 |
ComplexJoinDimsRule |
[ディメンション論理表ソース]複合物理結合はサポートされていません。 %qnには、物理表%qnおよび%qnの間に複合結合%qnがあります。 |
ディメンション物理表が複合結合を介して接続されている場合、その結合はサポートされません。 |
ComplexJoinFactDimRule |
[ファクト論理表ソース->ディメンション論理表ソース]複合物理結合はサポートされていません。 %qnには、物理表%qnおよび%qnの間に複合結合%qnがあります。 |
ディメンション物理表とファクト物理表が複合結合を介して接続されている場合、その結合はサポートされず、ディメンション表が無効化されます。 |
OpaqueViewFactRule |
[ファクト論理表ソース]物理SQL Select文はサポートされていません。 %qnはSQL Select文%qnを使用しています。 |
SQL SELECT文によって物理ファクト表が生成されている場合、その表を含む論理ファクト表ソースは無効化されます。この論理ファクト表ソースに接続されている論理ディメンション表ソースもすべて無効化されます。この構成は副問合せ処理を許容するものです。 |
OpaqueViewDimRule |
[ディメンション論理表ソース]物理SQL Select文はサポートされていません。 %qnはSQL Select文%qnを使用しています。 |
SQL SELECT文によって物理ディメンション表が生成されている場合、その表を含む論理ディメンション表ソースは無効化されます。 |
OuterJoinFactRule |
[ファクト論理表ソース]物理外部結合はサポートされていません。 %qnには、物理表%qnおよび%qnの間に外部結合%qnがあります。 |
論理ファクト表ソースに外部結合のマッピングがある場合、その論理ファクト表ソースが無効化され、このソースにマッピングされた論理ディメンション表ソースもすべて無効化されます。 |
OuterJoinDimRule |
[ディメンション論理表ソース]物理外部結合はサポートされていません。 %qnには、物理表%qnおよび%qnの間に外部結合%qnがあります。 |
論理ディメンション表ソースに外部結合のマッピングがある場合、その論理ディメンション表ソースは無効化されます。 |
WhereClauseFactRule |
[ファクト論理表ソース] WHERE句はサポートされていません。 %qnにwhere条件%sがあります。 |
ファクト表ソースでロードするデータのフィルタに |
WhereClauseDimRule |
[ディメンション論理表ソース] WHERE句はサポートされていません。 %qnにwhere条件%sがあります。 |
ディメンション表ソースでロードするデータのフィルタに |
TwoJoinFactDimRule |
[ファクト論理表ソース->ディメンション論理表ソース]ソース間の複数の結合はサポートされていません。 %qnおよび%qnには少なくとも次の結合があります : %qn、%qn |
同じディメンション・ソースからの2つのディメンション表に、同一の物理ファクト表がマッピングされている場合(ファクト表が表ソース内で最も詳細度の高い表に排他的にマッピングされていない場合)、そのディメンション表ソースは無効化されます。 |
HiddenManyManyRule |
[ファクト論理表ソース->ディメンション論理表ソース](物理または論理?)ファクトおよびディメンション間の結合が最も詳細な表にありません。 %qnおよび%qn間の%qnが最も詳細な表%qnにありません{結合名,ファクト表,ディメンション表) |
これは、TwoJoinFactDimRuleに関連します。ファクト表がディメンション表に結合され、その表が表ソース内で最も詳細な表ではない場合、そのディメンション表ソースは無効化されます。 |
ComplexMeasureRule |
[列]複合集計ルールはサポートされていません。 %qnに使用されている集計ルール%sはサポートされていません。 |
サポートされる集計は通常、 |
CountDistMeasureRule |
[列] COUNT-DISTINCT集計ルールはサポートされていません。 %qnに使用されている集計ルール%sはサポートされていません。 |
|
InvalidColumnLevelRule |
[レベル]プライマリ・レベル・キーを構成する一部の列が無効です。 %qnに主キーの一部として%qnが含まれていますが、%qnが既に無効になっています。 |
このレベルのレベル・キーの1つ以上の列が無効になっています。 |
VariableBasedColumnRule |
[論理表ソース -> 列]列で式に変数が使用されています。 列%qnでそのマッピングに変数が使用されています。 |
論理列でリポジトリと式に含まれるセッション変数が使用されています。 |
OneFactToManyDimRule |
[ファクト論理表ソース->ディメンション論理表ソース](論理またはファクト?)およびディメンションの最も詳細な表間に固有の結合パスが必要です。 %qnおよび%qn(どちらも物理表名)の間に結合パスが見つかりません。 少なくとも、次の結合パスが見つかりました: (%qn->%qn....), (%qn->%qn....) |
TwoJoinFactDimRuleおよびHiddenManyManyRuleの場合と同様です。 |
ManyMDTinFactRule |
[ファクト論理表ソース]ファクト論理表ソースには固有の最も詳細な表が必要です。 %qnには少なくとも次の最も詳細な表が含まれています : %qn,%qn. |
ファクトに複数の最も詳細な表が存在しています。 |
NoMeasureFactRule |
[ファクト論理表ソース]ファクト論理表ソースにメジャーがありません。 %qnに配布可能なメジャーがありません。 |
すべてのメジャーが無効化されているため、ファクト表にメジャーがありません。 |
NoInActiveFactRule |
[ファクト論理表ソース]ファクト論理表ソースが有効になっていません。 |
ファクト・ソースが有効ではありません。 |
NoInActiveDimRule |
[ディメンション論理表ソース]ディメンション論理表ソースが有効になっていません。 |
ディメンション・ソースが有効ではありません。 |
NoAttributeInFactRule |
[ファクト論理表ソース->列]ファクトで属性が見つかりました。 ファクト・ソース%qnの%qnには集計ルールがありません。 |
ファクト・ソースに属性がありません。 |
NoMeasureInDimRule |
[ディメンション論理表ソース -> 列]ディメンション内にメジャーが見つかりました。 ディメンション・ソース%qnの%qnに集計ルールがあります。 |
ディメンション・ソースにメジャーがありません。 |
VisibleColumnsAttrRule |
[列] -> run_as_userにはこの論理列を参照できません。 %qnは参照ルールにより、run_as_user %qnからアクセスできません。 |
このユーザーにはこの列を参照する権限がありません。 |
VisibleColumnsMeasRule |
[列] -> run_as_userにはこの論理列を参照できません。 %qnは参照ルールにより、run_as_user %qnからアクセスできません。 |
このユーザーにはこの列を参照する権限がありません。 |
MultiplePrimaryKeysDimRule |
[ディメンション論理表ソース]結合にディメンション論理表ソースの代替キーが使用されています。 %qnの%qnおよび%qn間の%qnに代替キー%qnが使用されています。 |
ディメンション物理表に組み込むことができる主キーは1つのみです。別の一意のキーを使用して別のディメンション物理表に結合されている結合は無効です。 IBM Cube Viewsでは、外部結合に使用される一意のキーが受け入れられず、常に主キーが要求されます。 |
MultiplePrimaryKeysFactRule |
[ディメンション論理表ソース]結合にディメンション論理表ソースの代替キーが使用されています。 %qnの%qnおよび%qn間の%qnに代替キー%qnが使用されています。 |
ファクト物理表に組み込むことができる主キーは1つのみです。別の一意のキーを使用して別のファクト物理表に結合されている結合は無効です。 IBM Cube Viewsでは、外部結合に使用される一意のキーが受け入れられず、常に主キーが要求されます。 |
MultiplePrimaryKeysFactDimRule |
[ファクト論理表ソース->ディメンション論理表ソース]結合で論理表ソース間に代替キーが使用されています。 ソース%qnおよび%qnの%qnと%qnの間で%qnに代替キー%qnが使用されています。 |
ファクト物理表に組み込むことができる主キーは1つのみです。別の一意のキーを使用してディメンション物理表に結合されている結合は無効です。 IBM Cube Viewsでは、外部結合に使用される一意のキーが受け入れられず、常に主キーが要求されます。 |
NotDB2ExpressionAttrRule |
[ディメンション論理表ソース -> 列]列にサポートされていない式が含まれています。 %qnにサポートされていない式%sが含まれています。 |
IBM Cube Viewsでサポートされない式が属性に含まれています。 これには、日時関数(例: |
NotDB2ExpressionMeasRule |
[ファクト論理表ソース -> 列]列にサポートされていない式が含まれています。 %qnにサポートされていない式%sが含まれています。 |
IBM Cube Viewsでサポートされない式がメジャーに含まれています。 これには、日時関数を使用するメタデータ式が含まれています。例: |
NoAttributeDimRule |
[ディメンション論理表ソース]ディメンション論理表ソース内にrun_as_userから参照できる属性がありません。 %qnのいずれの属性も参照可能でないため、ユーザー%qnは問合せを実行できません。 |
ディメンションに属性がありません。 |
Oracle Business IntelligenceからSQLアクセス・アドバイザにメタデータをエクスポートし、Oracle Database Metadata Generatorを使用してマテリアライズド・ビューを作成する方法を学習します。
この項では、次の項目について説明します。
マテリアライズド・ビューでのSQLアクセス・アドバイザを使用して、データ・ウェアハウスのパフォーマンスおよびデータベースの機能を向上できます。
データベースに存在するデータの論理的関係に関するメタデータを、SQLアクセス・アドバイザで格納できるようにします。また、効率的なOracleマテリアライズド・ビューを使用することによって、データ・ウェアハウスの問合せのスピードが向上します。これらのマテリアライズド・ビューは、リレーショナル・データを事前集計して問合せのパフォーマンスを向上させます。メタデータがSQLアクセス・アドバイザに格納された後は、データベース管理者がデータベース・オブジェクトを最適化して、問合せのパフォーマンスを強化できます。
問合せの処理時に、Oracle Databaseは可能なかぎりマテリアライズド・ビューを格納している表に問合せをルーティングします。このマテリアライズド・ビューのテーブルは基底にある元表より小さく、データが事前集計されているため、再ルーティングされた問合せを高速で実行できます。
Oracle Database Metadata Generatorは、メタデータ・ブリッジとして機能します。Oracle Business Intelligence固有のメタデータがPL/SQLコマンドが組み込まれたSQLファイルに変換され、SQLアクセス・アドバイザでディメンションが生成されます。メタデータがSQLファイル変換された後は、SQL*Plusなどのツールを使用して変換後のメタデータをSQLアクセス・アドバイザにインポートしてメタデータ・カタログ表に格納します。メタデータのインポート後は、マテリアライズド・ビューを作成し、このビューを 着信するアプリケーション問合せの最適化に使用します。
メタデータをOracle Databaseにデプロイするには、あらかじめOracle Databaseとそのツールを十分に理解しておく必要があります。
『Oracle Databaseパフォーマンス・チューニング・ガイド』の「SQLアクセス・アドバイザ」を参照してください。
メタデータのデプロイ前にジェネレータの実行に記載されたステップを完了します。キューブ・メタデータをデプロイするには、次の各項で説明されているタスクを実行します。
SQLアクセス・アドバイザへのSQLファイルのインポートを実行する前に、Oracle Databaseのインポート・ツールを十分に理解しておく必要があります。詳細は、Oracle Databaseのドキュメント・セットを参照してください。
SQL*Plusなどのツールを使用してOracle Database Metadata Generatorが生成したSQLファイルを実行します。ディメンションが既存の場合、またはデータベース・スキーマがRPDファイルのものと異なる場合は、エラー・メッセージが表示される場合があります。スクリプトの実行が正常に完了すると、データベースWebコンソール、またはOracle Enterprise Manager Database Controlを使用して作成されたディメンションが表示されます。Oracle Enterprise Manager Database Controlでは、「ネットワーク」、「データベース」、データベース名、「ウェアハウス」、「サマリー管理」、「ディメンション」、「システム」の各ノードを展開します。
SQLファイルの実行後は、次の事項に注意します。
増分メタデータ変更は許可されません。スキーマの変更では、Oracle Databaseのキューブ・モデル・メタデータを手動で削除し、Oracle Business Intelligenceのメタデータを変換しなおす必要があります。たとえば、Oracle BIリポジトリ内のキューブのディメンションを変更する必要がある場合は、Oracle Databaseのキューブ・モデルを削除し、Oracle BIリポジトリからSQLファイルを再生成してSQLアクセス・アドバイザにインポートする必要があります。
Oracle Database Metadata Generatorではメタデータの削除は実行できません。Oracle Enterprise Manager Database Controlを使用してキューブ・モデルを手動で削除する必要があります。
Oracle Databaseでディメンション表とファクト表間の結合が確実に認識できるようにする必要があります。
Oracle Databaseのドキュメントを参照してください。
これには、SQL*PlusまたはOracle Enterprise Manager Database Controlで制約を作成します。Oracle Enterprise Manager Database Controlで、制約を作成する表を選択して「制約」タブを選択します。
次のように、表の種類によって、タイプの異なる制約を作成します。
ディメンション表には、UNIQUE
キー制約を作成します。
ファクト表には、FOREIGN
キー制約を作成し、参照先スキーマと参照先表を指定します。「制約の定義」領域に、ファクト表の外部キー列とディメンション表の対応する一意キーを組み込みます。外部キー列データがディメンション表の一意キー列データと一致しないかぎり、ファクト表での外部キーの作成が失敗します。
問合せワークロードは、最適化に使用される物理問合せのサンプル・セットです。
問合せワークロード作成の詳細は、Oracle Databaseのドキュメント・セットを参照してください。
ワークロードの作成前に実行速度が最低速の問合せに関する情報を使用してトレース・ファイルを生成します。
実行速度が最低速の問合せのトレース・ファイルは、次のように使用するデータベースのバージョンに応じたツールを使用して生成できます。
使用状況トラッキング: Oracle Business Intelligenceにある機能で、この機能を使用して問合せとその実行所要時間をログに記録します。実行時間が長いOracle Business Intelligenceの問合せはスクリプトとして実行でき、また、Oracle Databaseのトレース機能とともに使用するとこれらの問合せのOracle Database SQLコードを取得できます。
Oracle Databaseトレース: このツールは、最低速の物理問合せの特定に使用します。トレース機能は、Oracle Enterprise Manager Database Control内から、またはDBMS_MONITOR
パッケージとともにSQLコマンドを入力することによって有効化できます。トレース機能を有効化したら、スクリプトを使用してトレース・ファイルを作成し、問合せワークロード表で問合せに使用されるSQLコードを取得します。
Oracle Enterprise Manager: このツールは実行速度が遅い問合せの追跡に使用されます。
ノート:
次に説明する機能は、Oracle Business Intelligenceではなく、Oracle Databaseで使用できます。
問合せをワークロードにロードするには:
トレース・ユーティリティを使用して最低速の物理問合せの名前を特定したら、USER_WORKLOAD
表に挿入します。
次の表は、USER_WORKLOAD
表の列を示しています。
INSERT
文を使用して、QUERY
列に最低速物理問合せのSQL文を、OWNER
列に該当する所有者名を移入します。
列 | データ型 | 必須 | 説明 |
---|---|---|---|
QUERY |
すべてのLONGまたはVARCHAR型(すべての文字型) |
YES |
問合せのSQL文。 |
OWNER |
VARCHAR2 (30) |
YES |
問合せの最終実行ユーザー。 |
APPLICATION |
VARCHAR2 (30) |
NO |
問合せのアプリケーション名。 |
FREQUENCY |
NUMBER |
NO |
この問合せが実行された回数。 |
LASTUSE |
DATE |
NO |
この問合せの最終実行日付。 |
PRIORITY |
NUMBER |
NO |
ユーザーが指定する問合せのランキング。 |
RESPONSETIME |
NUMBER |
NO |
問合せの実行時間(秒)。 |
RESULTSIZE |
NUMBER |
NO |
問合せが選択した合計バイト数。 |
SQL_ADDR |
NUMBER |
NO |
問合せのキャッシュ・アドレス |
SQL_HASH |
NUMBER |
NO |
問合せのキャッシュ・ハッシュ値。 |
問合せワークロード表への移入後は、Oracle Databaseのバージョンに応じたツールを使用してマテリアライズド・ビューを作成します。
SQLアクセス・アドバイザは、指定したファクト表のパフォーマンス向上に関する推奨事項を生成します。SQLアクセス・アドバイザに適切なマテリアライズド・ビューを作成するSQLコードが表示されます。SQLアクセス・アドバイザでマテリアライズド・ビューを作成する前に、次を確認してください。
SQLコードにCAST
文が含まれていると、マテリアライズド・ビューの作成が失敗する場合があります。
CREATE MATERIALIZED VIEW
文でワークロード表として指定した問合せと同じものを指定しないでください。この文で同じ問合せを指定すると、マテリアライズド・ビューに実際のパフォーマンス向上が反映されない可能性があります。ただし問合せの実行頻度が高い場合はマテリアライズド・ビューの作成が無駄にならない場合もあります。
SQL文の後のCREATE MATERIALIZED VIEW
文の最後にスラッシュを追加します。フォワード・スラッシュが含まれていない場合は、SQL*Plusワークシートで有効な文であると認識されません。
ノート:
また、SQLアクセス・アドバイザは適切な索引付けスキームの決定にも役立ちます。
DB2 Cube Views Generatorを使用してOracle Business IntelligenceからIBM DB2にメタデータをエクスポートする方法を学習します。
この項では、次の項目について説明します。
これによりデータ・ウェアハウスのパフォーマンスおよびデータベースの機能がどのように向上するかを学習します。
IBM DB2 Cube Viewsは、IBMの登録商標です。「システム要件と動作保証」を参照してください。
データベースに存在するデータの論理的関係に関するメタデータを、DB2データベースで格納できるようにします。また、効率的なDB2マテリアライズド・クエリー・テーブル(MQT)を使用することによって、データ・ウェアハウスの問合せのスピードが向上します。このMQTは、リレーショナル・データを事前集計して問合せのパフォーマンスを強化します。
問合せの処理時に、DB2のクエリー・リライト機能は可能なかぎりMQTに問合せをルーティングします。このテーブルは基底にある元表より小さく、データが事前集計されているため、再ルーティングされた問合せを高速で実行できます。
DB2 Cube Views Generatorは、Oracle BI固有のメタデータをIBM Cube ViewsのXMLファイルに変換するメタデータ・ブリッジとして機能します。メタデータをXMLファイルに変換してから、IBM Cube Viewsを使用して変換後のメタデータをDB2データベースにインポートしてIBM Cube Viewsメタデータ・カタログ表に格納します。メタデータのインポート後は、IBM Optimization Advisorを使用してマテリアライズド・クエリー・テーブル(MQT)およびその索引を作成するスクリプトを生成します。デプロイされたMQTはDB2 Query Reroute Engineで着信するアプリケーション問合せの最適化に使用されます。
DB2には、XMLドキュメントを引数として渡してメタデータ・オブジェクトの作成、変更、削除および読取りを実行するAPI (ストアド・プロシージャとして実装)があります。
XMLファイルのインポート前に、DB2 Cube Views Generatorによって生成されたalias-SQLファイルを実行する必要があります。
DB2 Cube Views Generatorによって生成されたXMLファイル には、キューブ・メタデータがXML形式で格納されています。XMLファイルをDB2にインポートした後は、マテリアライズ照会表を作成する必要があります。
ノート:
XMLファイルのインポート前に、IBM Cube Viewsとそのツールを十分に理解しておくことを強くお薦めします。IBMのドキュメントを参照してください。
メタデータのデプロイ前にジェネレータの実行に記載されたステップを完了します。キューブ・メタデータをデプロイするには、次の各項で説明されているタスクを実行します。
XMLファイルをDB2データベースにインポートする前に、別名-SQLファイルを実行する必要があります。
IBMのドキュメントを参照してください。
DB2 Cube Viewsで生成された別名-SQLファイルは、データ・ウェアハウスが配置されたデータベース上のSQLクライアントによって実行する必要があります。実行するとデータベースの表に別名(シノニム)が作成されます。
別名-SQLファイルを実行すると、データベースにXMLファイルをインポートできます。
ノート:
XMLファイルをインポートする前にIBM Cube Viewsとツールを理解する必要があります。
このファイルのインポートには、次のIBMツールを使用できます。
IBM OLAPセンター(推奨)。 「IBM OLAPセンターを使用したXMLファイルのインポートのガイドライン」とIBMのドキュメントを参照してください。
IBMコマンドライン・クライアント・ユーティリティ(db2mdapiclient.exe)。このユーティリティはDB2に付属しています。
IBM DB2ストアド・プロシージャIBM Cube Viewsは、SQLベースおよびXMLベースのアプリケーション・プログラミング・インタフェース(API)を提供し、これを使用すると、1つのストアド・プロシージャを実行してメタデータ・オブジェクトを作成、変更および取得できます。
IBM OLAPセンターを使用して、キューブのメタデータをDB2にインポートできます。IBM OLAPセンターにはウィザードがあり、ファイルのインポートに使用できます。
IBMのドキュメントを参照してください。
XMLファイルをインポートするには、次のガイドラインを使用します。
IBM OLAPセンターのツールを使用して、DB2データベースに接続します。
インポート・ウィザードで、インポート対象のXMLファイルを選択します。
データベースに存在しないデータベース構成を参照するメタデータが存在すると、エラー・メッセージが表示されます。
ウィザードでインポートのオプションを確認されたときは、既存オブジェクトの置換を選択します。
IBM OLAPセンターに戻ると、キューブ・モデルの図が表示されます。
XMLファイルのインポート後に実行できる操作について学習します。
次の操作を実行する必要がある場合があります。
Oracle OLAPでは外部キーがメタデータとして格納されないため、外部キーはDB2データベース内の変換後のメタデータには存在しません。IBM Cube Viewsの参照整合性のユーティリティを使用して外部キー情報制約を生成する必要があります。このユーティリティはIBMのWebサイトで提供されています。
外部キー結合列がNULL値可能であるなど、その他の問題が発生することがあります。この問題を解決するには、次の方法を使用できます。
これらの列のデータがNULL値可能でない場合は、列をNOT NULL列に変換します。
これらの列のデータがNULL値可能な場合、または列のデータがNULL以外でも列のデータ型を変換しない場合は、次のガイドラインを使用してキューブ・モデルを変更する必要があります。
ファクト対ディメンションの結合では、変換後のキューブ・モデルからこのディメンション・オブジェクトを手動で排除し、この結合の外部キーで構成される縮退ディメンション・オブジェクトを作成する必要があります。
ディメンション対ディメンションの結合では、変換後のキューブ・モデルから結合の主キー側を表すディメンション・オブジェクトを手動で排除し、この結合の外部キーで構成される縮退ディメンション・オブジェクトを作成する必要があります。
ファクト対ファクトの結合では、変換後のキューブ・モデルから結合の主キー側を表すファクト・オブジェクトを手動で排除し、この結合の外部キーで構成される縮退ディメンション・オブジェクトを作成する必要があります。
キューブ・ジェネレータでは増分メタデータ変更が許可されません。スキーマの変更では、DB2データベースのキューブ・モデル・メタデータを手動で削除し、Oracle Business Intelligenceのメタデータを変換しなおす必要があります。たとえば、Oracle Business Intelligenceのメタデータ・リポジトリ内のキューブのディメンションを変更する必要がある場合は、DB2データベースのキューブ・モデルを削除し、Oracle Business IntelligenceからXMLファイルを再生成して、DB2データベースにインポートする必要があります。
DB2 Cube Views Generatorではメタデータの削除はできません。IBM OLAPセンターを使用してキューブ・モデルを手動で削除する必要があります。
IBM統計ツールとIBM最適化アドバイザを定期的に実行する必要があります。
キューブのメタデータをデータベースにインポートした後は、IBM最適化アドバイザを実行してSQLスクリプトを生成し、そのスクリプトを実行してMQTを作成する必要があります。
IBMのドキュメントを参照してください。
実装から最適な結果を取得するにはIBM最適化アドバイザでいくつかのパラメータを指定する必要があります。IBM最適化アドバイザ・ウィザードによってメタデータが分析され、SQL問合せに使用されるデータの格納および索引付けを行うサマリー表を構築する方法をお薦めします。IBM最適化アドバイザの実行は、MQTを最新の状態に保持するためにも役立ちます。また、ETLの実行ごとにデータベースをリフレッシュする必要があります。
MQTを作成するには、次のガイドラインを使用します。
IBM OLAPセンターで、最適化するキューブ・モデルを選択してIBM最適化アドバイザ・ウィザードを開きます。
次の表を参考にして、ウィザードの指示に従います。
確認対象 | 選択 |
---|---|
サマリー表 |
Deferred (またはImmediate)を選択して、テーブルの表領域を指定します。 |
制約 |
最適化パラメータに適切な値を選択します。Data-samplingオプションはオンにします。 |
SQLスクリプト |
サマリー表作成の実行にはスクリプトの作成が必要です。ファイル名と場所を選択します。 |
IBM最適化アドバイザが閉じたら、SQLスクリプトを実行してMQTを作成する必要があります。