L’une des grandes forces d’Oracle est la panoplie d’outils qu’il propose, notamment l’Automatic Worload Repository. Comme son nom l’indique, il collecte et stocke les données sur l’utilisation de la base, autant sur les requêtes effectuées que les ressources utilisées. C’est évidemment un outil très utile dans le cas d’étude de performance et d’optimisation de base de données.
Activation
Pour activer la surveillance et la prise de ‘snapshots’, il faut d’abord exécuter la commande suivante dans sqlplus (évidemment avec un compte admin) :
1 |
execute dbms_workload_repository.modify_snapshot_settings (retention=>43200, interval=>10); |
Les deux paramètres de la procédure sont en minutes, et configure la fréquence des snapshots (10 minutes ici) et la durée de rétention (30 jours).
Création d’un rapport
Pour consulter la liste des snapshots disponibles :
1 2 3 |
SELECT snap_id, begin_interval_time, end_interval_time FROM dba_hist_snapshot ORDER BY 1; |
Pour générer un rapport :
1 |
@%ORACLE_HOME%/rdbms/admin/awrrpti.sql |
Il vous sera demandé les snapshots de début et de fin du rapport pour déterminer la période à étudier avant de vous générer un html très complet.
On y trouve les resources consommées (CPU, mémoire, I/O…), les requêtes les plus coûteuses, les plus longues, les plus consultées etc… Bref, tout ce qu’il faut pour une étude de performance de la base !