Essbaseで提供されるトリガー機能によって、データベース内のデータ変更の効率的な監視が可能になります。
データがトリガーで指定されているルールに違反した場合、Essbaseでは関連情報をファイルに記録するか、またはトリガーによっては電子メール・アラートを(ユーザーまたはシステム管理者に)送信できます。たとえば、西部地域で、ある月の販売が前の年の同じ月の販売を下回った場合は販売マネージャに通知します。
トリガーには、次の2つのタイプがあります。更新時トリガーは、トリガーによって参照されるデータを含むブロックがメモリーに読み込まれたとき、更新処理中にアクティブ化されます。更新完了時トリガーは、更新トランザクションが完了した後にアクティブ化されます。
トリガーを管理するには、ユーザーにデータベース・マネージャのセキュリティ権限が必要です。Essbaseでは、次のアクティビティ中にトリガーを監視するため、これらのアクティビティによってトリガーがアクティブ化される可能性があります:
データベースの再構築中にEssbaseによってトリガーがアクティブ化されることはありません。
使用可能なトリガーおよび使用不可のトリガーに関する情報は、Essbaseサーバーを開始したときにアプリケーション・ログ・ファイルで確認できます。
トリガーの領域指定を定義する場合は、対称的なWHERE句を使用する必要があります。『Oracle Essbaseテクニカル・リファレンス』のMaxLの項にあるMDXのドキュメンテーションを参照してください。
Essbaseで電子メール・アラートを送信できるようにするには、システムにJVMがインストールされている必要があります。
スプール・ファイルに、すべてのトリガー・データ値または最新の値のみのどちらを保管するかを指定できます(たとえば、MaxLのcreate triggerステートメントまたはcreate and replace triggerステートメントでlog_valueパラメータを使用します)。log_valueパラメータがONに設定されている場合は、新しい値と古い値の両方がスプール・ファイルに記録されます。log_valueパラメータがOFFに設定されている場合は、値がスプール・ファイルに記録されません。log_valueパラメータは、データ・ロードおよびロックして送信アクティビティに対してのみ有効です。
電子メール・アラートを送信する場合は、データのセキュリティを考慮してください。Essbaseでは、トリガーをアクティブ化して電子メールを送信する場合、電子メールの受信者にトリガー条件で参照されるデータを表示する権限があるかどうかを確認できません。
トリガー条件で疎次元メンバーを参照することは避けてください。Essbaseでは、あるデータ・ブロックに対するトリガーを実行する場合、更新されているかどうかわからない別のデータ・ブロックを読み取る必要があります。2つ目のブロックの状態によっては、Essbaseによってトリガーが誤ってアクティブ化される可能性があります。
次の例は、Sample.Basicデータベースに基づいています。EastとWestが疎次元であり、次のステートメントによってトリガー条件が定義されるとします:
FIX (East, West, Sales, Jan, Actual, Cola) IF ((Sales -> East + Sales -> West) > 20) EMAIL sales@.com
EastとWestについて、次のSalesデータ値が保管されているとします:
次に、ユーザーがロックして送信の要求を実行し、データ値を次のように更新するとします:
Sales -> Eastが15に更新された時点で、データベースには一時的に次の値が含まれます:
15プラス6は20を超えているため、Essbaseによってトリガーがアクティブ化されます。その後、EssbaseによってSales -> Westが3に更新されます。現在は15 + 3 < 20であるため、データはトリガー条件を満たしません。ただし、Essbaseによって、トリガーはすでにアクティブ化されています。
データ・ロードに続いて計算処理が実行され、ロードされたデータと計算されたデータの両方がトリガー条件を満たした場合は、Essbaseによって、トリガーがデータ・ロード時に1回と計算時に1回の計2回アクティブ化されます。
データベースで使用可能なトリガーの数によっては、計算やデータ・ロードのパフォーマンスが若干低下することがあります。essbase.cfgファイル内のTRIGMAXMEMSIZE構成設定を指定することによって、トリガー機能で使用されるメモリーの最大容量を制御できます。デフォルトでは、TRIGMAXMEMSIZEは4096バイトに設定されています。情報の電子メールでの送信ではなく、ファイルへの書込みを選択すると、ネットワーク・トラフィックの削減により、計算やデータ・ロードのパフォーマンスが向上する場合があります。
次の例はSample Basicデータベースに基づいています。
例1では、次の月、製品および地域のActualおよびSales値が追跡されます:
計算されているメンバーがJanであり、コーラの1月のActualおよびSales値が20を超えている場合、この例では2つの電子メール・アカウントに電子メールが送信されます。
create trigger Sample.Basic.Trigger_Jan_20 where "(Jan,Sales,[100],East,Actual)" when Jan > 20 and is(Year.currentmember,Jan) then mail ([Docs.Company.com],[trgsales@company.com], [inventory@company.com], [Mail sent by trigger_Jan_20]) end;
例2では、次の月、製品および地域のActualおよびSales値が追跡されます:
計算されているメンバーがJan、FebまたはMarであり、コーラの1月、2月または3月のいずれかの月のActualおよびSales値が20を超えている場合、この例ではファイルTrigger_Jan_Sales_20、Trigger_Feb_Sales_20またはTrigger_Mar_Sales_20にエントリが記録されます。その後トリガーがアクティブ化されると、古いログの値と新しいログの値の両方がログ・ファイルに保持されます。
create or replace trigger Sample.Basic.Trigger_Qtr1_Sales log_value on Where "(crossjoin(Qtr1.children, {(Measures.Sales, [100], East, Scenario.Actual)}))" When Year.Jan > 20 and is(Year.currentmember, Jan) then spool Trigger_Jan_Sales_20 When Year.Feb > 20 and is(Year.currentmember, Feb) then spool Trigger_Feb_Sales_20 When Year.Mar > 20 and is(Year.currentmember, Mar) then spool Trigger_Mar_Sales_20 end;
例3では、次の製品、地域および月の在庫レベルが追跡されます:
トリガーは、更新アクションが完了した後にアクティブ化されます。東部地域におけるコーラの在庫が500,000を下回ると、この例ではファイルInventory_Eastにエントリが記録されます。
create after update trigger Sample.Basic.Inventory_east where "(crossjoin ({children([Qtr1])}, {([Market].[East], [Product].[100], [Inventory].[Ending Inventory])}))" when [Ending Inventory] < 500000 then spool Inventory_East end;
このトピックでは、サーバー、アプリケーションおよびデータベース・アクティビティに関する情報を記録するためにEssbaseサーバーで作成されるログについて説明します。表139に、各ログの概要を示します。
Essbaseでは、ロギングのためにOracle Diagnostic Loggingフレームワーク(ODL)も使用されます。ODLのEssbase実装の詳細は、『Oracle Hyperion Enterprise Performance Management Systemインストールおよび構成トラブルシューティング・ガイド』を参照してください。
表 139. ログの要約
EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/ESSBASE.LOG | ||
EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/ appname / appname .LOG | ||
EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/ appname / dbname / dbname 00001.qlg | ||
EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/ appname / dbname / dbname .olg | ||
EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/log00001.xcp EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/ appname /log00001.xcp EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/ appname / dbname /log00001.xcp | ||
次の場所のいずれか(表149を参照): EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/app/ appname / appname .log |
このトピックでは、ログに書き込まれる情報と、それらの情報を使用してEssbaseサーバーの管理、調整またはトラブルシューティングを行う方法について説明します。
Administration Servicesのログについては、Oracle Essbase Administration Services Online Helpの「Administration Serverのログについて」を参照してください。
Essbaseサーバーでは、Essbaseサーバーおよびアプリケーションで発生するアクティビティを、拡張子が.logのテキスト・ファイルに書き込みます(つまり、ログに記録します)。
標準のEssbaseインストールでは、ESSBASE.LOGという名前のEssbaseサーバー・ログが次のディレクトリに存在します:
EPM_ORACLE_INSTANCE
/diagnostics/logs/essbase/essbase_0/ESSBASE.LOG
Essbaseサーバー上の各アプリケーションには、そのアプリケーションに従って名前が付けられた独自のアプリケーション・ログがあります。たとえば、Sampleアプリケーションのログ・ファイルには、sample.logという名前が付けられます。標準のEssbaseインストールでは、DEFAULTLOGLOCATION構成パラメータの値に応じて、アプリケーション・ログは次のいずれかのディレクトリにあります:
EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/app/appname
ARBORPATH/app/appname
アプリケーション・ログ内の情報は、エラーが発生した場所や原因を正確に特定するのに役立ちます。
サーバー・ログおよびアプリケーション・ログに関して実行できるアクションについては、Essbaseサーバー・ログおよびアプリケーション・ログの使用を参照してください。Administration Servicesを使用したログの表示または分析については、Oracle Essbase Administration Services Online Helpの「ログ・ビューアについて」または「ログ・アナライザについて」を参照してください。特定のエラー・メッセージの詳細は、『Oracle Essbaseエラー・メッセージ・リファレンス』を参照してください。
ESSBASE.LOGファイル内の情報は、次の項目の評価に役立ちます:
表140は、記録されるアクションのタイプと、ログ・メッセージに含まれる情報を示しています。特定のエラー・メッセージについては、『Oracle Essbaseエラー・メッセージ・リファレンス』を参照してください。
次のessbase.logの例は、Essbaseサーバーの開始時に書き込まれるエントリを示しています。最初に、SampleアプリケーションとBasicデータベースがロードされます。このログ・ファイルには、アプリケーションやデータベースがロードされた時刻、オペレーティング・システムによってアプリケーションに割り当てられたプロセスID、およびセキュリティ認証モジュールの起動に関する情報が含まれています。
正常なシャットダウンを実行できない場合は、このプロセスIDを使用してアプリケーションを不正に停止できます。アプリケーションの誤った停止を参照してください。 |
[Tue Nov 06 07:54:16 2001]Local/ESSBASE0///Info(1051061) Application Sample loaded - connection established
[Tue Nov 06 07:54:16 2001]Local/ESSBASE0///Info(1054027) Application [Sample] started with process id [1300]
[Tue Nov 06 07:54:23 2001]Local/ESSBASE0///Info(1051134) External Authentication Module: [LDAP] enabled
次のログは、単一のエラーを示しています。管理ユーザーが、Essbaseサーバー上にすでに存在する名前を使用して、アプリケーションの名前を変更しようとしました。このログ・ファイルには、ユーザー名、エラーの時刻、および失敗してエラーが発生した操作に関する情報が含まれています。
[Tue Nov 06 08:00:04 2001]Local/ESSBASE0///Info(1051001) Received client request: Rename Application (from user admin)
[Tue Nov 06 08:00:04 2001]Local/ESSBASE0///Warning(1051003) Error 1051031 processing request [Rename Application] - disconnecting
次のログは、シャットダウンを示しています。このログ・ファイルには、シャットダウンしたアプリケーションの名前と、シャットダウンの時刻に関する情報が含まれています。
appname.logファイル内の情報は、次の項目の評価に役立ちます:
表141は、記録されるアクションのタイプと、ログ・メッセージに含まれる情報を示しています。
表 141. アプリケーション・ログのコンテンツ
次の項目では、標準的な起動およびシャットダウンを行った場合のアプリケーション・ログのエントリの例や、エラー発生時に記録されるメッセージの例などを示しています。
次のログの例は、Essbaseサーバーの開始時にappname.logに書き込まれるすべてのエントリを示しています。このログ・ファイルには、アプリケーションが開始された時刻、アプリケーションおよびデータベース情報が読み取られた時刻と書き込まれた時刻、ログイン要求に対するアプリケーションの準備ができた時刻、データベースがロードされた時刻などの情報が含まれています。
[Tue Nov 06 08:47:14 2001]Local/Sample///Info(1002035) Starting Essbase Server - Application [Sample]
Essbaseサーバーでは、開始後、次元サイズや動的計算情報などの、アウトライン内の次元とメンバーに関する情報がアプリケーション・ログに書き込まれます。その例を次に示します:
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1019012) Reading Outline For Database [Basic]
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1007043) Declared Dimension Sizes = [20 17 23 25 5 3 5 3 15 8 6 ]
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1007042) Actual Dimension Sizes = [20 14 20 25 4 3 5 3 15 8 5 ]
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1007125) The number of Dynamic Calc Non-Store Members = [8 6 0 0 2 ]
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1007126) The number of Dynamic Calc Store Members = [0 0 0 0 0 ]
Essbaseサーバーでは次に、ブロック・サイズ、宣言された見込みブロックの数、計算を実行するために必要なブロックの数(この情報を使用すると、動的計算とタグ付けされた疎次元のメンバーの取得パフォーマンスを見積ることができます)などの、データベース内のブロックに関する情報がアプリケーション・ログに書き込まれます:
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1010008) Maximum Declared Blocks is [575] with data block size of [1700]
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1010007) Maximum Actual Possible Blocks is [500] with data block size of [192]
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1200481) Formula for member [Opening Inventory] will be executed in [CELL] mode
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1012710) Essbase needs to retrieve [1] Essbase Kernel blocks in order to calculate the top dynamically calculated block.
Essbaseサーバーでは次に、データベースごとに設定されたキャッシュに関する情報がアプリケーション・ログに書き込まれます:
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1012736) The Dyn.Calc.Cache for database [Basic] can hold a maximum of [2340] blocks.
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1012737) The Dyn.Calc.Cache for database [Basic], when full, will result in [allocation from non-Dyn.Calc.Cache memory].
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1070013) Index cache size ==> [1048576] bytes, [1024] index pages.
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1070081) Using buffered I/O for the index and data files.
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1070083) Using waited I/O for the index and data files.
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1019019) Reading Data File Free Space Information For Database [Basic]...
[Tue Nov 06 08:47:15 2001]Local/Sample///Info(1006025) Data cache size ==> [3145728] bytes, [2048] data pages
次の例は、単一のエラーを示しています。データ・ロード・ファイル内に不明なメンバーが見つかり、この不明なメンバーが存在したためにロードが失敗しました。最初にデータ・ロードに対する要求が表示され、次にエラー・メッセージが表示され、最後に、データ・ロードによって変更されたデータ値とデータ・ロードの経過時間を記述した情報メッセージが表示されます。
[Tue Nov 06 08:49:52 2001]Local/Sample///Info(1013210) User [admin] set active on database [Basic] [Tue Nov 06 08:49:52 2001]Local/Sample/Basic/admin/Info(1013091) Received Command [DataLoad] from user [admin] [Tue Nov 06 08:49:52 2001]Local/Sample/Basic/admin/Info(1003040) Parallel dataload enabled: [1] block prepare threads, [1] block write threads. [Tue Nov 06 08:49:52 2001]Local/Sample/Basic/admin/Error(1003000) Unknown Item [500-10] in Data Load, [0] Records Completed [Tue Nov 06 08:49:52 2001]Local/Sample/Basic/admin/Warning(1003035) No data values modified by load of this data file [Tue Nov 06 08:49:52 2001]Local/Sample/Basic/admin/Info(1003024) Data Load Elapsed Time : [0.11] seconds [Tue Nov 06 08:49:52 2001]Local/Sample/Basic/admin/Info(1019018) Writing Parameters For Database [Basic]
次のメッセージは、Essbaseサーバーで正常なシャットダウンが実行されると記録されます。最初に、データベースに関する情報が取得されます。次に、データベースがアンロードされ、空きスペース情報が書き込まれて、サーバーがシャット・ダウンします。
[Tue Nov 06 08:50:26 2001]Local/Sample///Info(1013214) Clear Active on User [admin] Instance [1] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013205) Received Command [Get Database Info] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013205) Received Command [Get Database State] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013205) Received Command [Get Database Volumes] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013205) Received Command [Get Database State] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013205) Received Command [Get Database Volumes] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013205) Received Command [Unload Database] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1019018) Writing Parameters For Database [Basic] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1019020) Writing Free Space Information For Database [Basic] [Tue Nov 06 08:50:34 2001]Local/Sample///Info(1013207) RECEIVED SHUTDOWN COMMAND - SERVER TERMINATING
表142は、最初の列に示すエラー番号の範囲ごとのエラー・メッセージのカテゴリを示しています。エラー・メッセージを受信した場合は、この表を使用して、そのエラーに関連したEssbaseコンポーネントを特定します。『Oracle Essbaseエラー・メッセージ・リファレンス』を参照してください。
次の項目では、サーバー・ログおよびアプリケーション・ログで実行可能なアクションについて説明します。
サーバー・ログおよびアプリケーション・ログの詳細は、Essbaseサーバー・ログおよびアプリケーション・ログを参照してください。特定のエラー・メッセージの詳細は、『Oracle Essbaseエラー・メッセージ・リファレンス』を参照してください。
また、Administration Servicesを使用してログを表示できます。Oracle Essbase Administration Services Online Helpの「ログ・ビューアについて」を参照してください。
essbase.cfgファイル内の次の設定を使用すると、Essbaseサーバー(エージェント)およびアプリケーション・ログ・ファイルの最大ログ・ファイル・サイズを指定できます:
AGTMAXLOGFILESIZE
APPMAXLOGFILESIZE
デフォルトの最大ログ・ファイル・サイズは2GBです。
『Oracle Essbaseテクニカル・リファレンス』を参照してください。
Essbaseサーバー・メッセージをEssbaseサーバー・ログ(EPM_ORACLE_INSTANCE/diagnostics/logs/essbase/essbase_0/essbase.log)、またはEssbaseサーバー・ウィンドウ、あるいはその両方に書き込むかどうかを指定できます。
ログ・レベル:
情報メッセージ(ユーザー・アクションの通知やアプリケーションまたはデータベースの詳細など)
次の例は、adminユーザーがログアウトしたことを示しています。
[Sun Oct 21 16:00:55 2001]Local/ESSBASE0///Info(1051037) Logging out user admin, active for 144 minutes
多くの場合は、エラーに続いて警告が発生します。次の例は、ログに含まれている以前のエラーのために、名前変更操作が完了しなかったことを示しています。
[Fri Nov 02 13:38:14 2001]Local/ESSBASE0///Warning(1051003) Error 1051031 processing request [Rename Application] - disconnecting
エラー・メッセージ(Essbaseサーバーで実行できないアクションを試みた場合など)
次の例は、そのアプリケーション名がすでに存在しているために、名前変更操作が失敗したことを示しています。
[Fri Nov 02 13:38:14 2001]Local/ESSBASE0///Error(1051031) Application Testing already exists
OPMN pingメッセージなどのデバッグ・メッセージ。
表143には、EssbaseサーバーがEssbaseサーバー・ログに書き込むメッセージのタイプ、またはEssbaseサーバー・ウィンドウに表示するメッセージのタイプを決めるために、essbase.cfgファイルに指定する構成設定がリストされています。essbase.cfg設定を変更した場合は、Essbaseサーバーを再起動して変更を適用します。
デフォルトでは、アプリケーション・ログには、次のタイプのメッセージがリストされます:
情報メッセージ。これは、Essbaseサーバーによって実行された定期的なアクションを詳述するメッセージです
次の例では、Essbaseサーバーがデータ・ロードにかかった時間をアプリケーション・ログに書き込んでいます:
[Fri Nov 02 13:04:15 2001] Local/Sample/Basic/admin/Info(1003024) Data Load Elapsed Time : [3.014] seconds
警告メッセージ。これは、Essbaseサーバーによって重大でない、と判断された状況をリストするメッセージです
次の例では、データ・ロード中に変更されたデータ値がなかったことを示すステートメントがEssbaseサーバーによってアプリケーション・ログに書き込まれています:
[Fri Nov 02 12:43:44 2001] Local/Sample/Basic/admin/Warning(1003035) No data values modified by load of this data file
エラー・メッセージ。これは、タスクの実行中に発生したエラーを記述するメッセージです
エラー・メッセージには、ファイルが正しくロードされないなどの重大なエラーから、Essbaseサーバーのクラッシュを引き起こすディスク・スペース・エラーなどの非常に重大なエラーまでの幅があります。次の例では、アウトライン内のすべての次元が指定される前にデータ値が見つかったことを示すステートメントが、Essbaseサーバーによってアプリケーション・ログ・ファイルに書き込まれています:
[Fri Nov 02 12:53:32 2001] Local/Sample/Basic/admin/Error(1003007) Data Value [678] Encountered Before All Dimensions Selected, [2] Records Completed
表144は、Essbaseサーバーによってアプリケーション・ログに書き込まれるメッセージのタイプを決定するために、essbase.cfgファイルおよび計算スクリプトで使用できるコマンドで指定する設定を示しています。essbase.cfg設定を変更した場合は、Essbaseサーバーを再起動して変更を適用します。
表 144. アプリケーション・ログ・メッセージの構成設定のリスト
ログを表示しているときは、スナップショットが表示されています。ログの更新されたバージョンを表示するには、ログを閉じてから、再度開きます。特定の日付から現在までのログを表示するか、またはログ全体を表示できます。
Essbaseサーバー・ログを表示するには、管理者権限が必要です。また、アプリケーション・ログを表示するには、アプリケーション・マネージャ以上の権限が必要です。
Essbaseのログ・レベルは、Administration Servicesコンソールで、サーバー・レベルとアプリケーション・レベルに変更できます。Oracle Essbase Administration Services Online Helpのログ・レベルの変更に関する項を参照してください。
message_level文法を使用したMaxLステートメントで、現在のシステム全体およびアプリケーションのメッセージ・レベルを表示できます。次の2つの列があるテーブルが出力されます: componentおよびmessage_level。
システムのメッセージ・レベルを表示するには、次のMaxLステートメントを使用します:
display system message_level;
出力:
component message_level +------------------+------------------ system info lease_manager error
アプリケーションのメッセージ・レベルを表示するには、次のMaxLステートメントを使用します:
display application
appname
message_level;
たとえば、アプリケーションがSampleであるとします。出力:
component message_level +------------------+------------------ Sample info lease_manager error
サーバー・ログおよびアプリケーション・ログは、サーバー上のディスク・スペースを使用します。場合によっては、ログが大きくなりすぎる前に、ログからエントリを消去することが必要な場合があります。サーバー・ログを消去すると、ログ内のすべてのエントリが削除されますが、そのサーバー・ログ自体は削除されません。アプリケーション・ログを消去すると、アプリケーション・ログ内のすべてのエントリが削除され、そのアプリケーション・ログも削除されます。消去する前に、各ログをバックアップしてください。
サーバー・ログおよびアプリケーション・ログを消去するには、管理者権限が必要です。
サーバー・ログまたはアプリケーション・ログをただちに消去するには、次のツールを使用します:
サーバーまたはアプリケーションの再起動のたびにサーバー・ログまたはアプリケーション・ログを消去するには、再起動時のEssbaseサーバー・ログおよびアプリケーション・ログの消去を参照してください。Essbaseサーバー・ログまたはアプリケーション・ログに記録されるアイテムを制限することによって領域を節約するには、Essbaseサーバー・ウィンドウに記録または表示されるEssbaseサーバー・メッセージのタイプの設定または記録するアプリケーション・メッセージのタイプの設定を参照してください。 |
デフォルトでは、Essbaseサーバーにより、サーバー・ログおよびアプリケーション・ログの最後にメッセージが追加されます。CLEARLOGFILE構成設定を使用して、サーバーが再起動されるたびにEssbaseサーバー・ログを、またはアプリケーションが再起動されるたびにアプリケーション・ログを消去するようにEssbaseサーバーを設定できます。essbase.cfgファイルを変更した場合は、その変更を適用するためにEssbaseサーバーを再起動します。
サーバーまたはアプリケーションを再起動することなく、サーバー・ログまたはアプリケーション・ログを消去するには、Essbaseサーバー・ログおよびアプリケーション・ログの即時消去を参照してください。Essbaseサーバー・ログまたはアプリケーション・ログに記録されるアイテムを制限することによって領域を節約するには、Essbaseサーバー・ウィンドウに記録または表示されるEssbaseサーバー・メッセージのタイプの設定または記録するアプリケーション・メッセージのタイプの設定を参照してください。 |
サーバー・ログおよびアプリケーション・ログのログ・エントリを区切るために使用される記号を変更できます。区切り記号を変更すると、Essbaseサーバー・ウィンドウに記録されるメッセージにも影響を与えます。デフォルトでは、Essbaseサーバーにより、スペースを使用してログ内のフィールドが区切られます。その例を次に示します:
[Thu May 10 20:14:46 2001]Local/ESSBASE0///Info(1051051) Essbase Server - started
サーバー・ログおよびアプリケーション・ログ内のエントリを区切るために、チルダ、キャレット、コロン、アンパサンドまたはアスタリスクも使用できます。可能であれば、データ、アプリケーションまたはデータベースではあまり使用されない区切り記号を選択してください。次の例は、チルダ(~)で区切られたログ・エントリを示しています:
Thu~May~10~20:16:13~2005~Local~ESSBASE0~~~Info~(1051051)~ \\ Oracle Essbase Server - started
表145は、Essbaseサーバーのサーバー・ログおよびアプリケーション・ログで使用する区切り記号を決定するために、essbase.cfgファイルで指定する設定を示しています。essbase.cfg設定を変更した場合は、Essbaseサーバーを再起動して変更を適用します。
クエリー・ロギングを使用すると、Essbase管理者は、Essbaseデータベースの問合せパターンを追跡できます。クエリー・ログ・ファイルでは、クエリーがSpreadsheet Add-inまたはレポート・ライターのどちらから発行されているかには関係なく、データベースに対して実行されたすべてのクエリーを追跡します。クエリー・ロギングは、メンバー、特定の世代またはレベルに属するメンバーの世代またはレベル番号、およびハイブリッド分析メンバーを追跡できます。クエリー・ロギングは、世代またはレベルに属する特定の次元およびメンバーのロギングを除外する柔軟性も備えています。クエリー・ログ・ファイルの出力はXMLドキュメントであるため、ログを表示するために、XMLに対応した任意のツールにログ・ファイルをインポートできます。クエリー・ログ・ファイルの構造については、ESSBASEPATH/binディレクトリ内のquerylog.dtdを参照してください。
クエリー・ロギングは、ブロック・ストレージ・データベースにも集約ストレージ・データベースにも使用できます。
クエリー・ロギングを使用可能にするには、クエリー構成ファイルを(essbase.cfgファイルとは別個に)作成し、そのファイルにクエリー・ロギングの実行方法を制御する構成設定を追加します。
ARBORPATH/app/appname/dbnameディレクトリ内に、クエリー・ログ構成ファイルを作成します。この構成ファイルには、dbname.cfg (dbnameは、データベースの名前に一致させます)という名前を付ける必要があります。たとえば、Sample.Basicのクエリー・ログ構成ファイルはbasic.cfgになります。出力のクエリー・ログ・ファイルは、デフォルトではARBORPATH/app/appname/dbname00001.qlgにあります。
アウトライン変更ログを作成するようにEssbaseサーバーを設定できます。これは、アウトライン変更情報をテキスト・ファイルに保存する、dbname.olgという名前のテキスト・ファイルです。ログの作成後にアウトラインに加えられた変更を参照するために、このアウトライン変更ログをいつでも確認できます。この情報は、アウトラインを以前のバージョンにロール・バックするのに役立ちます。
アウトライン変更ログは、次のディレクトリにあります:
EPM_ORACLE_INSTANCE /diagnostics/logs/essbase/essbase_0/app/ appname / dbname
次の項目では、アウトライン変更ログ、およびアウトライン変更ログで実行可能なアクションについて説明します。
表146は、アウトライン変更ログに書き込まれるアクションのタイプと、ログ・メッセージに含まれる情報を示しています。
アウトライン変更ログのプログラムでは、アウトライン情報を左から右に読み取ります。アウトラインを参照した場合、左側の兄弟は、新しく追加された次元またはメンバーの真上(左)にある兄弟です。このルールは、直前の次元またはメンバーが親である場合は適用されません。新しく追加(または移動)されたメンバーがその親の最初の子である場合、またはそのメンバーがアウトライン内の最初の次元である場合、アウトライン変更ログではその次元またはメンバーの古い場所が「なし」と識別されます。
ユーザーがアウトラインを変更して保存すると、Essbaseでは、その変更情報がエントリのグループとしてアウトライン変更ログに書き込まれます。各改訂を最新のものから最も古いものまで容易に識別できるように、各エントリのグループは識別情報で開始および終了します。
次の変更ログは、アウトライン変更ログが開始されて以降、アウトラインが1回変更されたことを示す1つのレコードを示しています。最初に、アウトライン変更ログには、変更されたアプリケーションとデータベース、変更の時刻、および変更を行ったユーザーを含む変更の開始がリストされています。次に、アウトライン変更ログには、100-50という名前のメンバーが製品次元のメンバー100に追加されたという内容の変更がリストされています。最後に、アウトライン変更ログには、変更されたアプリケーションとデータベース、変更の時刻、および変更を行ったユーザーを含む変更の終了がリストされています。
デフォルトでは、Essbaseサーバーでアウトライン変更ログは作成されません。アウトライン変更ログを作成するには、essbase.cfg内のOUTLINECHANGELOG TRUE構成設定を使用します。『Oracle Essbaseテクニカル・リファレンス』を参照してください。
再構築中、アウトライン変更ログへのすべての更新が完了するまで、Essbaseではアウトライン変更情報をメモリー内に保持します。そのため、アウトライン変更ログを有効にすると、再構築のパフォーマンスに影響を与える可能性があります。データベースの再構築に影響する条件を参照してください。 |
アウトライン変更ログ(dbname.olg)のデフォルト・サイズは64,000バイトです。最大サイズを変更するには、essbase.cfgファイル内のOUTLINECHANGELOGFILESIZE構成設定を使用します。『Oracle Essbaseテクニカル・リファレンス』を参照してください。
アウトライン変更ログが最大サイズに達すると、Essbaseでは.olgファイルのコンテンツを新しいファイルにコピーし、その拡張子を.olbに変更します。たとえば、basic.olgが最大サイズに達すると、そのコンテンツはbasic.olbにコピーされます。
コピー操作の後、.olgファイルが消去され、Essbaseによってこのファイルに新しいログ・エントリが書き込まれます。
.olgファイルが最大ファイル・サイズに達するたびに、Essbaseでは、既存の.olbファイルが.olgの現在のコンテンツで上書きされます。そのため、.olbファイルからの情報の取得は、このファイルが上書きされる前に実行するようにしてください。
.olgファイルのデフォルト、最小および最大ファイル・サイズは、.olbファイルにも自動的に適用されます。たとえば、アウトライン変更ログの最大サイズを2MBに変更した場合は、.olbファイルも同じ最大サイズに自動的に設定されます。
Essbaseサーバー、アプリケーションまたはデータベースが異常シャット・ダウンすると、Essbaseサーバーによって、例外ログがlog0000n.xcpという名前のテキスト・ファイルとして作成される場合があります。以降のトピックでは、サーバー、アプリケーションおよびデータベースの例外ログと、それらのログに対してユーザーが実行できるアクションについて説明します。
Essbaseサーバー、アプリケーションまたはデータベースが異常シャット・ダウンし、再起動できない場合は、問題のトラブルシューティングに役立つ例外ログがEssbaseサーバーによって生成されます。例外ログの場所は、異常シャット・ダウンしたコンポーネントと、その時点でEssbaseサーバーが取得できた情報の量によって異なります。表148は、異常シャットダウンのタイプごとの例外ログの場所を示しています。
表147は、例外ログのセクションと、各セクションに含まれる情報を示しています。シャットダウンの終了前にEssbaseサーバーで情報をすべて取得できなかった場合は、後の方の一部のセクションが空白になることがあります。
次の例は、例外ログを示しています。ログの最初のセクションには、アプリケーションおよびデータベースに関する一般的な情報がリストされます。この例では、Essbaseサーバーがシャット・ダウンしました:
----- Exception Error Log Begin ----- Current Date & Time: Sat Nov 24 13:25:13 2001 Process Type: Server Application Name: Sample Database Name: Basic Exception Log File: C:\HYPERION\ESSBASE\log00001.xcp Current Thread Id: 1116 Exception Code: 0xC0000005=Access Violation Exception Flags: 0x00000000=Continuable Exception Address: 0x002D2249 Exception Parameters: 2 Exception Parameter 0: 0x00000000=Read Violation Exception Parameter 1: 0x0000220A (Virtual Address)
ログの次のセクションには、レジスタとスタックのトレース情報がリストされます。Oracleサポートは、ログのこのセクションを調べて、異常シャットダウンが発生した理由の判別に役立てます。
----- Machine Registers ----- General Registers: EAX=0x00000000 EBX=0x01358008 ECX=0x00002200 Control Registers: CS =0x0000001B EIP=0x002D2249 Flg=0x00010202 Segment Registers: DS =0x00000023 ES =0x00000023 FS =0x00000038 Floating Point Registers: CWD=0xFFFF027F SWD=0xFFFF0000 TWD=0xFFFFFFFF Register Area (Hex): 00 00 00 00 00 00 00 00 00 00 ...continued hexadecimal listings... Debug Registers: DR0=0x2F75C73B DR1=0x75E07D39 DR2=0x1475FF16 DR3=0x00000000 DR6=0x0000E00B DR7=0x00000000 ----- Stack ----- Stack Trace: 0: 0x002D2249 1: 0x002D202D ...continued stack trace listings... Stack Dump (Hex): (Stack dump truncated from 1397 to 1024 bytes.) 0x0012EA2C: 00000000 01358008 01358008 FFFFFFFF 0x0012EA3C: 00002200 002D728C 0012EC6C 002D202D ...continued stack dump listings...
----- Application-Wide Configuration ----- Server Name: ASPEN Application Name: Sample Elapsed App Time: 00:00:01:28 Module Count: 6 Module 0: 0x00241000 = C:\HYPERION\ESSBASE\BIN\ESSSEC.DLL Module 1: 0x002C1000 = C:\HYPERION\ESSBASE\BIN\ESSNET.DLL ...continued module listings...
ログの次のセクションには、オペレーティング・システムの情報がリストされます。使用可能なメモリー量、使用されているスワップ・スペースの量および各ドライブで使用可能なメモリー量を判別できます:
----- Operating System Resources ----- System Date & Time: Sat Nov 24 13:25:13 2001 Elapsed OS Time: 02:03:03:10 OS Name & Version: Windows NT 5.00 CPU Count: 1 CPU Type: Pentium Total Physical Memory: 327024 KB (334872576) Free Physical Memory: 155760 KB (159498240) Used Physical Memory: 171264 KB (175374336) Swap Flags: Enabled: Y Disabled: N File Found: Y Denied: N Swap file(s): C:\pagefile.sys Total Swap Space: 467192 KB (478404608) Free Swap Space: 421528 KB (431644672) Used Swap Space: 45664 KB (46759936) Total Drives: 5 Current Drive: 3 Drive 1: Drive Name: C Volume Label: Drive Type: Fixed File System: NTFS Total Drive Space: 11778448 KB Free Drive Space: 8592548 KB Used Drive Space: 3185900 KB ...continued drive listings...
ログの次のセクションには、システム構成情報(パスやessbase.cfgの設定など)がリストされます:
----- System-Wide Configuration ----- Elapsed Essbase Time: 00:00:01:33 Essbase Version: 6.2.0 Essbase Description: Ess62P0B128 Network Type: Windows Sockets Environment Variable: ARBORPATH = C:\HYPERION\ESSBASE Environment Variable: ARBORMSGPATH = C:\HYPERION\ESSBASE\bin Module Count: 13 Module 0: Module Name: C:\HYPERION\ESSBASE\BIN\ESSUTL.DLL Module Version: 6.2.0.1 Module Description: Ess62P0B128.1 Module Use Count: 5 ...continued module listings... ----- ESSBASE.CFG Configuration Values ----- Configuration Value: JvmModuleLocation = C:\Hyperion\Essbase\java\jre13\bin\hotspot\jvm.dll Configuration Value: AuthenticationModule = LDAP essldap.dll x Configuration Value: OUTLINECHANGELOG = TRUE
ログの次のセクションには、ライセンス情報(シリアル番号など)、Essbaseオプション(購入済ポートなど)および購入済のOracle Hyperion製品がリストされます:
----- License Information ----- Serial Number: xxx License Expiry Date: Port Count: 10 Ports In Use Count: 0 Limited Use Version: N Read-Only SS: N ...continued Essbase options and Hyperion product listings...
ログの次のセクションには、クライアントのアクティビティ(Administration Servicesを使用したデータベースの表示など)がリストされます:
----- Client Request Activity ----- Server Name: ASPEN Application Name: Sample Total Request Threads: 5 Avail Request Threads: 6 Total Requests: 56 Average Requests: 48.000000 Weighted Average: 7.440000 Statistics Per Minute: Current Requests: 48 Minimum Requests: 48.000000 Maximum Requests: 48.000000 Thread Count: 5 Thread Id 1444: Request Name: List Objects Database Name: Basic User Name: admin Start Time: Sat Nov 24 13:24:37 2001 End Time: Sat Nov 24 13:24:37 2001 ...continued thread listings... ----- Exception Error Log End -----
例外変更ログは、そのログを任意のテキスト・エディタで開くことによって表示できます。例外ログの場所は、異常シャット・ダウンしたコンポーネントと、その時点でEssbaseサーバーが取得できた情報の量によって異なります。
表148は、例外ログの場所を示しています。
表 148. 例外ログの場所
デフォルトでは、サーバーが異常シャット・ダウンするたびに、Essbaseサーバーで1つ以上の例外ログが作成されます。後続の例外ログには、連続した番号が付けられます。たとえば、log00001.xcpが存在する場合、次のログにはlog00002.xcpという名前が付けられます。
essbase.cfg内のEXCEPTIONLOGOVERWRITE TRUE構成設定を使用すると、新しいログ・ファイルを作成するかわりに既存の例外ログ・ファイルを上書きできますが、FALSEのデフォルト設定を使用することをお薦めします。異常シャットダウンによって複数の例外ログ・ファイルが作成される可能性がありますが、一般には、シャットダウン中に作成された最初のログ・ファイルに最も多くの情報が含まれています。『Oracle Essbaseテクニカル・リファレンス』を参照してください。
Essbaseサーバーでは、次元構築またはデータ・ロード中に発生したエラーがエラー・ログに書き込まれます。Essbaseサーバーでエラー用に選択されるログは、次元構築やデータ・ロードなどの実行する操作と、Administration ServicesまたはMaxLの使用などの実行方法によって異なります。以降のトピックでは、次元構築およびデータ・ロードのエラーの場所と、次元構築およびデータ・ロードのエラー・ログに対して実行できるアクションについて説明します。
dataload.errのログには、次元構築またはデータ・ロード中に発生したエラーが含まれています。これらのログにはまた、ロードに失敗したレコードも含まれています。エラーを修正した後、これらのログを再ロードできます。次元構築およびデータ・ロードのエラー・ログのロードを参照してください。
Essbaseサーバーでは、次元構築またはデータ・ロード中に発生したエラーは次のエラー・ログに書き込まれます:
データ・ロードまたは次元構築が失敗したが、エラー・ログが存在しない場合は、考えられる原因についてエラー・ログの確認を参照してください。 |
次元構築およびデータ・ロードのエラー・ログの場所とファイル名を設定するには、Oracle Essbase Administration Services Online Helpの「データ・ロードまたは次元構築の実行」を参照してください。
次のデータ・ログ・エントリは、アウトラインにメンバー500が存在しなかったため、アウトラインにデータがロードされなかったことを示しています。
この問題を解決するために、次のいずれかのアクションを実行し、ロードを再起動できます:
存在しないメンバーを作成するための次元構築を実行します。データ・ロードまたは次元構築の実行を参照してください。
アウトライン・エディタで、存在しないメンバーを追加します。アウトラインへの次元およびメンバーの追加を参照してください。
次の次元構築ログ・エントリは、メンバー600-20がメンバー600の親でないことを示しています。正しいテキスト・ファイルを含む正しいルール・ファイルを使用していることを確認します。このレコードはレベル(ボトムアップ)構築に対するもののように見えますが、エラー・メッセージは、Essbaseサーバーが世代(トップダウン)構築を実行しようとしていることを示しています。問題を修正した後、次元構築を再起動します。
dataload.errファイルのデフォルト・サイズは1,000レコードです。ログがこのサイズに達すると、Essbaseサーバーではそれ以上ログにエラーが書き込まれなくなります。ただし、次元構築またはデータ・ロードは続行されます。
DATAERRORLIMIT構成設定を使用して、dataload.errログ・ファイルに記録されるレコード数(1から65,000)を指定できます。essbase.cfgファイルを変更した場合は、その変更を適用するためにEssbaseサーバーを再起動します。
次元構築またはデータ・ロードが失敗した場合は、分離レベルのトランザクション設定が「コミット」または「アンコミット」のどちらになっているかを判定する必要があります。トランザクション設定が「コミット」の場合は、データ・ロードを最初から再起動する必要があります。「アンコミット」の場合は、エラー・ログをロードすることによって、失敗したレコードのみをロードできます。失敗したレコードのみの再ロードは、すべてのレコードの再ロードよりはるかに高速です。
エラー・ログを再ロードするには:
サーバーからロードを実行する場合は、ファイル拡張子を.errから.txtに変更します。たとえば、dataload.errファイルをdataload.txtに変更します。
次元構築またはデータ・ロードの失敗の原因となった問題を修正します。問題の修正には、アウトライン、エラー・ログ内のテキストまたはルール・ファイルの変更が必要になることがあります。
次元構築操作の設定についての説明を参照してください。
データ・ソースが使用可能かどうかの確認を参照してください。
Essbaseサーバーが使用可能かどうかの確認を参照してください。
適切なルール・ファイルを使用して、エラー・ログをロードします。
データ・ロードおよび次元構築の理解。を参照してください。