DBAtlas · Atlas d'exploitation des bases de données

Surveiller l'historique d'exécution et les échecs des jobs du scheduler

OracleScheduler

Commande

-- 1) Recent runs: duration, CPU, error code and message
SELECT owner, job_name, status, error#,
       TO_CHAR(actual_start_date,'YYYY-MM-DD HH24:MI:SS') AS started,
       run_duration, cpu_used,
       SUBSTR(additional_info, 1, 200) AS info
FROM   dba_scheduler_job_run_details
WHERE  owner = 'CUSTOMER_APP'
ORDER  BY actual_start_date DESC
FETCH FIRST 20 ROWS ONLY;

-- 2) Failures in the last 24 hours (whole DB):
SELECT owner, job_name, error#, actual_start_date, SUBSTR(errors, 1, 300) AS errors
FROM   dba_scheduler_job_run_details
WHERE  status <> 'SUCCEEDED'
  AND  log_date > SYSTIMESTAMP - INTERVAL '1' DAY
ORDER  BY log_date DESC;

-- 3) Currently running:
SELECT owner, job_name, session_id, running_instance, elapsed_time, cpu_used
FROM   dba_scheduler_running_jobs;

-- 4) Lifecycle events (ENABLE/DISABLE/RUN/STOP...):
SELECT log_date, owner, job_name, operation, status
FROM   dba_scheduler_job_log
WHERE  owner = 'CUSTOMER_APP'
ORDER  BY log_date DESC
FETCH FIRST 20 ROWS ONLY;

-- Log retention (days): EXEC DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('log_history', '30');

Ce que fait la commande

Liste, depuis les vues de journal du scheduler, l'heure de début, la durée, l'utilisation CPU, l'état et le message d'erreur de chaque exécution, ainsi que les jobs en cours et les événements du cycle de vie des jobs.

Quand l'utiliser

Lorsqu'un job nocturne ne s'est pas exécuté ou a duré trop longtemps, pour le suivi des SLA des jobs, et lors de la définition de règles d'échec dans un système de supervision (OEM/Zabbix/Prometheus).

Attention

Lecture seule ; aucune licence requise. La rétention par défaut des journaux est de 30 jours, et les jobs avec logging_level OFF ne produisent aucun enregistrement. La colonne ERRORS existe en 12c+ ; dans les versions plus anciennes, consultez ADDITIONAL_INFO. En RAC, RUNNING_INSTANCE indique quel nœud a exécuté le job.

Ouvrir dans DBAtlas →

Voir aussi