La connexion entre une application et une base de données est appelée session. La fonctionnalité de gestion des sessions vous permet de consulter les sessions des locataires, les statistiques de session et la détection des interblocages.
Consulter les sessions des locataires
Dans l'onglet Tenant Session :
L'ID de session proxy correspond à l'identifiant de session enregistré par le serveur proxy de base de données.
L'ID de session de base de données correspond à l'identifiant de session enregistré par l'OBServer et sert à identifier une connexion de base de données unique sur l'OBServer.
L'onglet Tenant Session n'affiche que la session actuelle. Une session proxy peut correspondre à plusieurs sessions de base de données, mais une seule session de base de données est affichée. Si une session de base de données est active, celle-ci s'affiche. En l'absence de session active, une session est affichée aléatoirement.
-
Sélectionnez View Only Active Sessions pour rechercher les sessions actives. Vous pouvez sélectionner plusieurs sessions actives afin de définir des limitations de débit par lot.
RemarqueSi le Database Name associé à la session sélectionnée contient No_database (ce qui signifie qu'aucun nom de base de données n'a été spécifié lors de la connexion), il est impossible de définir des limitations de débit par lot.
-
Sélectionnez Aggregate Sessions by SQL ID pour regrouper les sessions partageant le même identifiant SQL.
RemarqueLe regroupement par identifiant SQL vous aide à analyser et comparer le trafic ainsi que la consommation de différents identifiants SQL, ce qui permet d'identifier les consommateurs de ressources système.
Pour sélectionner Aggregate Sessions by SQL ID, l'option View Only Active Sessions doit déjà être activée.
-
Sélectionnez Show Sessions by Aggregation in SQL pour afficher les sessions selon l'agrégation dans la clause SQL, sans toutefois influencer les données statistiques. Vous pouvez sélectionner plusieurs sessions actives afin de définir des limitations de débit par lot.
RemarqueL'agrégation dans la clause SQL consiste à ignorer le nombre de paramètres constants dans la clause IN des instructions SQL et à traiter chaque clause IN comme ne contenant qu'un seul paramètre constant. Selon cette règle, les instructions SQL sont paramétrées et l'identifiant SQL est calculé ; les requêtes partageant le même identifiant SQL sont considérées comme appartenant à la même catégorie et sont agrégées.
Pour sélectionner Show Sessions by Aggregation in SQL, l'option Aggregate Sessions by SQL ID doit déjà être activée.
Si le Database Name associé à la session sélectionnée contient No_database (ce qui signifie qu'aucun nom de base de données n'a été spécifié lors de la connexion), il est impossible de définir des limitations de débit par lot.
Filtrez les sessions par User et Database Name.
Recherchez des sessions par Proxy Session ID, Database Session ID, SQL ID, SQL, Source, Target End et Database Node.
Triez les sessions par Execution Time (s) et CPU Time (s).
-
Cliquez sur une instruction SQL pour accéder à la page SQL Execution Details.
-
Pour les instructions SQL remplissant l'une des conditions suivantes, la page SQL Execution Details affiche le plan d'exécution des opérateurs ainsi que les détails d'exécution, comme illustré ci-dessous.
Instruction SQL utilisant l'indice MONITOR
Instruction SQL utilisant des indices liés à l'exécution parallèle
-
Instruction SQL lente (temps d'exécution supérieur à 5 secondes)
RemarqueL'OBServer doit être en version 4.0 ou ultérieure.
Les statistiques peuvent ne pas s'afficher pour les opérateurs s'exécutant rapidement.
Pour plus d'informations sur l'indice MONITOR, consultez la rubrique MONITOR Hint. Pour plus d'informations sur les indices liés à l'exécution parallèle, consultez la rubrique Hints related to parallel execution.
Pour les autres instructions SQL, la page SQL Execution Details affiche uniquement le plan d'exécution des opérateurs.
-
-
Fermez les sessions cibles.
Pour fermer une seule session : cliquez sur Close Session dans la colonne Operation de la session cible.
Pour fermer plusieurs sessions : cochez les cases situées devant les sessions cibles, puis cliquez sur Close Sessions in Batches ci-dessous.
-
Pour fermer toutes les sessions :
Cochez la case située à gauche de Proxy Session ID, puis cliquez sur Close Sessions in Batches ci-dessous.
Sélectionnez n'importe quelle session, cliquez sur Select All ci-dessous, puis cliquez sur Close Sessions in Batches.
RemarqueAprès la fermeture de la session, vous pouvez vérifier l'état de la tâche dans Optimization Management > Optimization Records.
-
Définissez des limitations de débit.
-
Définissez une limitation de débit pour une seule session :
Cliquez sur Set Throttling dans la colonne Operation de la session cible.
Dans la boîte de dialogue contextuelle, saisissez le niveau maximal de concurrence et cliquez sur OK.
Dans la boîte de dialogue contextuelle, cliquez sur OK.
-
Définissez des limitations de débit par lot :
Cochez les cases situées devant les sessions cibles et cliquez sur Batch Set Throttling ci-dessous.
Dans la boîte de dialogue contextuelle, saisissez le niveau maximal de concurrence et cliquez sur OK.
Dans la boîte de dialogue contextuelle, cliquez sur OK.
RemarqueAprès avoir défini les limitations de débit, vous pouvez vérifier l'état de la tâche dans Optimization Management > Optimization Records.
Si le Database Name associé à la session sélectionnée contient No_database (ce qui signifie qu'aucun nom de base de données n'a été spécifié lors de la connexion), il est impossible de définir des limitations de débit par lot.
-
Consulter les statistiques de session
Dans l'onglet Session Statistics :
Consultez ou exportez le nombre de sessions actives et le nombre total de sessions du cluster actuel, par utilisateur, source d'accès ou base de données.
Cliquez sur 10-second SQL Analysis en haut à droite pour analyser les exécutions des instructions SQL du locataire sur une période de 10 secondes. Vous pouvez consulter les résultats d'analyse par SQL Type, User, Source et Database.

Consulter la détection des interblocages
Dans l'onglet Deadlock Detection :
-
Si vous utilisez la détection des interblocages pour la première fois, cliquez sur Turn on Deadlock Detection. Une fois activée, ApsaraDB for OceanBase détecte et gère les événements d'interblocage en temps réel, ce qui consomme environ 2 % des ressources système. Activez ou non cette fonctionnalité en fonction de l'état de votre cluster.
RemarqueLa détection des interblocages n'est prise en charge que par ApsaraDB for OceanBase V4.x.

Une fois la détection des interblocages activée, le système vérifie la présence d'interblocages au sein des locataires du cluster et fournit les résultats de détection dans la section Deadlock Details. Ces résultats sont conservés pendant 7 jours.

Cliquez sur Turn off Deadlock Detection en haut à droite pour désactiver la détection des interblocages, ou cliquez sur l'icône d'actualisation pour mettre à jour les détails de détection.