begin sys.dbms_job.submit(job => :job,--job標號 what => 'myProc;myProcs;myProcss(''測試'');',//用分號將多個儲存過程分開,有引數的話直接寫就可以了 next_date => to_date('07-04-2011 22:00:00', 'dd-mm-yyyy hh24:mi:ss'),--下一次執行的時間 interval => 'sysdate+1'); --執行的時間隔 commit; end;
oracle job管理
建立測試表
SQL> create table TEST(a int);
表已建立。
建立一個自定義過程
SQL> create or replace procedure MYPROC as
2 begin
3 insert into TEST values(1);
4 end;
5 /
過程已建立。
建立JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,''MYPROC;'',sysdate,''sysdate+1/1440''); --每天1440分鐘,即一分鐘執行test過程一次
3 end;
4 /
PL/SQL 過程已成功完成。
執行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
PL/SQL 過程已成功完成。
SQL> select * from TEST;
a
-------------------
1
1
1
刪除JOB
SQL> begin
2 dbms_job.remove(:job1);
3 end;
4 /
PL/SQL 過程已成功完成。
=======================================
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>/
========================================
SQL> create table a(a date);
Table created
建立一個過程
SQL> create or replace procedure test as
2 begin
3 insert into a values(sysdate);
4 end;
5 /
Procedure created
提交作業
SQL> declare
2 job1 number; //定義一個數字型變數
3 begin
4 dbms_job.submit(:job1,''test;'',sysdate,''sysdate+1/1440''); //按分鐘算一天1440分鐘
5 end;
6 /
PL/SQL procedure successfully completed
job1
---------
4
SQL> commit;
Commit complete
執行作業
SQL> begin
2 dbms_job.run(4);
3 end;
4 /
PL/SQL procedure successfully completed
刪除作業
SQL> begin
2 dbms_job.remove(4);
3 end;
4 /
PL/SQL procedure successfully completed
SQL> commit;
Commit complete
job change//修改作業
execute dbms_job.change(186,null,null,''sysdate+3'');
execute dbms_job.change(186,''scott.test(update)'');
DBA_JOBS
===========================================
欄位(列) 型別 描述
JOB NUMBER 任務的唯一標示號
LOG_USER VARCHAR2(30) 提交任務的使用者
PRIV_USER VARCHAR2(30) 賦予任務許可權的使用者
SCHEMA_USER VARCHAR2(30) 對任務作語法分析的使用者模式
LAST_DATE DATE 最後一次成功執行任務的時間
LAST_SEC VARCHAR2(8) 如HH24:MM:SS格式的last_date日期的小時,分鐘和秒
THIS_DATE DATE 正在執行任務的開始時間,如果沒有執行任務則為null
THIS_SEC VARCHAR2(8) 如HH24:MM:SS格式的this_date日期的小時,分鐘和秒
NEXT_DATE DATE 下一次定時執行任務的時間
NEXT_SEC VARCHAR2(8) 如HH24:MM:SS格式的next_date日期的小時,分鐘和秒
TOTAL_TIME NUMBER 該任務執行所需要的總時間,單位為秒
BROKEN VARCHAR2(1) 標誌引數,Y標示任務中斷,以後不會執行
INTERVAL VARCHAR2(200) 用於計算下一執行時間的表示式
FAILURES NUMBER 任務執行連續沒有成功的次數
WHAT VARCHAR2(2000) 執行任務的PL/SQL塊
CURRENT_SESSION_LABEL RAW MLSLABEL 該任務的信任Oracle會話符
CLEARANCE_HI RAW MLSLABEL 該任務可信任的Oracle最大間隙
CLEARANCE_LO RAW MLSLABEL 該任務可信任的Oracle最小間隙
NLS_ENV VARCHAR2(2000) 任務執行的NLS會話設定
MISC_ENV RAW(32) 任務執行的其他一些會話引數
描述 INTERVAL引數值
每天午夜12點 ''TRUNC(SYSDATE + 1)''
每天早上8點30分 ''TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)''
每星期二中午12點 ''NEXT_DAY(TRUNC(SYSDATE ), ''''TUESDAY'''' ) + 12/24''
每個月第一天的午夜12點 ''TRUNC(LAST_DAY(SYSDATE ) + 1)''
每個季度最後一天的晚上11點 ''TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ''Q'' ) -1/24''
每星期六和日早上6點10分 ''TRUNC(LEAST(NEXT_DAY(SYSDATE, ''''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)''
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22418990/viewspace-716966/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle job管理(zt)Oracle
- Oracle job 管理(轉)Oracle
- oracle DBMS_SCHEDULER_job 管理Oracle
- oracle jobOracle
- oracle建立job並執行jobOracle
- oracle job用法Oracle
- ORACLE查詢JOB資訊及JOB建立Oracle
- 【JOB】Oracle JOB全面學習(DBMS_JOB和DBMS_SCHEDULER)Oracle
- oracle 定義jobOracle
- Oracle JOB的使用Oracle
- Oracle job備忘Oracle
- oracle job的用法Oracle
- oracle job 介紹Oracle
- oracle job 用法2Oracle
- Oracle中的jobOracle
- Oracle中如何停用JOB及如何使用JOBOracle
- Oracle 任務管理之 ----program(程式)---scheduler(計劃)--Job(任務)Oracle
- oracle job_相關Oracle
- Oracle JOB 用法小結Oracle
- Oracle JOB 建立例項Oracle
- oracle中Job的操作Oracle
- Oracle Job 小結(ZT)Oracle
- Oracle JOB 使用方法Oracle
- 停掉oracle自帶jobOracle
- Linux上的job管理Linux
- 使用DBMS_JOB和DBMS_SCHEDULER建立、管理job示例
- 關於dbms_job系統包對job的管理
- ORCLE 如何停止一個JOB【HOW TO STOP A JOB IN THE ORACLE?】薦Oracle
- 【Oracle】ORA-23421: job number XXXX is not a job in the job queueOracle
- Oracle資料庫——Scheduler JobOracle資料庫
- Oracle Job 遷移小記Oracle
- Oracle手工修改JOB屬性Oracle
- 【轉】Oracle JOB 用法小結Oracle
- how to kill the runing job in ORACLEOracle
- oracle 11g 建立 jobOracle
- Oracle Scheduler(5)job呼叫programOracle
- Oracle中job的使用詳解Oracle
- oracle job的建立和刪除Oracle