集約ストレージ・アプリケーションとデータベースの管理

この項の内容:

集約ストレージのセキュリティ

集約ストレージ・アプリケーションのストレージ管理

集約ストレージ・キャッシュの管理

集約ストレージ・データベースに集約ビューを構築する際のパフォーマンスの向上

集約ストレージ・データベースの再構築

集約ストレージ・データベースのエクスポート

この章の情報は、集約ストレージ・データベースのみに適用され、ブロック・ストレージ・データベースとは関係がありません。

関連項目:

集約ストレージのセキュリティ

集約の定義および実行には、計算権限(Administration Services)または実行(MaxL)権限かそれ以上の権限が必要です。データベース値を消去する次元構築には、書込み権限が必要です。

セキュリティ関連のトピックを参照してください:

  • Essbaseネイティブ・セキュリティ・モードについて(『Oracle Essbaseデータベース管理者ガイド』)

  • 「アプリケーションおよびデータベースに対するユーザー/グループ権限の管理」

    Oracle Essbase Administration Services Online Helpの「カスタム定義関数の削除」を参照してください。

  • 『Oracle Essbaseテクニカル・リファレンス』の権限およびロールに関する項

集約ストレージ・アプリケーションのストレージ管理

集約ストレージ・アプリケーションでは、テーブルスペース・マネージャで、テーブルスペース定義を使用してディスク上のデータ・ストレージと作業領域を管理して、データの取得とストレージを制御します。

テーブルスペースでの処理

テーブルスペースは、データ・ファイルと作業ファイルのストレージおよび取得の最適化に役立ちます。テーブルスペースでは、集約ビューや集約などのデータ・アーティファクトをファイルにマップする場所の定義を行います。各アプリケーション・ディレクトリは、次の4つのテーブルスペース用のディレクトリに含まれています:

  • default - データベースのデータ構造とデータベース値が格納されます(データのロード後は、このテーブルスペースの場所は変更できません。)

  • log - デフォルトのテーブルスペース更新のバイナリ・トランザクション・ログが格納されます

  • metadata - ファイルの場所、ファイル、およびデータベースに含まれるオブジェクトに関する情報が格納されます

  • temp - データ・ロード、集約および取得などの操作中に使用される、一時ワークスペースを提供します

テーブルスペース名は、オペレーティング・システムにかかわらず、大文字と小文字が区別されます。metadataとlogの場所やサイズは変更できません。defaultとtempでは、複数の場所とサイズを指定でき、次のようなテーブルスペース・プロパティを定義できます:

  • ディレクトリ・パスの場所

  • それぞれの場所で使用する最大ディスク・スペース

  • それぞれの場所に有効な最大ファイル・サイズ

注:

テーブルスペース内に情報を保管するために使用されるファイルの場所が空の場合は、その場所を変更または削除できます。

テーブルスペース・マネージャによりディスク・スペースが固定サイズの増分で割り当てられるため、テーブルスペースの場所に最大ディスク・スペースを指定すると、終点が指定され、指定されたスペースは予約されません。

スペースが必要になると、Essbaseでファイルの場所が(番号順に)チェックされ、スペースが見つかると書込みが開始されます。すべての割当てが使用されると、使用可能なスペースがなくなり、エラーが戻されます。データベース値が消去されると、テーブルスペース・ファイルが縮小されるため、ディスク・スペースが解放されます。必要のなくなった作業ファイルは削除され、他のプログラムでスペースを使用できるようになります。

ファイルに指定された最大サイズに基づいて、Essbaseでは複数のファイルが書き込まれます。たとえば、ess00001.datess00002.dat、などのファイルです。データベース・ファイルを他のメディアにバック・アップする場合は、テーブルスペース・ファイルの最大サイズを、そのメディアで扱えるサイズよりも大きいサイズに設定しないでください。

テーブルスペースの定義

テーブルスペースの定義は、集約ストレージ・アプリケーションごとに行います。

  テーブルスペースを定義するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

テーブルスペースの管理

Oracle Essbase Administration Services Online Help

MaxL

alter tablespace

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

注:

UNIXプラットフォームでは、最大2 GBのファイル制限が適用されます。データ・ロード中や集約構築中に.datファイル制限を超えると、"Failed to extend file: file exceeds maximum file size for this system."というメッセージが表示されます。そのデータ・ファイルはEssbaseにより閉じられ、次のファイル(essn+1)が作成され、続行されます。

集約ストレージ・キャッシュの管理

集約ストレージ・キャッシュにより、データ・ロード、集約および取得中のメモリーの使用が容易になります。キャッシュ・メモリーのロック機能が使用されるのは、ブロック・ストレージ・アプリケーションでのみです。

集約ストレージ・アウトラインが開始されると、メモリー内の小さい領域が関連のアプリケーション用の集約ストレージ・キャッシュとして割り当てられます。追加のキャッシュ領域が必要になると、最大キャッシュ・サイズが使用されるか、オペレーティング・システムで追加の割当てが拒否されるまで、キャッシュ・サイズは増分的に増大します。

注:

集約キャッシュ・メモリーの割当ての拒否によって、既存のメモリーの使用増加が拒否されるわけではありません。

現在の集約キャッシュ・メモリーの割当てと、最大集約キャッシュ・サイズの設定を確認できます。設定を変更すると、メモリーの使用を最適化できる場合があります。デフォルトの最大キャッシュ・サイズである32 MBは、最小の設定サイズです。入力レベル・データのサイズを使用すれば、キャッシュの最大サイズを増やす必要があるタイミングを決定できます。Administration ServicesおよびMaxLでは、入力レベル・データのサイズが集約ストレージ・データベース・プロパティ(レベル0の値のサイズ)として表示されます。

32 MBのキャッシュ設定は、約2 GBの入力レベル・データを含むデータベースをサポートします。入力レベル・データのサイズがある要素によって2 GBを超えた場合、集約ストレージ・キャッシュはその要素の平方根によって増やすことができます。たとえば、入力レベル・データのサイズが3 GB (2 GB * 1.5)の場合は、32 MBの集約ストレージ・キャッシュ・サイズに1.5の平方根を乗算し、集約キャッシュ・サイズをその結果である39.04 MBに設定します。

集約生成のパフォーマンスについては、並列計算のためのスレッド数を考慮してください。集約生成プロセスでは、集約ストレージ・キャッシュを分割する複数のスレッドが使用されます。集約ストレージ・アプリケーションまたはデータベースのCALCPARALLEL構成設定に指定されたスレッド数を増やすと、集約ストレージ・キャッシュ・サイズの増加が必要になることがあります。『Oracle Essbaseテクニカル・リファレンス』のCALCPARALLEL構成設定を参照してください。

注:

スレッド数をプロセッサ数より大きい数に設定すると、集約ストレージ・アプリケーションのパフォーマンスが向上することがあります。

集約ストレージ・キャッシュの最大サイズは、必要なサイズを超える大きさにはしないでください。

  集約ストレージ・キャッシュのサイズを設定するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

集約ストレージ・キャッシュのサイズ設定

Oracle Essbase Administration Services Online Help

MaxL

query application

alter application

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

注:

変更した集約ストレージ・キャッシュの設定は、アプリケーションを再起動したときに有効になります。

集約ストレージ・データベースに集約ビューを構築する際のパフォーマンスの向上

集約ストレージ・データベースに集約ビューを構築する際に、次のメッセージが表示される場合があります:

For better performance, increase the size of aggregate storage cache

このメッセージは、集約ストレージ・データベースの入力セル数が億を超えている場合に表示されることがあります。

集約構築のパフォーマンスを向上させるには、次の手順を実行します。

  1. 集約ストレージ・キャッシュのサイズを、少なくとも512MBに増やすか、入力データ・サイズの20%に増やすか、いずれか小さい方にします。(キャッシュ設定がすでにこのサイズより大きい場合は、次の手順に進みます。)管理サービス・コンソール、または次のMaxLコマンドを使用できます:

                alter application 
                appname
                 set cache_size 
                x
                MB
             

    この設定は、アプリケーションを再起動すると有効になります。

  2. 集約ストレージ・キャッシュを増やした後も、集約ビューの構築中にメッセージが表示される場合は、ASOSAMPLESIZEPERCENT構成設定を使用します。構文:

                ASOSAMPLESIZEPERCENT [
                appname
                 [
                dbname
                ]] 
                n
             

    メッセージが表示されなくなるまで少しずつnの値を増やすと、最適な集約パフォーマンスになります。データベースに含まれるものが次の場合:

    • 入力セルが2000万の場合、5%から開始します

    • セルが1億の場合、1%から開始します

    • セルが10億を超える場合、0.1%から開始します

    集約ビューの選択を解除します; その後、再度選択して構築し直します。メッセージが表示される場合は、設定を増やして再試行します。

    集約ビュー構築のパフォーマンスは、メッセージが表示されなくなるまで向上しません。メッセージが表示されなくなり、パフォーマンスが最大になったら、設定の増加を終了します。

    注:

    ASOSAMPLESIZEPERCENTを高く設定しすぎると、パフォーマンスは低下します。セルが10億を超えるデータベースに最適な設定は、ほとんどの場合3%未満です。ASOSAMPLESIZEPERCENTの詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。

集約ストレージ・データベースの再構築

データベースの再構築は、階層に対する変更などの集約ストレージ・データベースのアウトライン変更によって、強制的に行われることがあります。階層は、最上位のメンバーとその子孫で構成されます。

  • 動的階層には、1つの保管レベルのみ含まれます。会計次元は動的階層です。

  • 属性次元は1つの階層です。世代1は階層の最上位のメンバーです。

  • 標準次元に複合階層使用可能とタグ付けされていない場合、その標準次元は1つの階層です。世代1は階層の最上位のメンバーです。

  • 標準次元に複合階層使用可能とタグ付けされている場合、その標準次元には複数の階層が含まれます。世代2のメンバーは階層の最上位のメンバーです。たとえば、ASOSamp.Sampleの「Products」次元には2つの階層が含まれます。最上位のメンバーは、世代2のメンバーである「All Merchandise」と「High End Merchandise」です。

    この図は、この図の前のテキストで説明されている「Products」次元のアウトラインを示しています。

影響を及ぼすアウトライン変更は、次のとおりです:

  • 再構築の前にデータベースからデータを消去する必要があるかどうか

  • アウトラインの再構築に必要な時間およびストレージ

集約ストレージ・データベースの再構築のレベル

データベースの再構築に必要な時間とストレージを最小限に抑えるには、データベース・アウトラインが頻繁に変更される場合は、アウトラインとアウトライン変更のタイプを分析します。

集約ストレージ・データベースの再構築のレベルを、(時間、ストレージおよびデータに関して)最も費用がかかるものから最もかからないものの順にリストします:

表 235. 集約ストレージの再構築レベル

ユーザー・アウトラインの変更

Essbase - 再構築レベル

パフォーマンスへの影響

標準次元の追加、削除、移動

データと集約ビューの消去およびアウトライン全体の再構築の実行

非常に大きい

ユーザーは、入力(レベル0)データを再ロードし、集約ビューを選択して、データベース集約を再実行する必要があります。

  • 階層を追加、削除、移動します。

  • 階層内の保管されるレベル数を変更します。

    参照:

  • 保管階層の最上位のメンバーを、ラベルのみから保管済、または保管済からラベルのみに変更します。

  • 動的階層を保管階層に、または保管階層を動的階層に変更します。

  • プライマリ階層または代替階層がそのプライマリまたは代替階層に一致するか一致しなくなるような、そのプライマリ階層または代替階層を変更します。

    プライマリ階層のすべてのレベル0のメンバーは、すべての代替階層内で直接または間接的に表される必要があります(たとえば、子の合計である親はその子を表すことがあります)。プライマリ階層の最上位レベルは、各代替階層の最上位レベルと等しい必要があります。例: 代替階層での変更を参照してください。

集約ビューの消去、およびアウトライン全体の再構築の実行

非常に大きい

ストレージ要件は、データベース・ファイル(.datファイル)のサイズの最大3倍までです。

ユーザーは集約ビューを選択してデータベース集約を再実行する必要があります。

他のカテゴリに含まれていない変更の実行(メンバーの削除や移動、または兄弟の中で最後ではないメンバーの追加など)

アウトライン全体の再構築の実行

大きい

ストレージ要件は、データベース・ファイル(.datファイル)のサイズの最大3倍までです。

代替階層または属性次元に対する簡易再構築の変更の実行(下記参照)

属性次元や代替階層をベースとするすべての集約ビューの再構築

小さい

ストレージ要件は、影響を受けるビューのサイズの最大3倍までです。このような集約ビューは、通常、使用状況に基づいてビューを選択するためにクエリーの追跡を使用した場合のみ存在します。使用状況に基づいたビューの選択を参照してください。

レベル0の保管済メンバーを持たない属性次元以外の次元(たとえば、すべてのレベル0のメンバーは、共有されているか式を持つ)で、階層内のレベル数を変更せず、2の累乗の境界を交差しない子または子分岐を追加します。

アウトラインの簡易再構築の実行

注:

階層内のレベル数を変更すると、Essbaseではすべての集約ビューが消去され、アウトライン全体の再構築が実行されます。パフォーマンスの影響は非常に大きくなります。

階層内のレベル数が変更されず、子または子分岐が2の累乗の境界を交差すると、Essbaseではすべてのアウトラインの再構築が実行されます。パフォーマンスの影響は大きくなります。

非常に小さい

保管済のレベル0のメンバーを持つ属性次元以外の属性次元:

  • 2の累乗の境界を交差しない親の最後の子として子を追加します。(1、2、4、8、16など)。たとえば、親メンバーに3つの子がある場合、4番目の子を親の最後の子として追加できます。

  • 2の累乗の境界を交差せず、階層内のレベル数を変更しない、既存の親の最後の子分岐としての子分岐を追加します。

例:

  • メンバー名を変更します

  • 式の変更

  • 別名の変更

  • 動的階層の集計演算子の変更(+から-への変更など)

アウトラインの簡易再構築を実行します。

非常に小さい

保管済のレベル0のメンバーを持つ属性次元以外の属性次元:

  • 2の累乗の境界を交差する子を親の最後の子として追加します。たとえば、親メンバーに3つの子があり、4番目と5番目の子を追加する場合、5番目の子は2の累乗の境界を交差します。例: 子メンバーの追加を参照してください。

  • 2の累乗の境界を交差する既存の親の最後の子分岐として子分岐を追加するか、階層内のレベル数を変更し、すべてのアウトラインの再構築をトリガーするシナリオの場合は、例: 子分岐の追加を参照してください。

集約ビューの消去、およびアウトライン全体の再構築の実行

非常に大きい

アウトライン変更の例

この項には、表235で説明している、より複雑なアウトライン変更の例が含まれます。

例: 階層内の保管されるレベル数の変更なし

ASOSamp.Sampleでは、「Measures」次元に勘定科目とタグ付けされています。したがって、動的階層としての「Measures」に含まれる保管レベルは1つのみです。

この図は、保管レベルが1つのみ(「Ratios」)である「Measures」次元のアウトラインを示しています。

「Ratios」に子メンバー「All」を追加しても、「Measures」次元の保管されるレベル数は変更されません。アウトラインを保存すると、簡易再構築がトリガーされます。

この図は、この図の前のテキストで説明されている、「Ratios」に子として「All」を追加した場合の影響を示しています。

ASOSamp.Sampleでは、「Income Level」は保管階層次元です。

この図は、2つのレベルがある「Income Level」保管階層次元のアウトラインを示しています。

子メンバーを追加しても、階層内のレベル数(2)は変更されません。7個目または8個目の子メンバーを最後に追加できますが、9個目の子メンバーを追加すると、2の累乗の境界を交差するため(例: 子メンバーの追加を参照)、アウトライン全体の再構築が必要になります。

この図は、「Income Level」に追加された子メンバーを示しています。子メンバーの追加の影響は、この図の前のテキストで説明されています。

例: 階層内の保管されるレベル数の変更

ASOSamp.Sampleの製品次元で、「Photo Printers」を「Printers」に名前変更して子メンバーを追加すると、「All Merchandise」階層のレベル数が4から5に増えます。アウトラインを保存すると、Essbaseではすべての集約ビューが消去され、アウトライン全体の再構築が実行されます。

この図は、「All Merchandise」階層のアウトラインを示しています。保管されるレベル数の増加につながる子メンバーの追加の影響は、この図の前のテキストで説明されています。

例: 代替階層での変更

「Drinks by Category」の下の共有メンバー「Orange」を削除して、「Drinks」の下のその非共有メンバーを削除しない場合、代替階層「Drinks by Category」は「Drinks」階層のレプリカではなくなります。アウトラインを保存すると、Essbaseではすべての集約ビューが消去され、アウトライン全体の再構築が実行されます。

共有と非共有の「Orange」のメンバーを削除すると、代替階層「Drinks by Category」は引き続き「Drinks」階層のレプリカのままになります。アウトラインを保存すると、Essbaseではアウトライン全体の再構築が実行されますが、集約ビューは消去されません。

この図は、「Drinks」階層と「Drinks by Category」代替階層のアウトラインを示しています。階層の変更の影響は、この図の前のテキストで説明されています。

例: 子メンバーの追加

ASOsamp.Sampleでは、「All Merchandise」階層内の「Systems」の下に子メンバーを追加すると、「Systems」の下の子の数が3つに増え、2の累乗の境界を交差します。アウトラインを保存すると、Essbaseではアウトライン全体の再構築が実行されます。

この図は、「All Merchandise」階層のアウトラインを示しています。子メンバーの追加の影響は、この図の前のテキストで説明されています。

ただし、「Computers」と「Peripherals」の下に子メンバーを追加すると、「Computers」と「Peripherals」の下の子の数が3つから4つに増えます。4番目の子は、既存のメンバーの後に追加する必要があり、これを追加しても2または4の境界は交差しません。この子は既存のメンバーの後に追加する必要があります。アウトラインを保存すると、Essbaseでは簡易再構築が実行されます。

この図は、「All Merchandise」階層にある「Computers and Peripherals」のアウトラインを示しています。子メンバーの追加の影響は、この図の前のテキストで説明されています。

例: 子分岐の追加

ASOSamp.Sampleでは、「All Merchandise」階層内の「Computers and Peripherals」の下に子分岐を追加すると、子の数が4つに増えます。この子は、既存のメンバーの後に追加する必要があり、これを追加しても2の累乗の境界は交差しません。「Other Peripherals」という新しいメンバーは、2つの子を持ちます。「Systems」(「Other Peripherals」の兄弟)は、2つの子を持ちます。子分岐を追加しても、同じレベルの兄弟メンバーの子では2の累乗の境界内のままになります。アウトラインを保存すると、Essbaseでは簡易再構築が実行されます。

この図は、子分岐が追加された「Computers and Peripherals」のアウトラインを示しています。子分岐およびメンバーの追加の影響は、この図の前のテキストで説明されています。

3つの子メンバーを持つ子分岐を追加すると、2の累乗の境界が交差し、Essbaseによるすべてのアウトラインの再構築が必要になる場合があります。ただし、「Systems」にすでに3つのメンバーがある場合、2の累乗の境界は4になり、すべてのアウトラインを再構築せずに、最大4つの子を「Other Peripherals」に追加できます。

集約ストレージ・データベースのエクスポート

集約ストレージ・データベースに対する読取り権限がある場合は、レベル0のデータをデータベースから指定したテキスト・ファイルにエクスポートできます。このエクスポート・ファイルには、制御、アウトラインまたはセキュリティ情報ではなく、圧縮されていないデータのみが含まれます。データのエクスポート中、ユーザーは、Essbaseサーバーに接続して、データベースで読取り専用の操作を実行できます。

アウトラインが変更されていない場合は、ルール・ファイルがなくてもエクスポートされたデータを再ロードできます。次の理由の場合は、データのエクスポートを検討してください:

  • プラットフォーム間でデータを転送する場合

  • エクスポートされたファイルを、バイナリではなくテキストのフォーマットで作成する場合

  • バックアップを作成する場合

エクスポート

エクスポート・ファイルのデフォルトの場所は、ARBORPATH/app/です。代替の場所を指定できます。Oracle Essbase Administration Services Online Helpまたは『Oracle Essbaseテクニカル・リファレンス』を参照してください。

集約ストレージ・データベースのエクスポートには、次のような制限があります:

  • エクスポートできるのは、レベル0のデータ(入力データ)のみです。

  • 列のエクスポートは実行できません。縦欄式エクスポートでは、出力ファイルの各行に、各次元のメンバー名が表示されます(また、名前が行ごとに繰り返されることがあります)。

2 GBを超えるエクスポート・ファイルが作成されないようにするため、名前に番号の接尾辞(_1、_2など)が含まれている複数のエクスポート・ファイルがEssbaseによって作成されることがあります。たとえば、最初のファイル名が/home/exportfile.txtの場合、次のファイルは/home/exportfile_1.txtになります。

パフォーマンスの向上のため、データは並行してエクスポートできます。

  データをエクスポートするには、次のツールを使用します:

ツール

トピック

場所

Administration Services

データベースのエクスポート

Oracle Essbase Administration Services Online Help

MaxL

export data

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