この章の情報は、ブロック・ストレージ・データベースのみに適用され、集約ストレージ・データベースとは関係がありません。
業務形態の変化にあわせて、Essbaseのデータベース・アウトラインを変更し、新しい製品ラインの導入、新しいシナリオの情報の追加、新しい期間の反映などを行う必要があります。データベース・アウトラインの変更によって、データ・ストレージの配置が影響を受け、Essbaseでのデータベースの再構築が必要になることもあります。
データベースの再構築を必要とする変更は非常に時間がかかるため(再構築の前にデータを破棄しないかぎり)、このような変更を決定するときは、それらがパフォーマンスにどのように影響するかに基づいて、十分に検討してください。この項では、再構築がパフォーマンスにどのような影響を与えるかを理解するために必要な情報を示し、データベースの再構築に関連して実行できるタスクについて説明します:
データの消去およびそれに伴う一部の再構築を回避する方法については、『Oracle Essbaseテクニカル・リファレンス』の「CLEARDATA」および「CLEARBLOCK」、またはOracle Essbase Administration Services Online Helpの「データの消去」を参照してください。 |
この項では、データベースの再構築を起動するための2つの方法について説明します。
アウトライン・エディタまたは次元構築を使用してアウトラインを変更した後、Essbaseでデータベース・ファイルの暗黙的な再構築が開始されます。実行される再構築のタイプは、アウトラインに加えた変更のタイプによって異なります:
密な再構築: 密次元のメンバーが移動、削除または追加されると、Essbaseでデータ・ファイル内のブロックが再構築され、新しいデータ・ファイルが作成されます。Essbaseでデータ・ブロックが再構築されると、インデックス・エントリが新しいデータ・ブロックを指すように、自動的にインデックスが再生成されます。空のブロックは削除されません。再構築されたすべてのブロックは、Essbaseでダーティとしてマークされるため、密な再構築の後はデータベースを再計算する必要があります。密な再構築は最も時間のかかる再構築であり、大きなデータベースに対して実行すると時間がかかる可能性があります。
疎な再構築: 疎次元のメンバーが移動、削除または追加されると、Essbaseでインデックスが再構築され、新しいインデックス・ファイルが作成されます。インデックスの再構築は比較的高速です。所要時間はインデックスのサイズによって変わります。
アウトラインのみの再構築: 変更がデータベース・アウトラインのみに影響する場合、Essbaseではインデックス・ファイルやデータ・ファイルの再構築は行われません。データベース・アウトラインのみに影響する変更の例として、メンバー名の変更、別名の作成および動的計算式の変更があります。
増分再構築を使用する場合、Essbaseでは密な再構築は延期されます。データベース・アウトラインを頻繁に変更する場合は、増分再構築の使用可能化を検討してください。増分再構築の詳細は、増分再構築とパフォーマンスを参照してください。
データベース・アウトラインを変更する方法(アウトライン・エディタの使用または次元構築の使用)は、再構築には影響を与えません。再構築が行われる場合、どのタイプの再構築が行われるかに影響するのは、情報の変更のタイプのみです。アウトラインの変更と行われる再構築のタイプの詳細は、アウトラインの変更のクイック・リファレンスを参照してください。 |
Essbaseでデータ・ブロックとインデックスの両方が再構築されるとき、表179に示すファイルが使用されます:
密な再構築を実行するとき、次のことが行われます:
ess xxxxx .ind ess xxxxx .pag dbname .otl dbname .esm dbname .tct
それぞれの一時ファイルは、ファイル拡張子の最後の文字がnまたはuに置き換えられます。一時ファイルの名前は次のとおりです:
ess xxxxx .inn ess xxxxx .pan dbname .otn dbname .esn dbname .tcu
手順1でコピーされたデータベース・ファイルからブロックが読み取られ、メモリー内でブロックが再構築され、新しい一時ファイルにブロックが保管されます。この手順に最も時間がかかります。
手順1でコピーしたデータベース・ファイルが削除されます
手順1で作成した一時ファイルの名前が、正しいファイル名に変更されます。
Essbaseで疎な再構築(インデックスのみの再構築)が行われるとき、次のファイルが使用されます:
疎な再構築を実行するとき、Essbaseでは次のことが行われます:
インデックス・ファイル(essxxxxx.ind)が作成されて、再構築操作によって変更されるインデックス情報が保管されます。
手順1で作成したdbname.esrおよびessxxxxx.inmが削除されます。
データベース・アウトラインを頻繁に変更する場合は、アウトラインとそれに加える変更のタイプを分析します。疎次元または属性次元に対する変更は、インデックスのみが変更されるため、比較的速く行われます。密次元に対する変更は、データ・ブロックが再構築されるため、比較的時間がかかります。
密(インデックス・ファイルおよびデータ・ファイル)。メンバーとその他の操作の追加、削除または移動によって発生するもの(アウトラインの変更のクイック・リファレンスを参照)
いくつかのアクションで、データベースの再構築に関連するパフォーマンスが改善されます:
分離レベルをコミット・アクセスに設定すると、データベースの再構築に必要なメモリーおよび時間が増加する可能性があります。データベースの再構築の前に、分離レベルをアンコミット・アクセスに設定することを検討してください。分離レベル設定の詳細は、データの整合性の確保。を参照してください。 |
データベース・アウトラインを頻繁に変更する場合は、増分再構築を使用可能にすることを検討してください。増分再構築を使用可能にすると、データベース・アウトラインまたは次元への変更によって構造的な変化が発生しないように、Essbaseで再構築が延期されます。インデックスと、必要に応じて、次にブロックがアクセスされるときに影響を受けるブロックがEssbaseで再構築されます。
増分再構築が有効な場合は、特定のアウトライン操作のために後続のアクセスが必要になるまで、インデックス・ファイル(essxxxxx.ind)およびデータ・ファイル(essxxxxx.pag)への変更が延期されます。データ量の多いデータベースでは、この延期によってかなりの時間を節約できます。Essbaseが増分再構築を適用できるアウトライン操作のリストは、アウトラインの変更のクイック・リファレンスを参照してください。
次の変更は、増分再構築の設定に優先します。つまり、増分再構築が使用可能であっても、これらの変更では再構築が即時に行われます:
データベース内でLROを使用している場合、そのデータベースでは増分再構築が自動的に使用不可になります。増分再構築の使用不可は、サーバー上の他のデータベースには影響を与えません。
また、疎次元へのメンバーの追加および疎次元の変更でも、場合によっては即時の再構築が発生することがあります。アウトラインの変更のクイック・リファレンスを参照してください。
増分再構築が使用可能かどうかにかかわらず、アウトラインがすでに再構築されている(密な再構築が保留中である)場合は、共有メンバーを追加するとEssbaseで密な再構築が実行されます。
増分再構築を使用可能にするには、essbase.cfgファイル内のINCRESTRUC構成設定を使用します。『Oracle Essbaseテクニカル・リファレンス』を参照してください。
Essbaseでは、アウトラインの変更は、内部ファイル、dbname.oclに記録されます。Essbaseによってこのファイルに対し、密な再構築が行われたとき、またはデータベースが消去またはリセットされたときに、消去されます。ファイルdbname.oclはきわめて大きくなる可能性があります。このファイルを消去するには、ESSCMDでVALIDATEを発行します。これにより、再構築が延期されたブロックがEssbaseで再構築されます。VALIDATEを発行するときは、データベースが読取り専用モード(データベースのバックアップに使用される)ではないことを確認します。VALIDATEを使用した整合性の検査を参照してください。
デフォルトでは、ブロック・ストレージの再構築は連続して実行されます。ブロックが最初から最後まで再度番号付けされ、再形成されるため、処理に時間がかかります。並列再構築では、使用可能なプロセッサ・コアを使用するために、ブロックの再構築作業を複数の同時スレッド全体に分割することで、再構築の時間が短縮されます。計算は再構築とは別に実行されるため、各ブロックは他のブロックから独立して再構築されます。
ブロックはnのグループに分割されます。nは、再構築スレッドの数です。この分割は、レベルのキーの数がn以上になるまで、インデックスBTreeの大きさを走査することにより実行されます。キーの数がnを超えるレベルがない場合には、再構築スレッドの数もそれに応じて減少します。
使用する再構築スレッドの数は、RESTRUCTURETHREADS構成設定を使用してessbase.cfgに定義されます。RESTRUCTURETHREADSが定義されていない場合、デフォルトは1スレッドです。詳細は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。
データベースの再構築をトリガーする(アウトライン・エディタを使用して)アウトラインの変更を保管するとき、Essbaseでダイアログ・ボックスが表示されます。「データベースの再構築」ダイアログ・ボックスでは、再構築中にデータ値がどのように処理されるかを定義します。たとえば、再構築中にすべてのデータを保持、レベル0または入力データのみを保持、またはすべてのデータを破棄できます。Oracle Essbase Administration Services Online Helpの「アウトラインの保管」を参照してください。
データベースにデータが含まれている場合は、サーバー上にデータベースのバックアップ・コピーを作成するために十分な空きディスク・スペースが必要です。バックアップにより、再構築プロセス中の異常終了によってデータベースが破壊されることがないようにします。
Essbaseで再構築不要のメッセージが表示されることがありますが、その場合でもインデックスのみの再構築は実行されます。これは、疎次元に変更を加えた場合に発生する可能性が高くなります。再構築操作の取消しを試みた場合、Essbaseで取消し不可のメッセージが表示されることがあります。このようなメッセージが表示された場合は、Essbaseですでに最終的なクリーンアップが実行中のため取り消せません。
アウトライン変更ログをアクティブにすると、アウトラインに影響するすべてのアクティビティ(メンバー名の変更やメンバーの移動など)がEssbaseに記録されます。アウトラインに加える変更が多くなるほど、Essbaseでログに加える必要がある更新が多くなるため、パフォーマンスは低下します。
デフォルトでは、アウトライン変更はEssbaseのログに記録されません。アウトラインのロギングによりパフォーマンスが低下しているかどうかを確認するには、essbase.cfgファイルのOUTLINECHANGELOGがTRUEになっているかどうかを調べてください。アウトライン変更ログとその使用を参照してください。
パーティショニングを使用すると、Essbaseでアウトラインの変更が追跡されて、パーティション間でデータベース・アウトラインを同期できるようになります。アウトラインの変更を追跡すると、構造的な変更が多い場合は特に、再構築の速度が低下します。
パーティショニングを使用しているときにEssbaseでデータの再構築を行う場合、次の手順を実行して、パーティション間でデータを確実に同期化させます:
パーティションの検証を参照してください。
アウトラインの同期化を参照してください。
この項の表に、計算および再構築(増分再構築を含む)に影響を与えるアウトラインの変更をすべて示します。
表 180. アクション: メンバーの削除、追加または移動
表 181. アクション: その他のメンバー関連の変更
アクション |
計算および標準的な再構築への影響 |
増分再構築が適用されるか?(使用可能な場合) |
---|---|---|
表 182. アクション: 動的計算関連の変更
アクション |
計算および標準的な再構築への影響 |
増分再構築が適用されるか?(使用可能な場合) |
---|---|---|