データ・モデルの検証
データ・モデルを検証する際、検証メッセージにより、データ・モデルの修正、問合せの最適化、スタック・スレッドの削減およびレポート・パフォーマンスの向上を図れます。
現在のリリースまたは以前のリリースで作成されたデータ・モデルを作成または編集した後、検証、パブリッシャをクリックした場合:
-
データセット、LOVおよびバースティング定義に使用される問合せをチェックします。
-
SQL問合せの実行計画を生成します。
-
エラーおよび警告メッセージのリストを表示します。
検証メッセージに基づいて必要なアクションを実行します。 「データ・モデル検証メッセージ」を参照してください。
以前のリリースから「パブリッシャ」をアップグレードした場合、既存のデータ・モデルは未検証としてマークされます。
データ・モデル検証メッセージ
このトピックでは、参照するデータ・モデルの検証メッセージをリストします。
メッセージ・タイプ
-
エラー - データ・モデルを使用してレポートを実行する場合は、データ・モデル・エラーを解決する必要があります。
-
警告 - 警告メッセージに修正を提示します。 警告を無視してレポートを実行することを選択した場合、レポートのパフォーマンスが影響を受ける可能性があります。
メッセージ参照
検証タイプ | メッセージ・タイプ | メッセージ | 制限 |
---|---|---|---|
問合せ | 警告 |
SQLクエリにはSELECT *が含まれています。 '*'の使用は制限されます。 特定の列を選択します。 |
|
問合せ | 警告 |
データ・モデルにはネストされたBI JDBC問合せが含まれています。 論理問合せのリンクは制限されます。 「パブリッシャ」レポートのかわりにOTBIを使用するか、OBIEEデータセット間のリンクを削除します。 |
|
問合せ | 警告 |
SQLクエリ実行プランには、マージ直積結合が含まれています。 SQLクエリの実行プランを生成し、マージ直積結合を識別します。 必要なフィルタをSQLクエリに追加します。 |
|
ランタイム | 警告 |
1パラメータ当たりのバインド値数が、上限の{0}を超えると、パフォーマンスが低下します。 バインド値の数を減らします。 |
100 |
問合せ | 警告 |
SELECT内の列数が上限の{0}を超えています。 必要な列のみを選択し、削除を有効にします。 SaaS環境の「パブリッシャ」ベスト・プラクティスを参照してください(ドキュメント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キーワードが含まれています。 DDLおよびDMLキーワードをSQLクエリから削除します。 |
|
構成 | 警告 |
単一のデータセットのグループ・ブレーク数が制限の {0}を超えています。 複数のグループをデータセットから削除します。 |
2 |
構成 | 警告 |
データ・モデルにグループ・フィルタが含まれています。 グループ・フィルタをSQLクエリのWHERE句で置き換えます。 |
|
ランタイム | エラー |
データ・モデル・プロパティが無効であるか、無効な値が含まれています。 正しいデータ・モデル・プロパティを指定し、プロパティ値を確認してください。 |
|
問合せ | 警告 |
SQLクエリ実行プランに全表スキャンが含まれています。 SQLクエリの索引付き列に必要なフィルタを指定します。 |
|
問合せ | 警告 |
SQLクエリ実行プランに、高バッファ読取りが含まれています。 バッファ読取りが制限の1GBを超えています。 SQLクエリにフィルタを追加し、データのフェッチ量を削減します。 |
|
問合せ | 警告 |
SQLクエリ実行プランに、高CPUサイクルが含まれています。 SQLクエリに必要なフィルタを追加し、データのフェッチ量を削減します。 |
|
問合せ | 警告 |
SQLクエリ実行プランに、フィルタ列に対する関数コールが含まれています。 索引列でSQL関数コールを使用すると、パフォーマンスが低下します。 フィルタ列で関数コールを削除します。 |
|
問合せ | 警告 | WHERE句述語の関数コールが検出されました。 | |
問合せ | 警告 | SELECTリスト内のPL/SQL関数のコールが検出されました。このようなコールはパフォーマンスに大きく影響する可能性があります。 | |
問合せ | 警告 | SELECTリスト内のスカラー副問合せです。 値は1つのみを返す必要があります。 ROWNUMまたはDISTINCTを使用した出力の制限は、潜在的なパフォーマンスの問題があることを意味します。 | |
問合せ | 警告 | IN-LISTフィルタの値が多すぎると、オプティマイザでより効率的な計画が検出されない場合があります。 | |
ランタイム | 警告 | セキュリティ述語は、不要なネストの原因となる副問合せ内にラップされます。 BIサーバーで、サポートされていないSYS_OP_MAP_NONNULL関数を使用したWITH副問合せ間の結合が多すぎます。 | |
問合せ | 警告 | BIサーバーで、サポートされていないSYS_OP_MAP_NONNULL関数を使用したWITH副問合せ間の結合が多すぎます。 | |
問合せ | 警告 | インライン・ビューまたは検出された表は、結合のオプション側で外部結合されており、データが選択されていません。 | |
問合せ | 警告 | SELECTリスト内のスカラー副問合せです。 WITH句がスカラー副問合せにあると、パフォーマンスに問題が発生する場合があります。 | |
問合せ | 警告 | 問合せにリストされ、他の表に結合されているが、SELECT FROM句で使用されていない表は、重複する可能性があります。 主キー列でこの表が他の表の外部キー列と結合されているかどうかを確認します。 | |
問合せ | 警告 | 列はスカラー相関副問合せとして定義され、後でフィルタまたは結合式で使用されます。 これにより、重大なパフォーマンスが低下する可能性があります。 | |
問合せ | 警告 | 単純な方法でバインド変数を使用する述語。 たとえば、(:JCODE IS NULL OR mcd.JCODE LIKE :JCODE)です。 | |
問合せ | 警告 | CASE式に10を超える複雑なWHEN ...が含まれていますTHEN式。 | |
問合せ | 警告 | ビュー・オブジェクトで定数(リテラル)として定義された列は、問合せの結合predicate(s)で参照されました。 | |
問合せ | 警告 | SQL文には、1つの副問合せに複数のUNIONブランチがあります。 | |
問合せ | 警告 | SELECT、JOINおよびFILTERで同じ列が使用されているため、不要な表参照を削除します。 | |
構成 | 警告 | CLOBにデータを格納してXMLに変換しないでください。 パフォーマンスを向上させるためにXMLに格納します。 |