Oracle Job時間間隔設定

2022-09-22 00:21:12 字數 3788 閱讀 4707

初始化相關引數job_queue_processes

alter system set job_queue_processes=39 scope=spfile;//最大值不能超過1000 ;job_queue_interval = 10 //排程作業重新整理頻率秒為單位

job_queue_process 表示oracle能夠併發的job的數量,可以通過語句

show parameter job_queue_process;

select * from v$parameter where name='job_queue_processes';

來檢視oracle中job_queue_process的值。當job_queue_process值為0時表示全部停止oracle的job,可以通過語句

alter system set job_queue_processes = 10;

來調整啟動oracle的job。

相關檢視:

dba_jobs

all_jobs

user_jobs

dba_jobs_running 包含正在執行job相關資訊

相關查證jobs情況的sql:

select job,last_date,last_sec,next_date,next_sec,interval,what from dba_jobs order by job;

提交job語法:

複製** **如下:

begin

sys.dbms_job.submit(job => :job,

what => 'p_clear_packbal;',

next_date => to_date('04-08-2008 05:44:09', 'dd-mm-yyyy hh24:mi:ss'),

程式設計客棧interval => 'sysdate+ 1/360');

commit;

end;

/建立job

複製** **如下:

variable jobno number;

begin

dbms_job.submit(:jobno, 'p_cred_plan;',sysdate,'sysdate+1/2880',true);

commit;

執行job

複製** **如下:

sql> begin

dbms_job.run(:job1);

end;

/刪除job

複製** **如下:

sql> begin

dbms_job.remove(:job1);

程式設計客棧     end;

/dba_jobs

===========================================

字段(列)

型別描述

jobnumber

任務的唯一標示號

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日期的小時cbpgkcjc,分鐘和秒

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 ), ''tuesdacbpgkcjcy'' ) + 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"))) + (660+10)/(2460)'

1:每分鐘執行

interval => trunc(sysdate,'mi') + 1/ (24*60)

2:每天定時執行

例如:每天的凌晨1點執行

interval => trunc(sysdate) + 1 +1/ (24)

3:每週定時執行

例如:每週一凌晨1點執行

interval => trunc(next_day(sysdate,'星期一'))+1/24

4:每月定時執行

例如:每月1日凌晨1點執行

interval =>trunc(last_day(sysdate))+1+1/24

5:每季度定時執行

例如每季度的第一天凌晨1點執行

interval => trunc(add_months(sysdate,3),'q') + 1/24

6:每半年定時執行

例如:每年7月1日和1月1日凌晨1點

interval => add_months(trunc(sysdate,'yyyy'),6)+1/24

7:每年定時執行

例如:每年1月1日凌晨1點執行

interval =>add_months(trunc(sysdate,'yyyy'),12)+1/24

本文標題: oracle job時間間隔設定

本文位址:

Oracle Job 語法和時間間隔的設定

初始化相關引數job queue processes alter system set job queue processes 39 scope spfile 最大值不能超過1000 job queue interval 10 排程作業重新整理頻率秒為單位 job queue process 表示o...

Oracle Job 語法和時間間隔的設定

初始化相關引數job queue processes alter system set job queue processes 39 scope spfile 最大值不能超過1000 job queue interval 10 排程作業重新整理頻率秒為單位 job queue process 表示o...

Oracle Job 語法和時間間隔的設定

初始化相關引數job queue processes alter system set job queue processes 39 scope spfile 最大值不能超過1000 job queue interval 10 排程作業重新整理頻率秒為單位 job queue process 表示o...