在網(wǎng)上搜索了一堆都沒用找到可用的,在oracle的目錄下找了個(gè) 在$ORACLE_HOME/RDBMS/admin下面有個(gè)spauto.sql, 語(yǔ)句如下: variable jobno number; variable instno number; begin select instance_number into :instno from v$instance; dbms_job.submit(:jobn
在網(wǎng)上搜索了一堆都沒用找到可用的,在oracle的目錄下找了個(gè)
在$ORACLE_HOME/RDBMS/admin下面有個(gè)spauto.sql,
語(yǔ)句如下:
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í)行即可,其余語(yǔ)法在參見網(wǎng)上的
---設(shè)置某個(gè)時(shí)間段執(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序號(hào)
執(zhí)行 exec dbms_job.remove(22);
3 如果控制執(zhí)行時(shí)間
3
描述 INTERVAL參數(shù)值
每天午夜12點(diǎn) 'TRUNC(SYSDATE + 1)'
每天早上8點(diǎn)30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
每星期二中午12點(diǎn) 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
每個(gè)月第一天的午夜12點(diǎn) 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
每個(gè)季度最后一天的晚上11點(diǎn) 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
每星期六和日早上6點(diǎn)10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com