在網(wǎng)上搜索了一堆都沒用找到可用的,在oracle的目錄下找了個 在$ORACLE_HOME/RDBMS/admin下面有個spauto.sql, 語句如下: variable jobno number; variable instno number; begin select instance_number into :instno from v$instance; dbms_job.submit(:jobn
在網(wǎng)上搜索了一堆都沒用找到可用的,在oracle的目錄下找了個
在$ORACLE_HOME/RDBMS/admin下面有個spauto.sql,
語句如下:
variable jobno number;
variable instno number;
begin
select instance_number into :instno from v$instance;
dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
commit;
end;
/
放在pl/sql命令行執(zhí)行即可,其余語法在參見網(wǎng)上的
---設置某個時間段執(zhí)行p_job_run_day 過程
declare
jobid number;
v_sql varchar2(2000);
v_day_id number;
begin
SELECT to_number(to_char(SYSDATE-1,'YYYYMMDD')) INTO v_day_id FROM dual;
v_sql:='begin
if to_char(sysdate,''HH24:MI'')=''7:00''
then p_job_run_day;
dbms_output.put_line(''success'');
end if;
commit;
exception
when others then
rollback;
dbms_output.put_line(SQLERRM);
end; ';
dbms_job.submit(jobid,v_sql,sysdate,'sysdate+1/24');
dbms_job.run(jobid);
dbms_output.put_line('job '||to_char(jobid)||' is running');
commit;
end;
/
2 刪除job
從select * from user_jobs; 查出job序號
執(zhí)行 exec dbms_job.remove(22);
3 如果控制執(zhí)行時間
3
描述 INTERVAL參數(shù)值
每天午夜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)'
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com