Sp auto 30
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Type | Script SQL*Plus de diagnostic (Statspack) |
| Voir aussi | Sp auto 5 · Sp snap · Sp statspack custom pkg 10g |
Sp auto 30 planifie, via DBMS_JOB, un job qui déclenche un snapshot Statspack (statspack.snap) toutes les 30 minutes, aligné sur les demi-heures pleines (xx:00 / xx:30 précises).
Le script se connecte au compte propriétaire du repository Statspack (généralement PERFSTAT) puis soumet le job. Il faut que le paramètre d'instance job_queue_processes soit supérieur à 0, sinon le job ne sera jamais exécuté.
Pour une fréquence différente, voir Sp auto 5 (5 minutes). Une alternative packagée, plus lisible et réutilisable, est proposée dans Sp statspack custom pkg 10g / Sp statspack custom pkg 9i (procédure snap_schedule_30).
Script
-- Planifie un job DBMS_JOB déclenchant statspack.snap toutes les 30 minutes,
-- aligné sur les demi-heures pleines (xx:00 / xx:30).
-- 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'))/30)+1)*30)/(24*60)
, 'TRUNC(sysdate,''HH24'')+((FLOOR(TO_NUMBER(TO_CHAR(sysdate,''MI''))/30)+1)*30)/(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
- Sp auto 5 — même principe, snapshot toutes les 5 minutes
- Sp snap — snapshot manuel unique
- Sp statspack custom pkg 10g — package encapsulant la planification et la purge
- Sp list — lister les snapshots générés