Blog

Blog

Statspack ou l'ancêtre d'AWR

Hé oui, statspack a été remplacé par AWR (Automatic Workload Repository), mais cette fonctionnalité fait partie du diagnostic pack qui est une option même pour la version Enterprise. (Il faut d'ailleurs faire un peu attention, car cette fonctionnalité est installée même si elle n'a pas été payée...)
Pour ne pas payer ou risquer d'être en infraction, il reste le statspack. je n'ai aps trouvé de vraie doc sur ce statspck en 11g, mais sachez que la doc 9i est toujours d'actualité.

Installer Statspack

Hé oui, contrairement à AWR, il faut l'installer avant de l'utiliser. Autant vous dire que vous ne pourrez jamais sortir un rapport sur ce qu'il s'est passé hier sur la base de production...
Pour installer statspack, il suffit de lancer le script spcreate.sql qui se trouve sous $ORACLE_HOME/rdbms/admin.
sqlplus / as sysdba @?/rdbms/admin/spcreate
Le script devrait vous demander certaines informations comme le mot de passe du user perfstat, le tablespace d'espace temporaire et le tablespace par défaut du user perfstat.

Et c'est tout!

Faire un snapshot

Pour faire un snapshot, il suffit de lancer le script suivant (après s'être connecté avec le user perfstat) :
EXECUTE statspack.snap;

Faire un rapport

Pour faire un rapport, il faut lancer le script suivant (toujours connecté avec le user perfstat) :
@?/rdbms/admin/spreport
Ensuite, on peut analyser plus avant un ordre SQL en fournissant le hash value de la requête SQL au script suivant
@?/rdbms/admin/sprepsql

Programmer des snapshots réguliers

Comme on ne prévient pas quand on va en avoir besoin, il vaut mieux passer régulièrement des snapshots. Pour ça, on peut soit créer un script qui génère les snapshots et le lancer via un scheduler quelconque, soit utiliser Oracle pour les lancer. je préfère utiliser Oracle :-). En 9i, on utilisera DBMS_JOB, à partir de la 10g, on préfèrera DBMS_SCHEDULER.