? The Oracle Database tilbyder en meget robust, kraftfuld og tilpasselig metode til planlægning job. På et grundlæggende niveau, er en Oracle job en blok af PL /SQL, Oracle programmeringssprog, kode, der er planlagt til at køre på et bestemt tidspunkt . Job tidsplaner kan være meget indviklet og koden køres i et Oracle job kan være så grundlæggende som en én linje indsætte erklæring eller en 10.000 linie PL /SQL-procedure . Af hensyn til dette eksempel , er detaljerne i PL /SQL-kode , der køres irrelevant , da det vil tage at bestemme årsagen til mislykkedes Oracle job. Ting du skal
Oracle 11g Databaase
SYSDBA tilladelser
Vis Flere Instruktioner
1
Brug den indbyggede pakken DBMS_SCHEDULER at skabe job. Antages det, at den ønskede virkning er at køre proceduren apps.do_something hver dag kl 02:00 det ville se sådan ud : Hej
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name = > ' example_job '
job_type => ' STORED_PROCEDURE '
job_action => ' apps.do_something '
start_dato => '20 - december -10 02.00.00 PM ' ,
repeat_interval =>' FREK = dagligt,
kommentarer = > ' job kommentarer her ');
END ; < br >
/
2
Se jobloggen for succes eller fejlmeddelelser. Som standard logger Oracle jobstatus i DBA_SCHEDULER_JOB_LOG datakataloget view. Alternativt hvis jobbet er specifik for den aktuelle bruger , kan USER_SCHEDULER_JOB_LOG forespørges . Et eksempel forespørgsel for dette synspunkt er som følger : Hej
SELECT tidsstempel , job_name , job_class , drift , status FROM USER_SCHEDULER_JOB_LOG hvor job_name = ' example_job «
3
vist detaljerede information om jobbet. For jobs listede med operationen er defineret som RUN, RETRY_RUN eller RECOVERY_RUN i DBA /USER_SCHEDULED_JOB_LOG opfattelse giver Oracle yderligere detaljer i USER_SCHEDULED_JOB_RUN_DETAILS eller DBA_SCHEDULED_JOB_RUN_DETAILS . For eksempel : Hej
SELECT TIMESTAMP , job_name , status, ADDITIONAL_INFO
FROM user_scheduler_job_run_details WHERE job_name = ' example_job '