March 20
Database Oracle offre un metodo molto robusto, potente e personalizzabile per i lavori di pianificazione. A un livello base, un lavoro Oracle è un blocco di PL / SQL, il linguaggio di programmazione di Oracle, codice che viene pianificata l'esecuzione in un momento particolare. orari di lavoro possono essere molto intricato e il codice corsa per un lavoro Oracle possono essere di base come una dichiarazione di inserimento di una riga o di una procedura / SQL 10.000 linea PL. Per il bene di questo esempio, le specifiche del codice PL / SQL in esecuzione è irrilevante in quanto affronterà determinare la causa di processi non riusciti Oracle.
1 Utilizzare il built in DBMS_SCHEDULER pacchetto per creare il lavoro. Supponendo che l'effetto desiderato è quello di eseguire la procedura apps.do_something ogni giorno alle 14:00 si sarebbe simile a questa:
INIZIO
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'example_job',
JOB_TYPE => 'STORED_PROCEDURE',
job_action => 'apps.do_something',
data_iniziale => '20 -DEC-10 02.00.00 PM ',
repeat_interval => 'FREQ = DAILY,
Commenti => 'commenti lavoro qui »);
FINE;
/
2 Visualizzare il registro di lavoro per i messaggi di successo o di errore. Per impostazione predefinita, Oracle registra lo stato dei lavori in vista del dizionario dati DBA_SCHEDULER_JOB_LOG. In alternativa, se il lavoro è specifico per l'utente corrente, USER_SCHEDULER_JOB_LOG può essere interrogato. Una query esempio di questa vista è il seguente:
SELEZIONE timestamp, job_name, job_class, il funzionamento, stato da cui USER_SCHEDULER_JOB_LOG job_name = 'example_job';
3 Visualizzare le informazioni dettagliate sul processo. Per i lavori elencati con l'operazione definita come RUN, RETRY_RUN o RECOVERY_RUN nella vista DBA / USER_SCHEDULED_JOB_LOG, Oracle fornisce ulteriori dettagli in USER_SCHEDULED_JOB_RUN_DETAILS o DBA_SCHEDULED_JOB_RUN_DETAILS. Per esempio:
SELEZIONE TIMESTAMP, job_name, lo stato, ADDITIONAL_INFO
DA DOVE user_scheduler_job_run_details job_name = 'example_job'