? The Oracle Database tilbyr en meget robust , kraftig og passelig 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 . Job tidsplaner kan være svært intrikate og koden kjøres for en Oracle jobb kan være så grunnleggende som en en linje sette inn setningen eller en 10.000 linjer PL /SQL-prosedyre . For å få til dette eksempelet , er detaljene i PL /SQL -koden som kjøres irrelevant som det vil ta å finne årsaken til mislykket Oracle jobber. Du trenger
Oracle 11g Databaase
SYSDBA tillatelser
Vis flere instruksjoner
en
Bruk den innebygde pakke DBMS_SCHEDULER å skape jobben. Forutsatt at den ønskede effekten er å kjøre prosedyren apps.do_something hver dag klokken 02:00 vil det se slik ut : en
START
DBMS_SCHEDULER.CREATE_JOB (
job_name = > ' example_job ' , etter
job_type = > ' STORED_PROCEDURE ' , etter
job_action = > ' apps.do_something ' , etter
startdato = > '20 -DES -10 02.00.00 PM ' , etter
repeat_interval = >' FREK = daglig , etter
kommentarer = > ' jobb kommentarer her ');
END ;
/
2
Vis jobben loggen for suksess eller feilmeldinger . Som standard logger Oracle jobbstatus i DBA_SCHEDULER_JOB_LOG data ordbok visning. Alternativt, hvis jobben er spesifikk for den aktuelle brukeren , kan USER_SCHEDULER_JOB_LOG skal spørres . Et eksempel spørring for dette synet er som følger : en
SELECT tidsstempel , job_name , job_class , drift , status FRA USER_SCHEDULER_JOB_LOG hvor job_name = ' example_job ';
3
vise detaljert informasjon om jobben . For jobber oppført med driften definert som RUN , RETRY_RUN eller RECOVERY_RUN i DBA /USER_SCHEDULED_JOB_LOG visning , gir Oracle ekstra detalj i USER_SCHEDULED_JOB_RUN_DETAILS eller DBA_SCHEDULED_JOB_RUN_DETAILS . For eksempel : en
SELECT tidsstempel, job_name , status, ADDITIONAL_INFO
FRA user_scheduler_job_run_details WHERE job_name = ' example_job '