Een datawarehouse-achtige database heeft zo’n 278 scheduler_jobs lopen. Database gaat down voor onderhoud, blijft een avondje uit. Na opstarten van de database blijkt dat de next_run_date van de meeste jobs kleiner is dan de sysdate, en de jobs niets meer doen.

Blijkt dat de jobs even allemaal ge-disabled en weer ge-enabled moeten worden. Dan gaat het allemaal weer draaien.  Op sql-niveau zoiets als:

exec dbms_scheduler.disable(‘”DWHS_BASIS”.”J00_ODIN_OOL00_OPL_VESTIGING”‘);     (1 enkele quote aan begin, en 1 aan eind, daartussen dubbele quotes).

Wannneer je dat script (disable_sched_jobs.gen b.v.), 3 enkele quotes om 1 quote te krijgen( ‘ ‘ ‘), en de dubbele quotes moeten tussen 2 enkele quotes staan om een dubbele quote te krijgen (‘ ” ‘) – kunt u het nog volgen… :-) :

set pagesize 0
set heading off
set feedback off
spool disable_sched_jobs.sql
select ‘exec dbms_scheduler.disable(”’||'”‘||owner||'”‘||’.’||'”‘||job_name||'”‘||””||’);’ from dba_scheduler_jobs
where next_run_date < sysdate
and enabled=’TRUE’
and state not in (‘RUNNING’)
and state in (‘SCHEDULED’)
and owner like ‘DWHS%’
/
spool off

m4s0n501