資料庫job
① oracle中job的使用是怎樣的
在Oracle資料庫中,設置初始化參數以管理後台進程至關重要。例如,可以通過如下sql語句調整job_queue_processes參數:sql> alter system set job_queue_processes=n; 其中n應大於0,且最大值為1000。要查看後台進程的狀態,可以執行如下查詢:sql> select name,description from v$bgprocess;
Oracle提供了dbms_job包來管理作業。該包包含多個子過程,如Broken()、change()、interval()、isubmit()、next_date()、remove()、run()、submit()和user_Export()、what()等。這些過程用於執行各種任務,如更新作業狀態、修改作業設置和運行作業。
Broken()過程用於更新作業狀態,通常用於標記作業為未破。它接受三個參數:job、broken和next_date。PROCEDURE Broken (job IN binary_integer,BrokenIN boolean,next_date IN date :=SYSDATE)。job參數是作業號,唯一標識作業;broken參數指示作業是否應標記為破,TRUE表示破,FALSE表示未破;next_date參數指定下次運行時間,默認為當前時間。如果作業由於某些原因未能成功執行,Oracle將重試16次。若重試後仍未成功,作業將被標記為broken狀態。重新啟動broken狀態的作業可通過兩種方式實現:a、使用dbms_job.run()立即執行該作業;b、使用dbms_job.broken()將broken標記為false。
Change()過程用於更改指定作業的設置。它接受四個參數:job、what、next_date和interval。PROCEDURE Change (jobIN binary_integer,What IN varchar2,next_dateIN date,interval IN varchar2)。job參數是一個整數,唯一標識作業;what參數是指定由作業運行的PL/SQL代碼塊;next_date參數指示作業何時執行;interval參數指示作業重執行的頻率。
② oracle資料庫中怎麼看job跑沒跑完
dba_jobs_running,這張表內沒有一般就是跑完了。可以查一下dba_jobs看一下最後運行時間確認。
當然要是schele-job那麼在這張表內是查不到的,要去dba_scheler_jobs裡面查。還有一個 user_scheler_job_run_details這里可以查詢scheler_job的運行情況。