問合せログ設定ファイル構文

Essbaseキューブの問合せロギングを構成するには、QUERYLOGパラメータを使用して問合せロギング設定ファイルを構成し、追跡するディメンションとメンバー、および情報のログ記録方法を指定します。

問合せログ設定ファイル名の形式はdbname.cfgである必要があります。dbnameはデータベース(キューブ)の名前を表しています。dbname.cfgファイルは、キューブ・ディレクトリに存在する必要があります。次の構文を使用して、dbname.cfgファイルを構成します:

QUERYLOG [dimension_name]
QUERYLOG NONE GENERATION generation-range
QUERYLOG NONE LEVEL level-range
QUERYLOG GENERATION generation-range
QUERYLOG LEVEL level-range
QUERYLOG LOGPATH path-expression
QUERYLOG LOGFORMAT CLUSTER | TUPLE
QUERYLOG LOGFILESIZE n
QUERYLOG TOTALLOGFILESIZE n
QUERYLOG ON | OFF

ノート:

キューブ・ディレクトリは、<Application Directory>/app/appname/dbnameを意味します。環境内で<Application Directory>の場所が不明な場合、

  • 独立Essbaseデプロイメントを使用する場合は、Essbaseプラットフォームでの環境の場所を参照してください。

  • Oracle Cloud Infrastructure MarketplaceでEssbaseデプロイメントを使用している場合は、<Application Directory>は/u01/data/essbase/appです。

表4-1 QUERYLOGパラメータ

QUERYLOGパラメータ 説明
[dimension_name] 追跡するディメンション名を指定します。ディメンション名のカッコは必要です。QUERYLOG [dimension_name]は、ディメンションのすべてのメンバーをログに記録します。たとえば、QUERYLOG [Product]は、製品ディメンションのすべてのメンバーを追跡します。各ディメンションは別々のQUERYLOG [dimension_name]設定で指定する必要があります。
NONE GENERATION 表4-2 指定した世代範囲のメンバーの追跡を行わないようにします。たとえば、QUERYLOG NONE GENERATION 2は、指定したディメンションの世代2のすべてのメンバーの追跡を除外します。
NONE LEVEL 表4-2 指定したレベル範囲のメンバーの追跡を行わないようにします。たとえば、QUERYLOG NONE LEVEL 0-2では、指定したディメンションのレベル0、1および2のすべてのメンバーの追跡を除外します。
GENERATION 表4-2 指定した世代範囲のメンバーを、メンバー名ではなく、世代番号で追跡します。たとえば、QUERYLOG GENERATION 5-7は、指定したディメンションの世代5、6および7のメンバーを世代番号でログ・ファイルに記録します。
LEVEL 表4-2 指定したレベル範囲のメンバーを、メンバー名ではなく、レベル番号で追跡します。たとえば、QUERYLOG LEVEL -3では、指定したディメンションのレベル0、1、2および3のメンバーをレベル番号でログ・ファイルに記録します。
LOGPATH path-expression 出力ログ・ファイルの場所を指定します。ログ・ファイル名はdbname00001.qlgです。たとえば、basic00001.qlgです。ログ・パスの例は、QUERYLOG LOGPATH /usr/local/Essbaselogs/およびQUERYLOG LOGPATH d:\Essbaselogs\querylogs\です。パス式の最後にバックスラッシュ\ (Windowsディレクトリの場合)またはスラッシュ/ (UNIXディレクトリの場合)を指定する必要があります。指定しない場合、問合せログ・ファイルは作成されません。

デフォルトでは、ログ出力ファイルの場所はキューブ・ディレクトリです。LOGPATH path-expression設定が欠落している場合、デフォルトが使用されます。Essbaseは、アプリケーションが実行を停止すると、ログ情報を問合せログ・ファイルに書き込みます。

LOGFORMAT CLUSTER | TUPLE ログ出力の形式を指定します。CLUSTERおよびTUPLEは、同じログ情報が提供されますが、情報の表示が異なっています。CLUSTERは、問い合せたディメンションのメンバー数に関する情報を提供し、各ディメンション内の問合せ済のメンバーをリストします。TUPLEでは、問合せ済のメンバーの各組合せをリストします。デフォルトでは、CLUSTERはログ形式です。TUPLE形式は問合せ済のメンバーの各組合せをリストするため、TUPLEはCLUSTERよりも問合せパフォーマンスに大きな影響を与える場合があります。クラスタ形式の問合せログの例は、「サンプル・クラスタ出力」を参照してください。タプル形式の問合せログの例は、「サンプル・タプル出力」を参照してください。
LOGFILESIZE n 個々の問合せログ・ファイルの最大サイズをメガバイト(MB)で指定します。最小値は1MBです。最大値は2048MB (2GB)です。LOGFILESIZE設定が欠落している場合、デフォルトでは、問合せログ・ファイルのサイズは1MBです。初期問合せログ・ファイルのサイズが指定を超過した場合、ログ情報は新規問合せログ・ファイルに追加されます。新しいファイルを作成するたびに、ファイル名が1ずつ増分されます。
TOTALLOGFILESIZE n すべての問合せログ・ファイルを結合した最大サイズをメガバイト(MB)で指定します。最小値は512MB (1/2GB)です。最大値は4095MBです。TOTALLOGFILESIZE設定が欠落している場合、デフォルトでは、問合せログ・ファイルの合計サイズは1024MB (1GB)です。ファイル・サイズの合計が指定した最大値を超過するまで、問合せログ・ファイルが作成されます。最大値を超過すると、メッセージが表示され、問合せロギングがオフになります。
ON | OFF 問合せロギング機能をオフにするかオンにするかを指定します。この設定がOFFまたは欠落している場合、すべてのログ設定は無視されます。デフォルトでは、設定はOFFです。

Generation-rangeおよびlevel-range値は次のいずれかの方法で示されます。

表4-2 世代およびレベル範囲の指定

世代範囲またはレベル範囲の値 説明
x 特定の世代またはレベル番号。たとえば、QUERYLOG NONE GENERATION 2では問合せロギングから世代2を除外します。
x-y 番号xから番号yのすべての世代またはレベル(両端を含む)。たとえば、QUERYLOG GENERATION 1-3またはQUERYLOG LEVEL 1-3には、世代またはレベル番号1、2および3が含まれます。
-x generation-rangeでは、1からxまでの範囲のすべての世代。level-rangeでは、0からxまでの範囲のすべてのレベル。たとえば、QUERYLOG GENERATION -2には世代1と2が含まれます。QUERYLOG LEVEL -3には、レベル0、1、2および3が含まれます。
x- generation-rangeでは、番号xから最大の世代までの範囲のすべての世代。level-rangeでは、番号xから最大のレベルまでの範囲のすべてのレベル。たとえば、QUERYLOG Level 1-には、レベル1、2、3から最大レベルまでが含まれます。

ノート

  • 問合せロギングが有効になっている場合、キューブへの問合せが遅くなる場合があります。パフォーマンスは追跡するメンバー数および問合せのサイズによって異なります。

  • 設定ファイル名がキューブの名前と一致しないか、キューブ・ディレクトリ以外の場所にある場合、Essbaseは問合せロギングを無視します。

  • 設定でQUERYLOG ONが欠落しているか、QUERYLOG OFFが設定されている場合、問合せロギングはオフになっています。

  • 世代とレベル設定が設定ファイル内の矛盾の原因である場合、次の優先ルールが適用されます:

    • 世代番号(最高優先度)

    • レベル番号

    • メンバー名(最低優先度)

    たとえば、メンバーがレベル1と世代2の両方に属していて、設定QUERYLOG GENERATION 2とQUERYLOG NONE LEVEL 1が設定ファイル内にある場合、世代設定が優先され、世代2のメンバーが世代番号でログに記録されます。

ヒント

  • 問合せログ出力を簡単に表示するには、ファイル拡張子.qlg.xmlに変更し、ブラウザを使用してXMLを表示します。

  • Essbaseが問合せログの.qlgファイルを想定どおりに作成しない場合、キューブ・ディレクトリ内のdbname.logファイルを表示して、問合せログ・メッセージを検索します。