Utiliser la fonction de suivi SQL sur une base de données d'intelligence artificielle autonome sur une infrastructure Exadata dédiée
Vous pouvez utiliser la fonction de suivi SQL avec Base de données d'IA autonome sur une infrastructure Exadata dédiée pour vous aider à identifier la source d'une charge de travail de base de données excessive, telle qu'un énoncé SQL à forte consommation de ressources dans votre application.
À propos de la trace SQL
Lorsqu'une opération d'application prend plus de temps que prévu, l'obtention d'une trace de tous les énoncés SQL exécutés dans le cadre de cette opération avec des détails tels que le temps passé par cet énoncé SQL dans les phases d'analyse, d'exécution et d'extraction vous aidera à identifier et à résoudre la cause du problème de performance. Vous pouvez utiliser la fonction de traçage SQL sur une base de données d'IA autonome pour ce faire.
- Commencez par configurer la base de données pour enregistrer les fichiers SQL Trace. Pour plus d'informations, voir Configurer le suivi SQL sur une base de données d'IA autonome.
- Activez ensuite la fonction de trace SQL. Voir Activer le suivi SQL sur une base de données d'IA autonome.
Note :
L'activation du traçage SQL peut dégrader les performances de votre application pour la session pendant la collecte de trace. Cet impact sur la performance est attendu en raison de la surcharge liée à la collecte et à l'enregistrement des données de trace. - Pour arrêter la collecte des données de trace SQL, vous devez désactiver la fonction de trace SQL. Voir Désactiver le traçage SQL.
- Lorsque vous désactivez le suivi SQL, les données de suivi collectées pendant l'exécution de la session avec le suivi activé sont écrites dans la vue
SESSION_CLOUD_TRACEde la session et dans un fichier de suivi du seau, que vous configurez lors de la configuration du suivi SQL. Vous disposez de deux options pour consulter les données de trace :- Voir et analyser les données SQL Trace dans le fichier trace enregistré dans le magasin d'objets en nuage. Pour plus d'informations, voir Voir le fichier de trace enregistré dans le magasin d'objets en nuage sur la base de données d'IA autonome.
- Voir et analyser les données de trace SQL enregistrées dans la vue
SESSION_CLOUD_TRACE. Pour plus d'informations, voir Voir les données de trace dans la vue SESSION_CLOUD_TRACE sur la base de données d'IA autonome.
Configurer la trace SQL sur Autonomous AI Database
Activer la trace SQL sur Autonomous AI Database
Note :
L'activation du traçage SQL peut dégrader les performances de l'application pour la session pendant la collecte. Cet impact sur la performance est attendu en raison de la surcharge liée à la collecte et à l'enregistrement des données de trace.Pour activer le traçage SQL pour une session de base de données, effectuez les opérations suivantes :
Désactiver le traçage SQL
Voir le fichier de trace enregistré dans le magasin d'objets en nuage sur la base de données Autonomous AI Database
DEFAULT_LOGGING_BUCKET.
L'outil de trace SQL écrit les données de trace collectées pour la session dans le magasin d'objets en nuage dans le format suivant :
default_logging_bucket/sqltrace/clientID/moduleName/sqltrace_numID1_numID2.trc
Les composants du nom de fichier sont les suivants :
-
default_logging_bucket : Valeur de la propriété de base de données
DEFAULT_LOGGING_BUCKET. Pour plus d'informations, voir Configurer le suivi SQL sur une base de données d'IA autonome. -
clientID: Identificateur du client. Pour plus d'informations, voir Activer le suivi SQL sur la base de données d'IA autonome. -
moduleName: Nom du module. Pour plus d'informations, voir Activer le suivi SQL sur la base de données d'IA autonome. -
numID1_numID2: Deux identificateurs fournis par l'outil de trace SQL. Les valeurs numériquesnumID1etnumID2distinguent de manière unique chaque nom de fichier de suivi des autres sessions qui utilisent le traçage et créent des fichiers de suivi dans le même seau du stockage d'objets en nuage.Lorsque le service de base de données prend en charge le parallélisme et qu'une session exécute une interrogation parallèle, la fonction de trace SQL peut produire plusieurs fichiers de suivi avec des valeurs
numID1etnumID2différentes.
Note :
Lorsque le suivi SQL est activé et désactivé plusieurs fois dans la même session, chaque itération de trace génère un fichier de suivi distinct dans le magasin d'objets Cloud. Pour éviter de remplacer les traces précédentes générées au cours de la session, les fichiers suivants générés respectent la même convention d'attribution de nom et un suffixe numérique est ajouté au nom du fichier de suivi. Ce suffixe numérique commence par le numéro 1 et est incrémenté de 1 pour chaque itération suivante du traçage.Par exemple, voici un exemple de nom de fichier de suivi généré lorsque vous réglez l'identificateur de client à "sql_test" et le nom de module à "modname" :
sqltrace/sqlt_test/modname/sqltrace_5415_56432.trc
Vous pouvez exécuter TKPROF pour traduire le fichier de suivi en un fichier de sortie lisible.
Voir les données de trace dans la vue SESSION_CLOUD_TRACE sur Autonomous AI Database
SESSION_CLOUD_TRACE de la session où le traçage a été activé.
SESSION_CLOUD_TRACE. La vue SESSION_CLOUD_TRACE comprend deux colonnes : ROW_NUMBER et TRACE.DESC SESSION_CLOUD_TRACE
Name Null? Type
---------- ----- ------------------------------
ROW_NUMBER NUMBER
TRACE VARCHAR2(32767)ROW_NUMBER indique l'ordre des données de trace situées dans la colonne TRACE. Chaque ligne de sortie de traçage écrite dans un fichier de suivi devient une rangée dans la table et est disponible dans la colonne TRACE.
Après avoir désactivé le traçage SQL pour la session, vous pouvez exécuter des interrogations sur la vue SESSION_CLOUD_TRACE.
SELECT trace FROM SESSION_CLOUD_TRACE ORDERBY row_number;Les données de SESSION_CLOUD_TRACE sont conservées pendant toute la durée de la session. Une fois la session déconnectée ou fermée, les données ne sont plus disponibles.
Si la trace SQL est activée et désactivée plusieurs fois dans la même session, SESSION_CLOUD_TRACE affiche les données de trace pour toutes les itérations de manière cumulative. Ainsi, la réactivation du traçage dans une session après l'avoir désactivé ne supprime pas les données de trace produites par l'itération précédente.