Syntaxe du fichier de paramètres du journal des requêtes

Pour configurer la journalisation des requêtes pour un cube Essbase, configurez le fichier de paramètres de journalisation des requêtes à l'aide des paramètres QUERYLOG afin d'indiquer les dimensions et les membres à suivre, ainsi que la manière dont les informations doivent être consignées.

Le nom de fichier des paramètres de journal des requêtes doit être au format dbname.cfg, où dbname représente le nom de la base de données (cube). Le fichier dbname.cfg doit se trouver dans le répertoire du cube. Configurez le fichier dbname.cfg à l'aide de la syntaxe suivante :

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

Remarques :

Le répertoire de cube signifie <Application Directory>/app/appname/dbname. Si vous ne savez pas où trouver <Application Directory> dans votre environnement,

Tableau 4-1 Paramètres QUERYLOG

Paramètre QUERYLOG Description
[dimension_name] Identifie le nom de dimension à suivre. Les crochets entourant le nom de la dimension sont obligatoires. QUERYLOG [dimension_name] consigne tous les membres d'une dimension. Par exemple, QUERYLOG [Product] suit tous les membres de la dimension Product. Chaque dimension doit être spécifiée dans un paramètre QUERYLOG [dimension_name] distinct.
NONE GENERATION <genlevel_range_val> (voir le Table 4-2) Empêche le suivi des membres de la plage de génération indiquée. Par exemple, la génération QUERYLOG NONE GENERATION 2 exclut le suivi de tous les membres de la génération 2 de la dimension nommée.
NONE LEVEL <genlevel_range_val> (voir le Table 4-2) Empêche le suivi des membres de la plage de niveaux spécifiée. Par exemple, le niveau 0-2 de QUERYLOG NONE exclut le suivi de tous les membres des niveaux 0, 1 et 2 de la dimension nommée.
GENERATION <genlevel_range_val> (voir le Table 4-2) Effectue le suivi des membres de la plage de génération indiquée par numéro de génération et non par nom de membre. Par exemple, QUERYLOG GENERATION 5-7 consigne les membres des générations 5, 6 et 7 de la dimension nommée en fonction de leur numéro de génération dans le fichier journal.
NIVEAU <genlevel_range_val> (voir le Table 4-2) Effectue le suivi des membres de la plage de niveaux indiquée par numéro de niveau plutôt que par nom de membre. Par exemple, QUERYLOG LEVEL -3 enregistre les membres des niveaux 0, 1, 2 et 3 de la dimension nommée en fonction de leur numéro de niveau dans le fichier journal.
LOGPATH path-expression Spécifie l'emplacement du fichier journal de sortie. Le nom du fichier journal est dbname00001.qlg ; par exemple, basic00001.qlg. Exemples de chemin de journal : QUERYLOG LOGPATH /usr/local/Essbaselogs/ et QUERYLOG LOGPATH d:\Essbaselogs\querylogs\. Vous devez inclure une barre oblique inverse \ (pour les répertoires Windows) ou une barre oblique / (pour les répertoires UNIX) à la fin de l'expression de chemin ; sinon, le fichier journal des requêtes n'est pas créé.

Par défaut, le répertoire du cube est l'emplacement du fichier de sortie du journal. Si le paramètre LOGPATH path-expression est manquant, la valeur par défaut est utilisée Essbase écrit les informations de journal dans le fichier journal des requêtes après l'arrêt de l'exécution d'une application.

CLUSTER LOGFORMAT | TUPLE Indique le format de la sortie de journal. CLUSTER et TUPLE fournissent les mêmes informations de journal, mais affichent les informations différemment. CLUSTER fournit des informations sur le nombre de membres d'une dimension interrogés et répertorie les membres interrogés dans leurs dimensions respectives. TUPLE répertorie chaque combinaison de membres interrogée. Par défaut, CLUSTER est le format de journal. Etant donné que le format TUPLE répertorie chaque combinaison de membres interrogée, TUPLE peut avoir un impact plus important sur les performances des requêtes que CLUSTER. Pour obtenir un exemple de journal de requêtes au format cluster, reportez-vous à Exemple de sortie de cluster. Reportez-vous à la section Sample Tuple Output pour obtenir un exemple de journal de requêtes au format tuple.
LOGFILESIZE n Indique la taille maximale d'un fichier journal de requête individuel en mégaoctets (Mo). La valeur minimale est de 1 Mo. La valeur maximale est de 2048 Mo (2 Go). Si le paramètre LOGFILESIZE est manquant, la taille par défaut du fichier journal des requêtes est de 1 Mo. Si la taille d'un fichier journal de requête initial dépasse la spécification, les informations de journal sont ajoutées à un nouveau fichier journal de requête. Chaque fois qu'un nouveau fichier est créé, le nom du fichier est incrémenté d'une unité.
TOTALLOGFILESIZE n Indique la taille maximale de tous les fichiers journaux de requête combinés en mégaoctets (Mo). La valeur minimale est de 512 Mo (1/2 Go). La valeur maximale est 4095 Mo. Si le paramètre TOTALLOGFILESIZE est manquant, la taille totale du fichier journal des requêtes est par défaut de 1024 Mo (1 Go). Les fichiers journaux de requête sont créés jusqu'à ce que la taille totale du fichier dépasse la valeur maximale spécifiée. Lorsque le maximum est dépassé, un message s'affiche et la journalisation des requêtes est automatiquement désactivée.
ACTIVÉ | DÉSACTIVÉ Indique si la fonction de journalisation des requêtes est activée ou désactivée. Tous les paramètres du journal des requêtes sont ignorés si ce paramètre est désactivé ou manquant. Par défaut, ce paramètre est OFF.

Les valeurs Generation-range et level-range (<genlevel_range_val>) sont représentées de l'une des manières suivantes :

Tableau 4-2 Spécifications de génération et de plage de niveaux

Valeur de fourchette de génération ou de niveau Description
x Un numéro de génération ou de niveau spécifique. Par exemple, QUERYLOG NONE GENERATION 2 exclut la génération 2 de la journalisation des requêtes.
x-y Toutes les générations ou tous les niveaux, y compris les nombres x à y. Par exemple, QUERYLOG GENERATION 1-3 ou QUERYLOG LEVEL 1-3 inclut les numéros de génération ou de niveau 1, 2 et 3.
-x Pour generation-range, toutes les générations comprises dans la plage 1 à x. Pour level-range, tous les niveaux compris entre 0 et x. Par exemple, la génération QUERYLOG -2 inclut les générations 1 et 2. QUERYLOG LEVEL -3 comprend les niveaux 0, 1, 2 et 3.
x- Pour generation-range, toutes les générations comprises dans la plage allant du nombre x à la génération la plus élevée. Pour level-range, tous les niveaux de la plage allant du nombre x au niveau le plus élevé. Par exemple, le niveau QUERYLOG 1- inclut les niveaux 1, 2, 3, etc. jusqu'au niveau le plus élevé.

Remarques 

  • Lorsque la journalisation des requêtes est activée, les requêtes vers le cube peuvent être plus lentes. Les performances dépendent du nombre de membres suivis et de la taille de l'interrogation.

  • Si le nom du fichier de paramètres ne correspond pas au nom du cube ou s'il se trouve à un emplacement autre que le répertoire du cube, Essbase ignore la journalisation des requêtes.

  • Si, dans les paramètres, QUERYLOG ON est manquant ou si QUERYLOG OFF est défini, la journalisation des requêtes est désactivée.

  • Si les paramètres de génération et de niveau entraînent des contradictions dans le fichier de paramètres, les règles de priorité suivantes s'appliquent :

    • numéros de génération (priorité la plus élevée)

    • numéros de niveau

    • noms de membre (priorité la plus faible)

    Par exemple, si un membre appartient à la fois au niveau 1 et à la génération 2, et que les paramètres QUERYLOG GENERATION 2 et QUERYLOG NONE LEVEL 1 figurent dans le fichier de paramètres, le paramètre de génération est prioritaire et les membres de la génération 2 sont consignés par numéro de génération.

Astuces

  • Pour visualiser facilement la sortie du journal des requêtes, remplacez l'extension de fichier .qlg par .xml et utilisez un navigateur pour visualiser le fichier XML.

  • Si Essbase ne génère pas un fichier journal de requêtes .qlg comme prévu, affichez le fichier dbname.log dans le répertoire de cube pour rechercher les messages du journal de requêtes.