データ・モデルの検証

データ・モデルを検証する際、検証メッセージにより、データ・モデルの修正、問合せの最適化、スタック・スレッドの削減およびレポート・パフォーマンスの向上を図れます。

最新または前のリリースで作成されたデータ・モデルを作成または編集した後、「検証」をクリックすると、Publisherにより次の処理が実行されます:

  1. データセット、LOVおよびバースティング定義に使用される問合せをチェックします。

  2. SQL問合せの実行計画を生成します。

  3. エラー・メッセージと警告メッセージのリストを表示します。

検証メッセージに基づいて必要なアクションを実行します。データ・モデルの検証メッセージを参照してください。

前のリリースからPublisherをアップグレードした場合、既存のデータ・モデルは未検証とマークされます。

データ・モデルの検証メッセージ

ここでは、リファレンス用にデータ・モデルの検証メッセージを示します。

メッセージ・タイプ

  • エラー – データ・モデルを使用してレポートを実行する場合、データ・モデルのエラーを解決する必要があります。

  • 警告 – 警告メッセージで提案された修正を行います。警告を無視してレポートを実行する場合、レポートのパフォーマンスが影響を受けることがあります。

メッセージ・リファレンス

検証タイプ メッセージ・タイプ メッセージ 制限
問合せ 警告

SQL問合せにSELECT *が含まれています。'*'の使用は制限されています。特定の列を選択してください。

 
問合せ 警告

データ・モデルにネストされたBI JDBC問合せが含まれています。論理問合せのリンクは制限されています。PublisherレポートのかわりにOTBIを使用するか、OBIEEデータセット間のリンクを削除します。

 
問合せ 警告

SQL問合せの実行計画にマージ・デカルト結合が含まれています。SQL問合せの実行計画を生成し、マージ・デカルト結合を指定します。SQL問合せに必要なフィルタを追加してください。

 
ランタイム 警告

パラメータ当たりのバインド値の数が制限{0}を超えると、パフォーマンスが低下します。バインド値の数を減らしてください。

100
問合せ 警告

SELECTの列数が制限{0}を超えています。必要な列のみを選択し、プルーニングを有効にしてください。

Publisher Best Practices for SaaS Environments』(ドキュメントID 2145444.1)を参照してください。

30
問合せ 警告

SELECTの列数が制限{0}を超えています。必要な列のみを選択してください。

100
問合せ 警告

SQL問合せに非等価結合が含まれています。中間行が生成されると、パフォーマンスの問題が発生する可能性があります。非等価結合を等価結合または外部結合で置き換えてください。

 
問合せ 警告

選択した列の名前の長さが、制限の{0}を超えています。列の名前の長さは、15文字を超えてはいけません。列名に短い別名を使用してください。

15
問合せ 警告

インラインまたは副問合せの数が制限{0}を超えています。追加のインライン選択問合せを削除してください。

10
問合せ 警告

SQL問合せにFROM DUAL句が含まれています。SQL問合せに含まれているDUAL表が多すぎます。FROM DUAL句を使用しないでください。

 
問合せ 警告

SELECTのLOB列数が制限{0}を超えています。必要な列のみを選択してください。

2
問合せ エラー

問合せにDDLまたはDMLキーワードが含まれています。SQL問合せからDDLおよびDMLキーワードを削除してください。

 
構造 警告

1つのデータセットでのグループ・ブレイク数が制限{0}を超えています。データセットから複数のグループを削除してください。

2
構造 警告

データ・モデルにグループ・フィルタが含まれています。SQL問合せでグループ・フィルタをWHERE句で置き換えてください。

 
ランタイム エラー

データ・モデル・プロパティが無効であるか、無効な値が含まれています。正しいデータ・モデル・プロパティを指定して、プロパティ値を確認してください。

 
問合せ 警告

SQL問合せの実行計画に全表スキャンが含まれています。SQL問合せで索引付き列に必要なフィルタを指定してください。

 
問合せ 警告

SQL問合せの実行計画でのバッファ読取りが大量です。バッファ読取りが制限1GBを超えています。SQL問合せにフィルタを追加して、データのフェッチ量を減らしてください。

 
問合せ 警告

SQL問合せの実行計画でのCPUサイクルが高いです。SQL問合せに必要なフィルタを追加して、データのフェッチ量を減らしてください。

 
問合せ 警告

SQL問合せ実行計画にフィルタ列での関数コールが含まれています。索引列でSQL関数コールを使用すると、パフォーマンスが低下します。フィルタ列の関数コールを削除してください。

 
問合せ 警告 WHERE句の述語に関数コールが検出されました。  
問合せ 警告 SELECTリストにPL/SQL関数へのコールが検出されました。このようなコールはパフォーマンスに多大な影響を及ぼす場合があります。  
問合せ 警告 スカラー副問合せが、SELECTリスト内の副問合せです。値は1つのみを返す必要があります。ROWNUMまたはDISTINCTを使用した出力の制限は、潜在的なパフォーマンスの問題があることを意味します。  
問合せ 警告 IN-LISTフィルタ内の値が多すぎると、オプティマイザでより効率的なプランを検出できなくなる可能性があります。  
ランタイム 警告 セキュリティ述語が、不要なネストを発生させる副問合せ内でラップされています。サポートされていないSYS_OP_MAP_NONNULL関数を使用して、WITH副問合せ間でBIサーバーによって生成された結合が多すぎます。  
問合せ 警告 サポートされていないSYS_OP_MAP_NONNULL関数を使用して、WITH副問合せ間でBIサーバーによって生成された結合が多すぎます。  
問合せ 警告 検出されたインライン・ビューまたは表は、結合のオプション側で外部結合されており、そこから選択されているデータがありません。  
問合せ 警告 スカラー副問合せが、SELECTリスト内の副問合せです。WITH句がスカラー副問合せにあると、パフォーマンスに重大な問題が発生する場合があります。  
問合せ 警告 問合せにリストされており他の表に結合されているが、SELECT FROM句で使用されていない表が重複している可能性があります。この表が、別の表の外部キー列に主キー列で結合されているかどうかを確認してください。  
問合せ 警告 列は、スカラー相関副問合せとして定義されており、後でフィルタまたは結合式で使用されます。これにより、パフォーマンスの重大な低下が発生する場合があります。  
問合せ 警告 バインド変数を非自明な方法で使用する述語。たとえば、(:JCODE IS NULL OR mcd.JCODE LIKE :JCODE)です。  
問合せ 警告 CASE式に10を超える複雑なWHEN ... THEN式が含まれています。  
問合せ 警告 ビュー・オブジェクトで定数(リテラル)として定義されている列が、問合せ内の結合述語で参照されていました。  
問合せ 警告 SQL文の1つの副問合せ内に10を超えるUNION分岐があります。  
問合せ 警告 同じ列がSELECT、JOINおよびFILTERで使用されているため、不要な表参照を削除してください。  
構造 警告 CLOBにデータを格納せずに、XMLに変換してください。パフォーマンスを向上させるには、XMLで格納してください。