Collecte et analyse des journaux des requêtes

Les journaux des requêtes contiennent des informations de diagnostic utiles qui permettent aux administrateurs d'analyser et de résoudre les problèmes relatifs aux performances de requête, aux scénarios d'erreur et aux résultats incorrects. Lorsque vous activez les journaux des requêtes dans Oracle Analytics, des informations relatives à l'analyse, à l'optimisation, aux plans d'exécution, à la requête physique et aux statistiques récapitulatives, entre autres, sont écrites dans le journal de requêtes.

Accès aux journaux des requêtes

Les journaux des requêtes sont écrits en série dans le même ordre d'exécution des requêtes dans le système. Chaque session et chaque demande sont identifiées par un ID unique. Les administrateurs peuvent accéder à ces journaux à partir de la page Session et cache de requête de la console. Pour savoir comment accéder à cette page, reportez-vous à Analyse des journaux et des requêtes SQL.

Remarque :

Les auteurs de classeur peuvent également accéder à des informations de requête telles que la durée de requête, le temps serveur et la durée de transmission pour les composants de visualisation dans leurs classeurs. Reportez-vous à Accès aux journaux des requêtes d'un classeur à la fin de cette rubrique.

Niveau de journalisation des requêtes

  • Le niveau de journalisation détermine les détails et la quantité de journaux générés.

  • Vous pouvez définir le niveau de journalisation au niveau du système, de la session ou du rapport.
  • Vous pouvez définir le niveau de journalisation global de votre modèle sémantique (RPD) à l'aide de la propriété Niveau de journalisation système (sous Outils, Option, Référentiel) ou utiliser la variable de session.

    La description de GUID-8BF38235-E497-4FC9-B4C3-D5E3B11C2991-default.jpg est la suivante
    .jpg

  • Vous pouvez remplacer le niveau de journalisation d'un rapport en ajoutant la variable LOGLEVEL à la propriété Préfixe, disponible dans l'onglet Avancé du rapport.

  • Pour vous assurer que vous obtenez des journaux complets en évitant les accès réussis au cache, vous pouvez inclure la variable DISABLE_CACHE_HIT=1 avec LOGLEVEL.

    La description de GUID-028022F5-7C3F-4EA4-B497-88453DFF4853-default.jpg est la suivante
    .jpg

  • Les valeurs du niveau de journalisation (LOGLEVEL) sont comprises entre 0 et 7.
    • LOGLEVEL=0 signifie que la journalisation est désactivée.
    • LOGLEVEL=7 est le plus haut niveau de journalisation, utilisé principalement par l'équipe de développement d'Oracle.
    • LOGLEVEL=2 convient au réglage des performances et aux utilisateurs disposant de compétences de base.
    • LOGLEVEL=3 est requis pour résoudre les problèmes relatifs aux filtres de sécurité de données au niveau des lignes.
  • En fonction du niveau de journalisation, le journal de requête contient des informations sur la requête, notamment la demande logique, le plan de navigation et d'exécution, la requête physique générée, la durée d'exécution, les lignes et les octets extraits au niveau des différents noeuds d'exécution ainsi que des informations relatives au cache.

Les administrateurs peuvent extraire les journaux des requêtes à partir de la page Emettre une requête SQL de la console en exécutant la requête avec la variable LOGLEVEL et les paramètres de variable appropriés.

La description de GUID-CE500760-79A2-4D2E-83CA-F401163B111F-default.jpg est la suivante
.jpg

Lecture d'un journal de requête

La page Session et cache de requête répertorie toutes les requêtes et sessions actuellement actives. Les administrateurs peuvent accéder à cette page à partir de la console.

La description de GUID-E741680B-8E04-4FBA-9173-4D2F1CAA680E-default.jpg est la suivante
.jpg

Chaque entrée sur la page fournit un accès au journal de requête d'une requête en particulier, au niveau défini (c'est-à-dire au niveau du modèle sémantique, de la session ou du rapport).

La description de GUID-AF2BE54A-CC5E-44C0-88E2-9ADD91B3962C-default.jpg est la suivante
.jpg

Chaque demande dispose d'une valeur requestid unique dans Oracle Analytics.

Requête SQL logique

Voici un exemple de requête SQL logique dans Oracle Analytics.

La description de GUID-ACCBD275-1027-48FB-9183-8EB87EB94078-default.jpg est la suivante
.jpg

Voici quelques variables courantes que vous pouvez voir dans une demande SQL logique :

  • QUERY_SRC_CD : origine de la requête (Invite, Rapport, DV, Emettre une requête SQL, etc.).
  • SAW_SRC_PATH : si la requête est enregistrée, chemin de la requête dans le catalogue.
  • SAW_DASHBOARD : si la requête est incluse dans un tableau de bord, chemin du tableau de bord dans le catalogue.
  • SAW_DASHBOARD_PG : nom de la page du tableau de bord.

Demande logique

La demande logique est la transposition d'une requête de la couche de présentation vers le modèle de gestion et la couche de correspondance après avoir ajouté des filtres de sécurité, le cas échéant.

La description de GUID-74E1CA85-56BB-412D-B9F1-468E1D143DFD-default.jpg est la suivante
.jpg

En fonction de la demande logique, Oracle Analytics détermine si la requête accède à un cache existant ou si elle doit être extraite de la base de données.

La description de GUID-AD43A89E-4AC8-4A6A-B30F-167EEA2BAE0F-default.jpg est la suivante
.jpg

Plan d'exécution

Le plan d'exécution est la transformation de la demande logique réelle en un plan optimisé pour l'exécution. Il inclut un plan d'envoi pour chaque opération et détermine si l'exécution est réalisée dans la base de données ou dans Oracle Analytics. Lorsqu'une opération est traitée dans Oracle Analytics, le journal de requête indique [for database 0:0,0].

La description de GUID-41665BED-DD61-4056-BEDD-D54D2292BD58-default.jpg est la suivante
.jpg

Lors de l'exécution de la requête, Oracle Analytics parcourt précisément cette arborescence. Dans les journaux détaillés, les informations sur les lignes traitées sont disponibles au niveau de chaque noeud de l'arborescence d'exécution.

La description de GUID-58CDEF0F-CE9D-41D7-A639-1F68749074B1-default.jpg est la suivante
.jpg

Demandes physiques ou de base de données

En fonction du plan d'exécution, Oracle Analytics génère la requête SQL physique à exécuter dans la base de données indiquée. Plusieurs demandes peuvent être envoyées à plusieurs bases de données.

La description de GUID-67BA9E19-057C-4918-A583-C127B2D14F32-default.jpg est la suivante
.jpg

Pour chaque demande physique envoyée à la base de données, il existe un journal contenant le nombre de lignes et d'octets extraits.

La description de GUID-A103C103-084C-4370-BDB6-0D2728A66DAB-default.jpg est la suivante
.jpg

Lorsqu'il existe plusieurs requêtes, vous pouvez utiliser l'ID de requête (dans cet exemple, 1914627) pour rechercher la requête exacte journalisée dans la section Sending query to the database. Vous pouvez ainsi mettre en correspondance la requête avec les lignes extraites lorsqu'il existe plusieurs demandes de base de données.

Un seul rapport peut envoyer plusieurs requêtes à plusieurs bases de données en fonction de sa structure et de la définition de modèle sémantique. Par exemple, dans ce journal de requête, 3 requêtes physiques ont été envoyées à la base de données.

La description de GUID-6AD88CC1-CED9-4609-BB30-F6B0F94BB105-default.jpg est la suivante
.jpg

Le journal fournit des informations similaires sur les lignes traitées pour tous les noeuds du plan d'exécution. Enfin, les lignes envoyées au client sont journalisées.

La description de GUID-94913767-718C-44B4-AE6C-6081DD12D8B4-default.jpg est la suivante
.jpg

Le journal inclut également un récapitulatif final des statistiques avec la durée d'exécution totale. Vous pouvez mettre en corrélation cette durée pour analyser et étudier les problèmes de performances.

La description de GUID-2F47CE96-DFE8-4B4F-940A-3FF9CE336F2A-default.jpg est la suivante
.jpg

Statistiques récapitulatives

Plusieurs statistiques temporelles apparaissent dans le récapitulatif du journal de requête.
  • Temps écoulé : temps total écoulé entre la réception de la requête logique et la fermeture du curseur par le client. Si le client autorise l'utilisateur à faire défiler les résultats, comme Oracle Analytics le fait, le curseur peut rester ouvert un long moment jusqu'à ce que l'utilisateur accède à une autre page ou qu'il se déconnecte.
  • Durée de compilation : temps dont se sert Oracle Analytics pour générer le plan d'exécution et les requêtes physiques à partir de la requête SQL logique.
  • Temps total dans BI Server : temps d'attente total du client pour obtenir une réponse. Ce temps inclut la durée d'exécution des requêtes physiques, le temps d'attente lors de l'extraction et le temps passé dans Oracle Analytics pour l'exécution interne.
  • Durée d'exécution : temps écoulé entre la réception de la requête logique par Oracle Analytics et la fin de l'exécution de la requête logique. Cette durée n'inclut pas le temps passé après la fin de l'exécution de la requête logique lorsque le client extrait les résultats.
  • Temps de réponse : temps écoulé entre la réception de la requête logique par Oracle Analytics et le renvoi de la première ligne au client.

Remarques relatives aux journaux des requêtes

  • Activité monothread. Dans des circonstances défavorables, vous pouvez constater un goulet d'étranglement des performances pour les niveaux de journalisation supérieurs à 2.

  • Les heures répertoriées et calculées correspondent au moment où les entrées sont écrites dans le journal et il s'agit presque toujours du moment où l'événement survient (c'est-à-dire, l'activité à l'origine de l'entrée de journal). Sinon, d'autres goulets d'étranglement peuvent avoir une incidence sur la journalisation.

  • La journalisation des requêtes est un outil de diagnostic et n'est pas conçue pour la collecte d'informations sur l'utilisation. Pour en savoir plus sur le suivi de l'utilisation, reportez-vous à Suivi de l'utilisation.

Accès aux journaux des requêtes d'un classeur

Seuls les administrateurs peuvent accéder aux journaux via la page Session et cache de requête de la console. Cependant, les auteurs de contenu peuvent accéder aux informations de journal des requêtes de visualisation dans leurs classeurs par le biais du menu Développeur. Il s'agit d'un outil utile pour les auteurs qui veulent résoudre les problèmes de performances de requête. Afin d'accéder à l'outil de performances pour les classeurs (option de menu Développeur), les utilisateurs doivent activer Activer les options de développeur dans le menu Avancé sous Mon profil.

La description de GUID-1C5E06A4-B442-41CF-9A16-029A8878237B-default.jpg est la suivante
.jpg

Lorsque l'option est activée, l'option de menu Développeur apparaît dans le menu du classeur.

La description de GUID-72F0DD44-DD0A-47D4-942B-3E014F122B0F-default.jpg est la suivante
.jpg

L'option Développeur permet aux utilisateurs d'afficher et d'analyser à la volée divers journaux pour toute visualisation sur un canevas. Un cadre distinct apparaît sous le canevas avec différents onglets pour chaque type d'information. Par défaut, les journaux ne sont pas remplis ni actualisés lors de l'exécution de la visualisation.

La description de GUID-5D339116-5D5F-4AA2-B16B-82096E0B0D3C-default.jpg est la suivante
.jpg

Sélectionnez la visualisation à analyser et cliquez sur Actualiser pour générer les journaux. Une fois la visualisation actualisée, différentes informations la concernant apparaissent et vous pouvez analyser les informations de journal correspondantes. Pour analyser plusieurs visualisations, vous devez les actualiser individuellement et les analyser les unes après les autres.

La description de GUID-5A53D8E3-0776-44DC-ADD9-214C231E172B-default.jpg est la suivante
.jpg
Avec l'option Développeur, les auteurs de contenu peuvent analyser une série d'informations, telles que les journaux de performances, le contenu JSON, le contenu XML et également des informations relatives à l'ensemble de données. Cela signifie qu'ils peuvent analyser les journaux sans avoir besoin d'un accès administrateur à la page Session et cache de requête.

Remarque :

Le menu Développeur est disponible uniquement pour les classeurs. Pour les analyses et tableaux de bord classiques, vous accédez aux journaux des requêtes par le biais de la page Session et cache de requête.