Syntax der Einstellungsdatei für Abfragelog

Um das Abfrage-Logging für einen Essbase-Cube zu konfigurieren, konfigurieren Sie die Einstellungsdatei für das Abfrage-Logging mit QUERYLOG-Parametern, um anzugeben, welche Dimensionen und Elemente Sie verfolgen möchten und wie die Informationen protokolliert werden sollen.

Der Dateiname der Abfragelogeinstellungen muss das Format dbname.cfg aufweisen, wobei dbname den Namen der Datenbank (Cube) darstellt. Die Datei dbname.cfg muss sich im Cube-Verzeichnis befinden. Konfigurieren Sie die Datei dbname.cfg mit der folgenden Syntax:

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

Hinweis:

Das Cube-Verzeichnis bedeutet <Application Directory>/app/appname/dbname. Wenn Sie nicht wissen, wo <Application Directory> in Ihrer Umgebung ist,

  • Wenn Sie ein unabhängiges Essbase-Deployment verwenden, lesen Sie Umgebungsspeicherorte in der Essbase-Plattform.

  • Wenn Sie ein Essbase-Deployment auf dem Oracle Cloud Infrastructure-Marktplatz verwenden, lautet <Application Directory> /u01/data/essbase/app.

Tabelle 4-1: QUERYLOG-Parameter

QUERYLOG-Parameter Beschreibung
[dimension_name] Gibt den Dimensionsnamen an, der verfolgt werden soll. Die Klammern um den Dimensionsnamen sind erforderlich. QUERYLOG [dimension_name] protokolliert alle Elemente einer Dimension. Beispiel: QUERYLOG [Product] verfolgt alle Elemente der Product-Dimension. Jede Dimension muss in einer separaten QUERYLOG [dimension_name]-Einstellung angegeben werden.
NONE GENERATION <genlevel_range_val> (siehe Tabelle 4-2) Verhindert die Verfolgung von Elementen aus dem angegebenen Generierungsbereich. Beispiel: QUERYLOG NONE GENERATION 2 schließt die Verfolgung aller Elemente aus der 2. GENERATION der benannten Dimension aus.
NONE LEVEL <genlevel_range_val> (siehe Tabelle 4-2) Verhindert die Verfolgung von Elementen aus dem angegebenen Ebenenbereich. Beispiel: QUERYLOG NONE LEVEL 0-2 schließt die Verfolgung aller Elemente der Ebenen 0, 1 und 2 der benannten Dimension aus.
GENERATION <genlevel_range_val> (siehe Tabelle 4-2) Verfolgt Elemente des angegebenen Generierungsbereichs nach Generierungsnummer und nicht nach Elementname. Beispiel: QUERYLOG GENERATION 5-7 protokolliert Elemente der Generationen 5, 6 und 7 der benannten Dimension anhand ihrer Generierungsnummer in der Logdatei.
LEVEL <genlevel_range_val> (sieheTabelle 4-2) Verfolgt Elemente des angegebenen Ebenenbereichs nach Ebenennummer und nicht nach Elementname. Beispiel: QUERYLOG LEVEL -3 protokolliert Elemente der Ebenen 0, 1, 2 und 3 der benannten Dimension anhand ihrer Ebenennummer in der Logdatei.
LOGPFAD path-expression Gibt den Speicherort der Ausgabeprotokolldatei an. Der Logdateiname lautet dbname00001.qlg. Beispiel: basic00001.qlg. Beispiele für den Logpfad sind QUERYLOG LOGPATH /usr/local/Essbaselogs/ und QUERYLOG LOGPATH d:\Essbaselogs\querylogs\. Sie müssen einen umgekehrten Schrägstrich \ (für Windows-Verzeichnisse) oder einen Schrägstrich / (für UNIX-Verzeichnisse) am Ende des Pfadausdrucks einfügen. Andernfalls wird die Abfragelogdatei nicht erstellt.

Standardmäßig ist der Speicherort für die Logausgabedatei das Cube-Verzeichnis. Wenn die Einstellung LOGPATH path-expression fehlt, wird die Standardeinstellung verwendet. Essbase schreibt Loginformationen in die Abfragelogdatei, nachdem eine Anwendung nicht mehr ausgeführt wird.

LOGFORMAT-CLUSTER | TUPEL Gibt das Format der Logausgabe an. CLUSTER und TUPLE stellen dieselben Loginformationen bereit, zeigen die Informationen jedoch unterschiedlich an. CLUSTER liefert Informationen darüber, wie viele Elemente einer Dimension abgefragt wurden, und listet abgefragte Elemente in ihren jeweiligen Dimensionen auf. TUPLE listet jede abgefragte Elementkombination auf. Standardmäßig ist CLUSTER das Logformat. Da das TUPLE-Format jede abgefragte Elementkombination auflistet, kann TUPLE eine größere Auswirkung auf die Abfrageperformance haben als CLUSTER. Ein Beispiel für ein Abfragelog im Clusterformat finden Sie unter Beispielclusterausgabe. Ein Beispiel für ein Abfragelog im Tupelformat finden Sie unter Beispiel-Tupelausgabe.
PROTOKOLLGRÖSSE n Gibt die maximale Größe einer einzelnen Abfragelogdatei in Megabyte (MB) an. Der Mindestwert beträgt 1 MB. Der Höchstwert beträgt 2048 MB (2 GB). Wenn die Einstellung LOGFILESIZE fehlt, beträgt die Größe der Abfragelogdatei standardmäßig 1 MB. Wenn eine anfängliche Abfragelogdatei die Spezifikation überschreitet, werden Loginformationen zu einer neuen Abfragelogdatei hinzugefügt. Bei jeder Erstellung einer neuen Datei wird der Dateiname um eins erhöht.
TOTALLOGDATEIENIZE n Gibt die maximale Größe aller Abfragelogdateien in Megabyte (MB) an. Der Mindestwert beträgt 512 MB (1/2 GB). Der Höchstwert beträgt 4095 MB. Wenn die Einstellung TOTALLOGFILESIZE fehlt, beträgt die Gesamtgröße der Abfrage-Log-Datei standardmäßig 1024 MB (1 GB). Abfragelogdateien werden erstellt, bis die Dateigröße das angegebene Maximum überschreitet. Wenn das Maximum überschritten wird, wird eine Meldung angezeigt, und die Abfrageprotokollierung wird automatisch deaktiviert.
ON | OFF Gibt an, ob die Abfrageloggingfunktion ein- oder ausgeschaltet ist. Alle Abfrageprotokolleinstellungen werden ignoriert, wenn diese Einstellung deaktiviert ist oder fehlt. Standardmäßig ist die Einstellung OFF.

Die Werte Generation-range und level-range (<genlevel_range_val>) werden wie folgt dargestellt:

Tabelle 4-2: Generierungs- und Ebenenbereichsspezifikationen

Generierungsbereich oder Ebenenbereichswert Beschreibung
x Eine bestimmte Generations- oder Ebenennummer. Beispiel: QUERYLOG NONE GENERATION 2 schließt die 2. GENERATION vom Abfrage-Logging aus.
x-y Alle Generationen oder Ebenen einschließlich der Zahl x bis der Zahl y. Beispiel: QUERYLOG GENERATION 1-3 oder QUERYLOG LEVEL 1-3 enthält die Generierungs- oder Ebenennummern 1, 2 und 3.
-x Für generation-range alle Generationen im Bereich 1 bis x. Für level-range alle Ebenen im Bereich 0 bis x. Beispiel: QUERYLOG GENERATION -2 umfasst die Generationen 1 und 2. QUERYLOG LEVEL -3 enthält die Ebenen 0, 1, 2 und 3.
x- Für generation-range alle Generationen im Bereich von Nummer x bis zur höchsten Generation. Für level-range alle Ebenen im Bereich von Zahl x bis zur höchsten Ebene. Beispiel: QUERYLOG Level 1- enthält die Ebenen 1, 2, 3 usw. bis zur höchsten Ebene.

Hinweise:

  • Wenn das Abfrage-Logging aktiviert ist, können Abfragen an den Cube langsamer sein. Die Performance hängt davon ab, wie viele Elemente verfolgt werden und wie groß die Abfrage ist.

  • Wenn der Name der Einstellungsdatei nicht mit dem Namen des Cubes übereinstimmt oder sich an einem anderen Ort als dem Cube-Verzeichnis befindet, ignoriert Essbase das Abfrage-Logging.

  • Wenn in den Einstellungen QUERYLOG ON fehlt oder QUERYLOG OFF eingestellt ist, ist die Abfrageprotokollierung deaktiviert.

  • Wenn Generierungs- und Ebeneneinstellungen Widersprüche in der Einstellungsdatei verursachen, gelten die folgenden Prioritätsregeln:

    • Generierungsnummern (höchste Priorität)

    • Ebenennummern

    • Elementnamen (niedrigste Priorität)

    Beispiel: Wenn ein Element sowohl zur Ebene 1 als auch zur GENERATION 2 gehört und die Einstellungen QUERYLOG GENERATION 2 und QUERYLOG NONE LEVEL 1 in der Einstellungsdatei enthalten sind, hat die Generierungseinstellung Vorrang, und die Elemente der GENERATION 2 werden nach Generationsnummer protokolliert.

Tipps

  • Um die Abfragelogausgabe einfach anzuzeigen, ändern Sie die Dateierweiterung .qlg in .xml, und zeigen Sie die XML mit einem Browser an.

  • Wenn Essbase nicht wie erwartet eine Abfragelogdatei .qlg erstellt, zeigen Sie die Datei dbname.log im Cube-Verzeichnis an, um nach Abfragelogmeldungen zu suchen.