Essbaseのパフォーマンスの向上

この項の内容:

最適化に影響する基本的な設計問題の認識

データベースのリセットによるパフォーマンスの向上

データベース設定を使用する、パフォーマンス最大化のためのカスタマイズ

断片化の削除および測定

Windows 4 GB Tuning (4GT)の使用

64ビットのEssbaseの実装

その他の最適化情報

最適化に影響する基本的な設計問題の認識

次のリストのコンテンツ(いずれも他のボリュームに掲載)を参照して、最適化に影響を及ぼす基本設計の問題を特定します:

データベースのリセットによるパフォーマンスの向上

データベースを定期的にリセットし、後で再ロードできます。データベースを頻繁に再ロードしても、データベースをリセットしないかぎり、メインのデータベース・ファイル(.pag)が大きくなる可能性があります。

  データベースをリセットするには、次のツールを使用します:

ツール

トピック

場所

MaxL

alter database appname.dbname reset

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

RESETDB

『Oracle Essbaseテクニカル・リファレンス』

データベース設定を使用する、パフォーマンス最大化のためのカスタマイズ

Administration Services、ESSCMD、またはMaxLのデータベース・レベルでのデータベース設定を使用して、最大のパフォーマンスを得るためにEssbaseをカスタマイズできます。

注:

データベースを移行する場合の移行後のデフォルト設定の詳細は、Oracle Enterprise Performance Management System Installation and Configuration Guideを参照してください。

次の項では、パフォーマンス設定をリストし、その調整方法について説明します。

データベース・キャッシュの設定

表164に、データベース・キャッシュ設定の説明と、Administration Services、MaxLおよびESSCMDでのこの設定の場所の一覧を示します:

表 164. データベース・キャッシュの設定

設定

トピック

場所

インデックス・キャッシュ・サイズ

インデックス・キャッシュ・サイズの設定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「キャッシュ」タブ

  • MaxL:

    alter database appname.dbname set index_cache_size n

  • ESSCMD: SETDBSTATEITEM 12

データ・ファイル・キャッシュ・サイズ

データ・ファイル・キャッシュ・サイズの設定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「キャッシュ」タブ

  • MaxL:

    alter database appname.dbname set data_file_cache_size n

  • ESSCMD: SETDBSTATEITEM 27

データ・キャッシュ・サイズ

データ・キャッシュ・サイズの設定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「キャッシュ」タブ

  • MaxL:

    alter database appname.dbname set data_cache_size n

  • ESSCMD: SETDBSTATEITEM 5

インデックス・ページ・サイズ

固定サイズ

該当なし

キャッシュ・メモリーのロック

キャッシュ・メモリーのロックを使用するかどうかの決定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「キャッシュ」タブ

  • MaxL:

    alter database appname.dbname enable cache_pinning

  • ESSCMD: SETDBSTATEITEM 26

Oracle Essbase Administration Services Online Helpの「データベース・プロパティの設定」を参照してください。

データベース・ディスク・ボリュームの設定

表165に、データベース・ディスク・ボリュームの設定の説明と、Administration Services、MaxLおよびESSCMDでのこれらの設定の場所の一覧を示します:

表 165. データベース・ディスク・ボリュームの設定

設定

トピック

場所

ボリューム名

ディスク・ボリュームの指定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「ストレージ」タブ

  • MaxL:

    alter database appname.dbname set disk volume

  • ESSCMD:

    SETDBSTATEITEM 23

    SETDBSTATEITEM 24

パーティション・サイズ

ディスク・ボリュームの指定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「ストレージ」タブ

  • MaxL:

    alter database appname.dbname set disk volume

  • ESSCMD:

    SETDBSTATEITEM 23

    SETDBSTATEITEM 24

ファイル・タイプ

ディスク・ボリュームの指定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「ストレージ」タブ

  • MaxL:

    alter database appname.dbname set disk volume

  • ESSCMD: SETDBSTATEITEM 23

最大ファイル・サイズ

ディスク・ボリュームの指定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「ストレージ」タブ

  • MaxL:

    alter database appname.dbname set disk volume

  • ESSCMD: SETDBSTATEITEM 23

Oracle Essbase Administration Services Online Helpの「ディスク・ボリュームの設定」を参照してください。

データベース・トランザクション・コントロールの設定

表166に、データベース・トランザクション・コントロールの設定の説明と、Administration Services、MaxLおよびESSCMDでのこれらの設定の場所の一覧を示します:

表 166. データベース・トランザクション・コントロールの設定

設定

トピック

場所

分離レベル

分離レベルの理解

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「トランザクション」タブ

  • MaxL:

    alter database appname.dbname enable committed_mode

  • ESSCMD: SETDBSTATEITEM 18

ブロックのコミット

分離レベルの理解

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「トランザクション」タブ

  • MaxL:

    alter database appname.dbname enable committed_mode

    および

    alter database appname.dbname set implicit_commit after n blocks

  • ESSCMD: SETDBSTATEITEM 21

行をコミット

分離レベルの理解

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「トランザクション」タブ

  • MaxL:

    alter database appname.dbname enable committed_mode

    および

    alter database appname.dbname set implicit_commit after n rows

  • ESSCMD: SETDBSTATEITEM 22

ロックされたデータ・ブロックへの書込みアクセスの待機

分離レベルの理解

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「トランザクション」タブ

  • MaxL:

    alter database appname.dbname set lock_timeout

  • ESSCMD: SETDBSTATEITEM 20

プリイメージ・アクセス

分離レベルの理解

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「トランザクション」タブ

  • MaxL:

    alter database appname.dbname enable pre_image_access

  • ESSCMD: SETDBSTATEITEM 19

Oracle Essbase Administration Services Online Helpの「データの整合性オプションの設定」を参照してください。

その他のデータベース設定

表167に、その他のデータベース設定の説明と、Administration Services、MaxLおよびESSCMDでのこれらの設定の場所の一覧を示します:

表 167. その他のデータベース設定

設定

トピック

場所

取得バッファ・サイズ

取得バッファのサイズの設定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「全般」タブ

  • MaxL:

    alter database appname.dbname set retrieve_buffer_size n

  • ESSCMD SETDBSTATEITEM 16

取得ソート・バッファ・サイズ

取得ソート・バッファのサイズの設定

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「全般」タブ

  • MaxL:

    alter database appname.dbname set retrieve_sort_ buffer_size n

  • ESSCMD: SETDBSTATEITEM 17

データ圧縮

データ圧縮

  • Administration Services: 「データベース・プロパティ」ウィンドウ、「ストレージ」タブ

  • MaxL:

    alter database appname.dbname enable compression

    および

    alter database appname.dbname set compression type

  • ESSCMD:

    SETDBSTATEITEM 14

    SETDBSTATEITEM 15

トリガー定義のための最大メモリー

トリガー定義の理解

MaxL:

create or replace triggeralter trigger display triggerおよびdrop trigger

Oracle Essbase Administration Services Online Helpの「データベース・プロパティの設定」を参照してください。

断片化の削除および測定

断片化は、Essbaseによってディスク上の新しい場所にデータ・ブロックが書き込まれ、そのデータ・ブロックの以前の場所に未使用のスペースが残ったときに発生します。ブロックにはデータ・ロードや計算によるデータが追加されるため、ブロックのサイズは大きくなります;そのため、ブロックをデータ・ファイルの末尾に書き込む必要があります。

Essbaseカーネルは、未使用スペースが再使用される可能性が高くなるように、隣接する断片をより大きな断片の中にマージします。

断片化を完全に解消できない場合もあります。断片化は次のような状況で発生する可能性があります:

  • ユーザーが常時データの更新を行う読取り/書込みデータベース

  • 24時間体制で計算を実行するデータベース

  • 密メンバーを頻繁に更新および再計算するデータベース

  • 適切に設計されていないデータ・ロード

  • 多数の動的計算および保管メンバーを含むデータベース

  • 「ブロックをコミット」設定が0で、アンコミット・アクセスの分離レベルを使用するデータベース

パフォーマンスが低下した場合、データベースの断片が多すぎるか確認し、多すぎる場合には、断片化を削減するための処置を取ることができます。

断片化の測定

平均断片化指数の統計または平均クラスタ率を使用して、断片化を測定できます。

平均断片化指数の使用:

ESSCMDでは、GETDBSTATSコマンドを実行したときに戻される平均断片化指数を調べます。表168の情報を使用して、断片化のレベルがパフォーマンスの問題を引き起こす可能性があるかどうかを評価します:

表 168. 平均断片化指数を使用した、断片化しきい値の測定

データベースのサイズ

断片化指数のしきい値

小(200MB未満)

60%以上

中(2GB未満)

40%以上

大(2GBを超える)

30%以上

指数が前述の範囲の上限を超えている場合、断片化の削減によってパフォーマンスを改善できる可能性があります。この場合、次の条件も考慮します:

  • データベース上で他の書込みトランザクションが実行されていないときのほうが、報告される断片化指数の値はより正確になります。

  • 直接入出力のアクセス・モードを使用する50MB未満のデータベースの場合、断片化指数は高くなる傾向があります。空きスペースは8MBのチャンクで作成され、そのすべてが即時使用されるわけではないため、断片化指数が高くても、必ずしも断片化を削除する必要があるとは限りません。

平均クラスタ率の使用:

平均クラスタ率のデータベース統計は、データ・ファイル(.pag)の断片化レベルを示します。最大値は1で、断片化なしを示します。

  データベースの平均クラスタ率を表示するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

断片化統計の表示

Oracle Essbase Administration Services Online Help

ESSCMD

GETDBSTATS

『Oracle Essbaseテクニカル・リファレンス』

断片化の防止または削除

断片化は、次の方法で防止および削除できます:

  • 断片化を防止するには、疎次元メンバーに基づいてロードをソートすることで、データ・ロードを最適化します。疎メンバーのグループ化によるデータの最適化の詳細は、疎メンバーの組合せのグループ化を参照してください。

  • 断片化を削除するには、データベースのエクスポートを実行し、CLEARDATAでデータベース内のすべてのデータを削除してから、エクスポート・ファイルを再ロードします。『Oracle Hyperion Enterprise Performance Management Systemバックアップおよびリカバリ・ガイド』を参照してください。

  • 断片化を削除するには、強制的にデータベースの密な再構築を実行します。データベースの再構築のタイプを参照してください。

Windows 4 GB Tuning (4GT)の使用

Essbaseでは、Microsoft 4 GB Tuning (4GT)がサポートされています。4GTにより、きわめて大規模なデータベースを持つユーザーが、より大きなアドレス・スペースを活用してパフォーマンスを向上させることができます。

Essbaseインストールに次の特徴がある場合は、Windows 4GT機能を使用可能にすると役立つことがあります:

  • Essbaseが直接入出力を使用するように構成されている場合。バッファ入出力用に構成されたEssbaseインストールで4GT機能を使用可能にすることは、お薦めしません。

  • インデックス・キャッシュとデータ・キャッシュのサイズは正しく設定されていて、Essbaseのパフォーマンスはデータ・ファイル・キャッシュを増やすことによって一貫して向上していますが、前の2GBのアドレス可能度の制限により、さらに増やすには限界がある場合。キャッシュ値の設定の詳細は、Essbaseキャッシュの最適化。を参照してください。

Microsoft Windows 4GT機能の詳細は、http://www.microsoft.comを参照してください。

64ビットのEssbaseの実装

64ビットのプロセスは、32ビットのプロセスに比べてメモリーのアドレス可能度が大幅に増加しているため、64ビット版のEssbaseでは32ビットのEssbaseより大きなアウトラインやキャッシュ・サイズを処理できます。これをサポートするコンピュータ環境に64ビットのEssbaseを実装することで、既存のアプリケーションのパフォーマンスを向上させることができ、非常に多くのアプリケーションを維持できます。64ビットのEssbaseのプラットフォーム・サポートの詳細は、Oracle Hyperion Enterprise Performance Management System動作保証マトリックス(http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html)を参照してください。

64ビットのEssbaseでは、キャッシュ・サイズを既存の32ビットの制限より大きく設定できます。Essbaseクライアントでは、データ・キャッシュ、データ・ファイル・キャッシュおよびインデックス・キャッシュに設定できる最大値は4 GBです。MEMSCALINGFACTOR構成設定を使用することで、データ・キャッシュおよびデータ・ファイル・キャッシュにより大きな値が使用可能になります。『Oracle Essbaseテクニカル・リファレンス』を参照してください。

64ビットのEssbaseでは、32ビットのEssbaseよりも最大スレッド設定が高くなります。表169に、それぞれの最大スレッド設定の一覧を示します。スレッド設定の変更の詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。マルチスレッド処理については、マルチスレッド処理を参照してください。

表 169. 32ビットおよび64ビットのEssbaseの最大スレッド設定

設定

32ビットの最大値

64ビットの最大値

AGENTTHREADS

500

1024

SERVERTHREADS

500

1024

DLTHREADSPREPARE

16

32

DLTHREADSWRITE

16

32

64ビットのEssbaseでは、32ビットのEssbaseよりデフォルトの取得バッファ設定が高くなります。表170に、それぞれのデフォルトの取得バッファ設定の一覧を示します。バッファのサイズの変更を参照してください。

表 170. 32ビットおよび64ビットのEssbaseのデフォルトの取得バッファ設定

設定

32ビットのデフォルト値

64ビットのデフォルト値

取得バッファ

10 KB

20 KB

取得ソート・バッファ

10 KB

20 KB

注:

内部データ構造のサイズ変更のため、64ビットのEssbaseでは、32ビットのEssbaseより大きな取得ソート・バッファ・サイズが必要です。"Sort buffer limit of [x] rows have been exceeded"(xは、現在のバッファ・サイズに許可されている現在最大行数)というエラーが発生した場合は、取得ソート・バッファ・サイズを2だけ大きくします。

その他の最適化情報

データベース設定を使用する、パフォーマンス最大化のためのカスタマイズは一般的な情報を示すもので、様々な構成機能については考慮していません。パフォーマンスやサーバー、アプリケーション、またはその他の設定の詳細は、次の各章を参照してください: