Hvordan finner jeg feil for Oracle jobb Feil?

Oracle Database tilbyr en svært robust, kraftig og tilpasses metode for planlegging jobber. På et grunnleggende nivå, er en Oracle jobb en blokk med PL / SQL, Oracle programmeringsspråk, kode som er planlagt å kjøre på et bestemt tidspunkt. Jobb tidsplaner kan være svært intrikate og kjøre koden for en Oracle jobb kan være så enkelt som en én linje innsats utsagn eller en 10000 linje PL / SQL-prosedyre. For å få til dette eksempelet detaljene i PL / SQL-koden som kjøres er irrelevant ettersom det vil ta å finne årsaken til mislykkede Oracle jobber.

Bruksanvisning

1 Bruk den innebygde i pakken DBMS_SCHEDULER å skape jobben. Forutsatt at den ønskede effekten er å kjøre prosedyren apps.do_something hver dag klokken 14:00 vil det se slik ut:

BEGYNNE

DBMS_SCHEDULER.CREATE_JOB (

job_name => 'example_job',

job_type => 'STORED_PROCEDURE',

job_action => 'apps.do_something',

startdato => '20 -DEC-10 02.00.00 PM ',

repeat_interval => 'FREQ = DAGLIG,

kommentarer => 'jobb kommentarer her');

SLUTT;

/

2 Se jobbloggen for suksess eller feilmeldinger. Som standard Oracle logger jobbstatus i DBA_SCHEDULER_JOB_LOG data ordbok utsikt. Alternativt, hvis jobb er spesifikke for den aktuelle brukeren, USER_SCHEDULER_JOB_LOG kan spørres. Et eksempel spørring for dette synet er som følger:

SELECT tidsstempel, job_name, job_class, drift, status Fra USER_SCHEDULER_JOB_LOG hvor job_name = 'example_job';

3 Se detaljert informasjon om jobben. For jobber oppført med definert som RUN, RETRY_RUN eller RECOVERY_RUN i DBA / USER_SCHEDULED_JOB_LOG visning drift, gir Oracle ytterligere detaljer i USER_SCHEDULED_JOB_RUN_DETAILS eller DBA_SCHEDULED_JOB_RUN_DETAILS. For eksempel:

SELECT TIMESTAMP, job_name, status, ADDITIONAL_INFO

Fra user_scheduler_job_run_details WHERE job_name = 'example_job'