Dba jobs

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Script SQL*Plus de diagnostic
Domaine Administration (planification de traitements)

Dba jobs liste tous les jobs enregistrés via l'ancien mécanisme DBMS_JOB (vue dba_jobs) : identifiant, planification, dernière exécution, échecs et statut "cassé" (broken).

DBMS_JOB est l'ordonnanceur historique d'Oracle (pré-10g). Depuis Oracle 10g, DBMS_SCHEDULER (vues dba_scheduler_jobs) est le mécanisme recommandé, plus riche (fenêtres de maintenance, chaînes de jobs, contraintes de ressources...). dba_jobs reste néanmoins pertinent tant que des jobs legacy DBMS_JOB existent encore dans la base — ce qui est fréquent sur des applications anciennes migrées de version en version sans réécriture de leur planification.

Script

SET TERMOUT OFF
COLUMN current_instance NEW_VALUE current_instance NOPRINT
SELECT RPAD(instance_name, 17) current_instance FROM v$instance;
SET TERMOUT ON

PROMPT
PROMPT +------------------------------------------------------------------------+
PROMPT | Report   : Oracle Jobs                                                 |
PROMPT | Instance : &current_instance                                          |
PROMPT +------------------------------------------------------------------------+

SET ECHO      OFF
SET FEEDBACK  6
SET HEADING   ON
SET LINESIZE  180
SET PAGESIZE  50000
SET VERIFY    OFF

COLUMN job       FORMAT 9999999 HEADING 'Job ID'
COLUMN username  FORMAT a20     HEADING 'User'
COLUMN what       FORMAT a30    HEADING 'What'
COLUMN next_date                HEADING 'Next Run Date'
COLUMN interval  FORMAT a30     HEADING 'Interval'
COLUMN last_date                HEADING 'Last Run Date'
COLUMN failures                 HEADING 'Failures'
COLUMN broken    FORMAT a7      HEADING 'Broken?'

SELECT
    job
  , log_user username
  , what
  , TO_CHAR(next_date, 'DD-MON-YYYY HH24:MI:SS') next_date
  , interval
  , TO_CHAR(last_date, 'DD-MON-YYYY HH24:MI:SS') last_date
  , failures
  , broken
FROM dba_jobs;

Colonnes / sortie

  • Job ID — identifiant numérique du job.
  • User — propriétaire (le job s'exécute avec ses privilèges).
  • What — bloc PL/SQL exécuté à chaque déclenchement.
  • Next Run Date / Last Run Date — prochaine et dernière exécution.
  • Interval — expression de rappel (fonction date renvoyant la prochaine exécution, ex. SYSDATE + 1).
  • Failures — nombre d'échecs consécutifs.
  • Broken? — à Y, le job n'est plus automatiquement relancé par le scheduler (typiquement après 16 échecs consécutifs) ; il faut le "réparer" via DBMS_JOB.BROKEN(job, FALSE) après avoir corrigé la cause de l'échec.