您好,登錄后才能下訂單哦!
Oracle定時(shí)器
Oracle定時(shí)器:定時(shí)執(zhí)行某個(gè)存儲(chǔ)過程。
通過pl/SQL的圖形化界面可以看到。定時(shí)器包括:調(diào)度和存儲(chǔ)過程連接口
存儲(chǔ)過程連接口
存儲(chǔ)過程連接口,主要告訴定時(shí)器要執(zhí)行哪一個(gè)存儲(chǔ)過程。存儲(chǔ)過程連接口就是存儲(chǔ)過程執(zhí)行的入口。從圖形化界面可以看出“Action”就是要執(zhí)行的存儲(chǔ)過程。而“Arguments”就是調(diào)用該存儲(chǔ)過程所需要的參數(shù)類型及存儲(chǔ)過程所調(diào)用的必須參數(shù)。
存儲(chǔ)過程
存儲(chǔ)過程(Stored Procedure)是在大型數(shù)據(jù)庫(kù)系統(tǒng)中,一組為了完成特定功能的SQL 語(yǔ)句集,存儲(chǔ)在數(shù)據(jù)庫(kù)中經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到存儲(chǔ)過程。
調(diào)度
調(diào)度最主要的功能就是告訴定時(shí)器神什么時(shí)候執(zhí)行定時(shí)任務(wù),執(zhí)行的任務(wù)的頻率是多久。
/* 創(chuàng)建可執(zhí)行程序 */
begin
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name =>'peace_sj_his.PROG_DATASYNC',
program_action =>'peace_sj_his.P_DATASYNC',
program_type =>'STORED_PROCEDURE',
number_of_arguments =>3,
comments =>'數(shù)據(jù)同步程序',
enabled => false
);
end;
/
/* 設(shè)置可執(zhí)行程序的輸入?yún)?shù) */
begin
DBMS_SCHEDULER.define_program_argument(
program_name =>'peace_sj_his.PROG_DATASYNC',
argument_position =>1,
argument_type =>'VARCHAR2',
default_value =>''
);
DBMS_SCHEDULER.define_program_argument(
program_name =>'peace_sj_his.PROG_DATASYNC',
argument_position =>2,
argument_type =>'VARCHAR2',
default_value =>''
);
DBMS_SCHEDULER.define_program_argument(
program_name =>'peace_sj_his.PROG_DATASYNC',
argument_position =>3,
argument_type =>'VARCHAR2',
default_value =>''
);
END;
/
/* 創(chuàng)建調(diào)度表 */
begin
DBMS_SCHEDULER.create_schedule(
schedule_name =>'peace_sj_his.SCH_DATASYNC',
repeat_interval =>'FREQ=MINUTELY;INTERVAL=2',
start_date => sysdate,
comments =>'數(shù)據(jù)同步調(diào)度'
);
end;
/
/* 創(chuàng)建作業(yè) */
begin
DBMS_SCHEDULER.create_job(
job_name =>'peace_sj_his.JOB_PPTN',
program_name =>'peace_sj_his.PROG_DATASYNC',
schedule_name =>'peace_sj_his.SCH_DATASYNC',
job_class =>'DEFAULT_JOB_CLASS',
comments =>'雨量數(shù)據(jù)同步作業(yè)',
auto_drop => false,
enabled => false
);
end;
/
/* 啟動(dòng)可執(zhí)行程序 */
exec DBMS_SCHEDULER.enable('PROG_DATASYNC');
/* 啟動(dòng)作業(yè) */
exec DBMS_SCHEDULER.enable('JOB_PPTN');
/* 設(shè)置不同的作業(yè)參數(shù) */
begin
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(
job_name =>'peace_sj_his.JOB_PPTN',
argument_position =>1,
argument_value =>'ST_PPTN_R'
);
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(
job_name =>'peace_sj_his.JOB_PPTN',
argument_position =>2,
argument_value =>'TM'
);
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(
job_name =>'peace_sj_his.JOB_PPTN',
argument_position =>3,
argument_value =>'STCD'
);
end;
/
----Job管理-----------------------------------------------------------------------
/* 禁用Job */
exec dbms_scheduler.disable('JOBTEST');
/* 執(zhí)行Job */
exec dbms_scheduler.run_job('JOBTEST');
/* 停止Job */
exec dbms_scheduler.stop_job('JOBTEST');
/* 刪除Job */
exec dbms_scheduler.drop_job('JOBTEST');
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。