Sp auto 5

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic (Statspack)
Voir aussi Sp auto 30 · Sp snap · Sp statspack custom pkg 10g

Sp auto 5 planifie, via DBMS_JOB, un job qui déclenche un snapshot Statspack (statspack.snap) toutes les 5 minutes, aligné sur les multiples de 5 (xx:00, xx:05, xx:10...).

Même logique que Sp auto 30, avec un intervalle plus fin — utile pour capturer un pic de charge ponctuel sans attendre la demi-heure suivante. Une fréquence aussi élevée gonfle rapidement le repository Statspack : pensez à purger régulièrement avec Sp purge ou Sp purge 30days 10g.

Script

-- Planifie un job DBMS_JOB déclenchant statspack.snap toutes les 5 minutes,
-- aligné sur les multiples de 5 minutes.
-- A exécuter connecté comme propriétaire du repository Statspack (PERFSTAT).
-- Pré-requis : job_queue_processes > 0.

prompt Connexion au compte PERFSTAT (mot de passe demandé) :
connect perfstat

VARIABLE jobno  NUMBER
VARIABLE instno NUMBER

BEGIN
  SELECT instance_number INTO :instno FROM v$instance;

  DBMS_JOB.SUBMIT(
      :jobno
    , 'statspack.snap;'
    , TRUNC(sysdate,'HH24') + ((FLOOR(TO_NUMBER(TO_CHAR(sysdate,'MI'))/5)+1)*5)/(24*60)
    , 'TRUNC(sysdate,''HH24'')+((FLOOR(TO_NUMBER(TO_CHAR(sysdate,''MI''))/5)+1)*5)/(24*60)'
    , TRUE
    , :instno
  );

  COMMIT;
END;
/

prompt Numéro du job créé (à conserver pour le modifier ou le supprimer) :
print jobno

prompt Vérification du paramètre job_queue_processes :
show parameter job_queue_processes

prompt Prochaine exécution planifiée :
SELECT job, next_date, next_sec
FROM   user_jobs
WHERE  job = :jobno;

Voir aussi