Fonctionnalités de hautes performances dans Autonomous AI Database sur une infrastructure Exadata dédiée

Cet article décrit les principales fonctionnalités de réglage des performances dans la base de données Autonomous AI sur une infrastructure Exadata dédiée.

Notez que tout au long de cette section, le terme "vous" est largement utilisé pour désigner tout utilisateur de votre organisation qui a la responsabilité d'effectuer certaines tâches. Dans certains cas, c'est le DBA de l'application, dans d'autres, c'est le développeur de l'application.

Autonomous AI Database inclut plusieurs fonctionnalités qui surveillent, analysent et optimisent automatiquement les performances de votre base de données. Pour plus d'informations sur les fonctions de réglage SQL et de gestion des performances d'Oracle Autonomous AI Database, ainsi que sur leur utilisation, reportez-vous au Guide de réglage SQL Oracle Database 19c ou au Guide de réglage SQL Oracle Database 26ai.

Vous pouvez voir une catégorisation étendue des principales fonctionnalités de réglage des performances d'Autonomous AI Database décrites ci-dessous.

Description de l'illustration hp_features.svg

Services de base de données prédéfinis

La méthode de connexion de votre application à votre base de données et de codage des appels SQL vers la base de données détermine les performances globales des opérations de traitement des transactions et de génération de rapports de l'application.

Lorsque vous établissez des connexions à votre base de données Autonomous AI, les performances de l'interaction de votre application avec la base de données dépendent du service de base de données auquel vous vous connectez. Autonomous AI Database fournit plusieurs ensembles de services de base de données à utiliser lors de la connexion à la base de données. Ces services d'accès sont conçus pour prendre en charge différents types d'opération de base de donnée, tel que décrit dans Noms de service de base de donnée prédéfinis pour les bases de donnée autonomes.

A savoir : Vérifiez les caractéristiques clés des services de base de données prédéfinis et la table qui compare les différents ensembles de services de base de données en fonction de ces caractéristiques afin de décider quel service de base de données est le plus adapté aux exigences de performances de votre application.

Pools de connexions

Lorsque vous établissez des connexions à votre base de données Autonomous AI, vous pouvez utiliser des pools de connexions pour réduire la surcharge de performances liée à la création et à la destruction répétées de connexions individuelles. Il s'agit d'un autre facteur qui a un impact important sur les performances de l'interaction de votre application avec la base de données.

Très souvent, l'utilisation de pools de connexions est envisagée uniquement lors de la conception ou de l'amélioration d'une application afin d'assurer une disponibilité continue. Toutefois, l'utilisation de pools de connexions au lieu de connexions individuelles peut profiter à presque toutes les applications de traitement des transactions. Un pool de connexions présente les avantages suivants :

Fonctionnalités de connexion à usage spécial

Oracle Net Services (anciennement SQL*Net) fournit diverses fonctionnalités de connexion qui améliorent les performances dans des scénarios de connexion spécifiques. Ces fonctionnalités sont décrites dans le Guide de l'administrateur Oracle Database 19c Net Services ou dans le Guide de l'administrateur Oracle Database 26ai Net Services.

Fonctionnalités de réglage des performances SQL

Une application de qualité commence par un code SQL bien écrit. Oracle Autonomous AI Database propose de nombreuses fonctionnalités qui permettent de créer des applications hautes performances et de valider votre code SQL et PL/SQL. Certaines de ces fonctionnalités sont répertoriées ci-dessous :

Au fur et à mesure que vous développez votre application, vous pouvez rapidement apprendre comment ces fonctionnalités affectent le code SQL que vous écrivez. Vous pouvez donc améliorer votre code à l'aide de SQL Worksheet fourni par Oracle Database Actions (intégrée à votre base de données Autonomous AI) et Oracle SQL Developer (une application gratuite que vous installez sur votre système de développement).

Fonction de trace SQL

Lorsqu'une opération d'application prend plus de temps que prévu, l'obtention d'une trace de toutes les instructions SQL exécutées dans le cadre de cette opération avec des détails tels que le temps passé par cette instruction SQL dans les phases d'analyse, d'exécution et d'extraction vous aidera à identifier et à résoudre la cause du problème de performances. Pour ce faire, vous pouvez utiliser la fonction de trace SQL sur une base de données Autonomous AI.

La fonction de trace SQL est désactivée par défaut dans la base de données Autonomous AI. Vous devez l'activer pour commencer à collecter les données de trace SQL. Pour obtenir des instructions détaillées sur l'activation et l'utilisation de la fonction de trace SQL, voir Utiliser la fonction de trace SQL sur la base de données Autonomous AI.

Statistiques de l'optimiseur

Autonomous AI Database collecte automatiquement des statistiques d'optimiseur afin que vous n'ayez pas à effectuer cette tâche manuellement et pour veiller à ce que vos statistiques soient mises à jour. La Collecte automatique des statistiques est activée dans Autonomous AI Database et exécutée dans une fenêtre de maintenance standard.

Remarque : pour plus d'informations sur les durées des fenêtres de maintenance et la collecte automatique des statistiques d'optimiseur, reportez-vous au Guide de l'administrateur Oracle Database 19c ou au Guide de l'administrateur Oracle Database 26ai. Pour plus d'informations sur les statistiques d'optimiseur, reportez-vous au Guide de réglage SQL Oracle Database 19c ou au Guide de réglage SQL Oracle Database 26ai.

Conseils de l'optimiseur

Les conseils pour l'optimiseur sont des commentaires spéciaux dans une instruction SQL qui transmettent des directives à l'optimiseur. L'optimiseur s'appuie sur les conseils afin de choisir un plan d'exécution pour l'instruction, sauf si une condition l'en empêche.

La base de données Autonomous AI par défaut pour l'optimiseur et les conseils PARALLEL diffèrent en fonction de la charge globale :

Indexation automatique

L'indexation automatique automatise les tâches de gestion des index dans la base de données Autonomous AI. L'indexation automatique est désactivée par défaut dans la base de données Autonomous AI.

La création manuelle d'index requiert une connaissance approfondie du modèle de données, de l'application et de la distribution des données. Par le passé, les DBA étaient chargés de déterminer les index à créer, mais parfois, ils ne révisaient pas leurs choix ou ne tenaient pas à jour les index par la suite, au fil des changements de conditions. En conséquence, des opportunités d'amélioration se perdaient et l'utilisation d'index inutiles pouvait dégrader les performances.

La fonctionnalité d'indexation automatique de la base de données Autonomous AI surveille la charge globale d'application, et crée et tient à jours automatiquement les index.

Conseil : pour commencer par tester la méthode ci-après, suivez l'exercice 14 sur l'indexation automatique dans l'atelier Oracle Autonomous AI Database Dedicated pour le développeur et les utilisateurs de base de donnée.

Activer l'indexation automatique

Désactiver l'indexation automatique

Utilisez la procédure DBMS_AUTO_INDEX.CONFIGURE pour désactiver l'indexation automatique. Par exemple, l'exécution de l'instruction ci-dessous désactive l'indexation automatique dans une base de données afin qu'aucun nouvel index automatique ne soit créé. Toutefois, les index automatiques existants restent activés.

EXEC DBMS_AUTO_INDEX.CONFIGURE('AUTO_INDEX_MODE','OFF');

Pour plus d'informations, reportez-vous à Gestion des index automatiques dans le Guide de l'administrateur Oracle Database 19c ou dans le Guide de l'administrateur Oracle Database 26ai.

Assimilation rapide

L'ingestion rapide optimise le traitement des insertions de données monolignes à haute fréquence dans une base de données. L'inclusion rapide utilise la zone de mémoire LARGE POOL pour mettre en mémoire tampon les insertions avant de les écrire sur disque, afin d'améliorer les performances d'insertion de données.

L'objectif du fast-ingest est de prendre en charge les applications qui génèrent beaucoup de données d'information qui ont une valeur importante dans l'agrégat, mais qui ne nécessitent pas nécessairement des garanties ACID complètes. De nombreuses applications de l'Internet of Things (IoT) ont une charge de travail de type "feu et oubli" rapide, comme les données des capteurs, les données des compteurs intelligents ou même les caméras de trafic. Pour ces applications, les données peuvent être collectées et écrites dans la base de données en volumes importants pour une analyse ultérieure.

L'inclusion rapide est très différente du traitement normal des transactions Oracle AI Database, où les données sont consignées et ne sont jamais perdues une fois "écrites" dans la base de données (c'est-à-dire validées). Pour atteindre le débit d'inclusion maximal, les mécanismes de transaction Oracle normaux sont ignorés. Il incombe à l'application de vérifier que toutes les données ont bien été écrites dans la base de données. Des API spéciales ont été ajoutées qui peuvent être appelées pour vérifier si les données ont été écrites dans la base de données.

Pour obtenir une présentation de l'inclusion rapide et des étapes à suivre pour utiliser cette fonctionnalité, reportez-vous à Utilisation de l'inclusion rapide dans le Guide de réglage des performances Oracle Database 19c ou Guide de réglage des performances Oracle Database 26ai.

Pour utiliser l'ingestion rapide avec votre base de données d'IA autonome, vous devez :

Classes de travail prédéfinies avec Oracle Scheduler

Autonomous AI Database inclut des valeurs job_class prédéfinies à utiliser avec Oracle Scheduler. Ces classes de travail vous permettent de regrouper les travaux qui partagent des caractéristiques et un comportement communs dans des entités plus grandes afin de pouvoir hiérarchiser ces classes en contrôlant les ressources allouées à chaque classe.

Avec les classes de travail prédéfinies, vous pouvez vous assurer que vos travaux critiques ont la priorité et suffisamment de ressources pour être terminés. Par exemple, pour un projet critique de chargement d'un data warehouse, vous pouvez combiner tous les travaux d'entreposage de données en une seule classe et le classer par ordre de priorité par rapport aux autres travaux en allouant un pourcentage élevé des ressources disponibles. Vous pouvez également affecter des priorités relatives aux travaux d'une classe de travail.

Les valeurs job_class prédéfinies, TPURGENT, TP, HIGH, MEDIUM et LOW sont mises en correspondance avec les groupes de consommateurs de ressources correspondants. Ces classes de travail vous permettent d'indiquer le groupe de consommateurs de ressources dans lequel un travail est exécuté avec DBMS_SCHEDULER.CREATE_JOB.

La procédure DBMS_SCHEDULER.CREATE_JOB prend en charge les types de travail PLSQL_BLOCK et STORED_PROCEDURE pour le paramètre job_type dans la base de données Autonomous AI.

Par exemple, utilisez ce qui suit pour créer un travail standard unique à exécuter dans le groupe de consommateurs de ressources HIGH :

BEGIN
   DBMS_SCHEDULER.CREATE_JOB (
     job_name => 'update_sales',
     job_type => 'STORED_PROCEDURE',
     job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
     start_date => '28-APR-19 07.00.00 PM Australia/Sydney',
     repeat_interval => 'FREQ=DAILY;INTERVAL=2',
     end_date => '20-NOV-19 07.00.00 PM Australia/Sydney',
     auto_drop => FALSE,
     job_class => 'HIGH',
     comments => 'My new job');
END;
/

Remarques pour Oracle Scheduler :

Pour plus d'informations sur Oracle Scheduler et DBMS_SCHEDULER.CREATE_JOB, reportez-vous à Planification de travaux avec Oracle Scheduler dans Oracle Database 19c ou Oracle Database 26ai .

Pour plus d'informations sur les attributs de travail, reportez-vous à Procédure SET_ATTRIBUTE dans Oracle Database 19c ou Oracle Database 26ai.

Outils de surveillance et de réglage des performance

Plusieurs situations peuvent entraîner des problèmes de performances des applications, telles que la modification de la charge de travail, les limites de ressources sur les serveurs d'applications et de bases de données, ou simplement des goulets d'étranglement réseau. Oracle propose un large éventail d'outils pour vous aider à surveiller les performances, à diagnostiquer les problèmes de performances, et à régler l'application ou la base de données afin de résoudre le problème. Certains d'entre eux sont répertoriés ci-dessous :

Outil Détails
Hub de performances Outil riche en fonctionnalités disponible dans la console Oracle Cloud Infrastructure (OCI). Le hub de performances est également intégré à Oracle Database Actions et Oracle Enterprise Manager.

Pour plus d'informations, reportez-vous à Surveillance des performances de base de données avec le hub de performances.
Mesures de base de données d'IA autonome Les mesures de la base de données Autonomous AI permettent d'évaluer des données quantitatives utiles, telles que l'utilisation de l'UC et du stockage, le nombre de tentatives d'ouverture de session de la base de données ayant réussi et échoué, les opérations de base de données, les requêtes SQL, les transactions, etc. Vous pouvez utiliser les données de mesure pour diagnostiquer et résoudre les problèmes liés aux ressources de base de données d'IA autonome.

Pour plus d'informations sur les prérequis, l'utilisation et la liste des mesures disponibles pour Autonomous AI Database on Dedicated Exadata Infrastructure, reportez-vous à Surveillance des bases de données avec des mesures de base de données Autonomous AI.
Référentiel AWR et moniteur de diagnostic de base de données automatique (ADDM) Deux autres outils couramment utilisés sont le référentiel AWR (Automatic Workload Repository) et le moniteur ADDM (Automatic Database Diagnostic Monitor).

Le référentiel AWR stocke des statistiques relatives aux performances d'une base de données Oracle. Il s'agit d'un outil de diagnostic qui analyse régulièrement les données AWR, détermine les causes premières de tout problème de performances, fournit des recommandations pour corriger les problèmes et identifie les parties non problématique du système. Etant donné que le référentiel AWR est un référentiel de données de performances historiques, le moniteur ADDM peut analyser les problèmes de performances après l'événement, ce qui permet souvent d'économiser du temps et des ressources lors de la reproduction d'un problème.

Pour obtenir des instructions sur l'utilisation de ces outils, ainsi que des informations détaillées sur la surveillance et le réglage des performances de base de données, reportez-vous au Guide de réglage des performances Oracle Database 19c ou au Guide de réglage des performances Oracle Database 26ai.

Le référentiel AWR et le moniteur ADDM sont également disponibles à partir du hub de performances. Pour plus d'informations, reportez-vous à Surveillance des performances de base de données avec le hub de performances.

Pour une présentation rapide de la surveillance et du réglage des performances de base de données, reportez-vous au Guide de réglage des performances + Oracle Database 19c 2 jours ou au Guide de réglage des performances + Oracle Database 26ai 2 jours.