メモリー・エラーを防止するためのデータ・モデルのプロパティの設定
データ・モデルのプロパティを使用して、システムでのメモリー・エラーの発生を防止できます。
データ・モデル・レベルでは、「問合せタイムアウト」、「SQLプルーニングの有効化」および「未使用データ・セット問合せのスキップ」プロパティを設定できます。
管理者のみが、すべてのデータ・モデルに対して「データ・モデル・スケーラブル・モードの有効化」および「DBフェッチ・サイズ」ランタイム・プロパティを設定できます。
問合せタイムアウト
「問合せタイムアウト」プロパティは、時間制限を秒単位で指定します。その時間内にデータベースはスケジュール済レポートのSQL文を実行する必要があります。
スケジュール済レポートのSQL問合せタイムアウトのデフォルト値は600秒です。この時間制限は、データ・モデルに指定します。秒数を増やすと、Oracle WebLogic Serverでスタック・スレッドが発生するリスクがあります。他のすべての最適化および代替方法が使用されていないかぎり、この値を大きくしないでください。
600秒未満で実行できない問合せは、十分に最適化されません。DBAまたはパフォーマンスを熟知した人物に、問合せの分析および微調整を依頼してください。問合せの最適化を試みた後でのみ、秒数を増します。
SQLプルーニングの有効化
SQLプルーニング・プロパティは、レポート・レイアウトまたはテンプレートで使用される列のみをフェッチするかどうかを指定します。
データ・モデルの「プロパティ」ページで「SQLプルーニングの有効化」プロパティを「オン」に設定すると、レポート・レイアウトまたはテンプレートで使用されている列のみをフェッチできるようになり、パフォーマンスが向上します。問合せに定義されていてもレポートで使用されていない列はフェッチされません。このプロパティは、WHERE句を変更しないかわりに、SQL問合せ全体をレイアウトで指定した列で折り返します。
SQLプルーニングを有効にした場合、未使用データセット問合せのスキップ・プロパティを使用して、レイアウトで使用されていないデータセットの実行をスキップできます。
DBフェッチ・サイズ
「DBフェッチ・サイズ」ランタイム・プロパティは、データベースから一度にフェッチするデータの行数を指定します。
管理者は、すべてのデータ・モデルに対して「DBフェッチ・サイズ」ランタイム・プロパティを設定できます。数値が大きいと、データベースへのコール数は減りますが、格納するデータ行が増えるためにメモリーの消費が増えます。「自動DBフェッチ・サイズ・モードの有効化」プロパティをtrueに設定すると、実行時に最適なフェッチ・サイズが計算できるようになります。
スケーラブル・モード
データ・モデルのスケーラブル・モード・プロパティは、一時ファイル・システムを使用してデータを生成するかどうかを指定します。
管理者は、すべてのデータ・モデルに対して「データ・モデル・スケーラブル・モードの有効化」ランタイム・プロパティを設定できます。
「データ・モデル・スケーラブル・モードの有効化」を選択した場合、Publisherでは一時ファイル・システムを使用してデータを生成し、データ・プロセッサではメモリー使用量が最小になります。
「スケーラブル・モード」プロパティは、データ・モデル・レベルおよびインスタンス・レベルで設定できます。データ・モデル設定は、インスタンス値をオーバーライドします。インスタンス値は、次のように、「データ・モデル」設定でオーバーライドされます。
次の表に、各レベルで設定可能な値に対して予測される結果の詳細を示します。
「スケーラブル・モード」のインスタンス値 | 「スケーラブル・モード」の「データ・モデル」値 | 予想される結果 |
---|---|---|
オン |
インスタンス |
オン |
オフ |
インスタンス |
オフ |
オン |
オン |
オン |
オン |
オフ |
オフ |
オフ |
オン |
オン |
オフ |
オフ |
オフ |