oracle job 介紹
1. Enable job queue
SQL> alter system enable restrict session;
2. make sure oracle has set the job queue parameter
in orcl(oracle sid).ora,
need to add
job_queue_process = N (process number)
job_queue_interval= N (awake interval)
3. add job to job queue
dbms_job.summit(jobnumber, procedure+parameter,whentorun, next_run_interval)
If next_run_interval is null, then the job will be deleted from queue after running.
next_run_interval will be set as sysdate+interval_time.
sysdate+1/48 = 半小時一次 (1×24×60/48=30min)
sysdate+1/360 = 4分鐘一次(1×24×60/360=4min)
4. run the job
SQL>; grant execute on dbms_job to scott;
begin
dbms_job.run(47); --47 is job number in user_jobs
end;
5.check job result
sql>select job,next_date,next_sec,failures,broken from user_jobs;
job next_date next_sec failures broken
300 2000/10/10 11:45:15 0 N
這表示任務號為300的任務,下一次將在2000/10/10 11:45:15執行,此任務的執行失敗記錄為0次。注意:當執行job出現錯誤時,Oracle將其記錄在日誌裡,失敗次數每次自動加1。當執行失敗次數達到16時,Oracle就將該job標誌為broken。此後,Oracle不再繼續執行它,直到使用者呼叫過程dbms_job.broken,重新設定為not broken,或強制呼叫dbms_job.run來重新執行它。
dbms_job.change 、 dbms_job.what、dbms_job.interval可以用來修改提交的任務。要想刪除該任務,只需執行dbms_job.remove(n)即可,其中n為任務號。
以下的文章主要是介紹 Oracle job的用法的實際操作步驟,本文主要告訴你在在進行Oracle job中,如何設定初始化的引數job_queue_processes,以及相關重要步驟的詳細解析,以下就是文章的詳細介紹。
一、設定初始化引數job_queue_processes
- sql> alter system set job_queue_processes=n;(n>0)
- job_queue_processes
最大值為1000
檢視job queue 後臺程式
- sql>select name,description from v$bgprocess;
二,dbms_job package 用法介紹
包含以下子過程:
Broken()過程。
change()過程。
Interval()過程。
Isubmit()過程。
Next_Date()過程。
Remove()過程。
Run()過程。
Submit()過程。
User_Export()過程。
What()過程。
1、在Oracle job的用法中Broken()過程更新一個已提交的工作的狀態,典型地是用來把一個已破工作標記為未破工作。
這個過程有三個引數:job 、broken與next_date。
- PROCEDURE Broken (job IN binary_integer,
- BrokenIN boolean,
- next_date IN date :=SYSDATE)
job引數是工作號,它在問題中唯一標識工作。
broken引數指示此工作是否將標記為破――TRUE說明此工作將標記為破,而FLASE說明此工作將標記為未破。next_date引數指示在什麼時候此工作將再次執行。此引數預設值為當前日期和時間。
job如果由於某種原因未能成功之行,Oracle將重試16次後,還未能成功執行,將被標記為broken重新啟動狀態為broken的job,有如下兩種方式;
a、利用dbms_job.run()立即執行該job
- sql>begin
- sql>dbms_job.run(:jobno)
該jobno為submit過程提交時返回的job number
- sql>end;
- sql>/
b、利用dbms_job.broken()重新將broken標記為false
- sql>begin
- sql>dbms_job.broken (:job,false,next_date)
- sql>end;
- sql>/
以上的相關內容就是對Oracle job的用法的部分介紹,望你能有所收穫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23895263/viewspace-676493/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE OWI介紹Oracle
- ORACLE ORION介紹Oracle
- oracle VPD介紹Oracle
- Oracle recyclebin介紹Oracle
- ORACLE鎖介紹Oracle
- Oracle ACE 介紹Oracle
- Oracle Spatial 介紹Oracle
- oracle jobOracle
- Oracle DRM原理介紹Oracle
- Oracle ADR介紹Oracle
- Oracle BBED 工具介紹Oracle
- Oracle RAC 概念介紹Oracle
- 【轉】Oracle ASM介紹OracleASM
- ORACLE函式介紹Oracle函式
- ORACLE TSPITR 介紹Oracle
- Oracle dblink介紹Oracle
- Oracle Data Guard 介紹Oracle
- Oracle biee 中文介紹Oracle
- Oracle Data Integrator 介紹...Oracle
- Oracle DBV 工具 介紹Oracle
- Oracle 常用HINT介紹Oracle
- 介紹oracle外部表Oracle
- Oracle x$table介紹Oracle
- ORACLE 檢視介紹Oracle
- 【Oracle】Opatch 工具介紹Oracle
- 【Oracle】Oracle logminer功能介紹Oracle
- oracle建立job並執行jobOracle
- 「Oracle」Oracle高階查詢介紹Oracle
- Oracle 統計資訊介紹Oracle
- ORACLE MTS的介紹(zt)Oracle
- Oracle補丁介紹一Oracle
- oracle常用函式介紹Oracle函式
- 【NULL】Oracle null值介紹NullOracle
- Oracle CRS/GI 程式介紹Oracle
- Oracle Directory(目錄)介紹Oracle
- Oracle分割槽表介紹Oracle
- oracle lob 簡單介紹Oracle
- Oracle字符集介紹Oracle