Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド 12c (12.2.1.1.0) E77227-02 |
|
![]() 前へ |
![]() 次へ |
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ファイルのインポートを実行する前に、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型(すべての文字型) |
はい |
問合せのSQL文。 |
OWNER |
VARCHAR2 (30) |
はい |
問合せの最終実行ユーザー。 |
APPLICATION |
VARCHAR2 (30) |
いいえ |
問合せのアプリケーション名。 |
FREQUENCY |
NUMBER |
いいえ |
この問合せが実行された回数。 |
LASTUSE |
DATE |
いいえ |
この問合せの最終実行日付。 |
PRIORITY |
NUMBER |
いいえ |
ユーザーが指定する問合せのランキング。 |
RESPONSETIME |
NUMBER |
いいえ |
問合せの実行時間(秒)。 |
RESULTSIZE |
NUMBER |
いいえ |
問合せが選択した合計バイト数。 |
SQL_ADDR |
NUMBER |
いいえ |
問合せのキャッシュ・アドレス |
SQL_HASH |
NUMBER |
いいえ |
問合せのキャッシュ・ハッシュ値。 |
問合せワークロード表への移入後は、Oracle Databaseのバージョンに応じたツールを使用してマテリアライズド・ビューを作成します。
Oracle Database 10gでは、Oracle Enterprise Manager Database ControlのSQLアクセス・アドバイザを使用して、作成した問合せワークロード表を指定します。
SQLアクセス・アドバイザは、指定したファクト表のパフォーマンス向上に関する推奨事項を生成します。SQLアクセス・アドバイザに適切なマテリアライズド・ビューを作成するSQLコードが表示されます。SQLアクセス・アドバイザでマテリアライズド・ビューの作成を実行する前に、次のヒントを確認してください。
SQLコードにCAST
文が含まれていると、マテリアライズド・ビューの作成が失敗する場合があります。
CREATE MATERIALIZED VIEW
文でワークロード表として指定した問合せと同じものを指定していないことを確認してください。この文で同じ問合せを指定すると、マテリアライズド・ビューに実際のパフォーマンス向上が反映されないことになります。ただし問合せの実行頻度が高い場合はマテリアライズド・ビューの作成が無駄にならない場合もあります。
SQL文の後のCREATE MATERIALIZED VIEW
文の最後にスラッシュを追加します。追加されていない場合は、SQL*Plusワークシートで有効な文であると認識されません。
注意:
また、SQLアクセス・アドバイザは適切な索引付けスキームの決定にも役立ちます。