扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
oracle job怎么指定名字?
例如我的job如下
SQL code
declare
job Number;
begin
sys.dbms_job.submit(
job,
'mail.cut_mail;', --調用的procedure
sysdate, --執行時間
'sysdate+2/24/60'); --時間間隔
end;
請問怎么自己指定job的名字呢?
普通JOB是只有编号,没有名字的
你可以用10G开始新的JOB:SCHED JOB,可以起名字的
功能比普通JOB更强大,可以设定JOB在某个时刻运行
比如我们现在用的,每周1-5,上午9:15-11:45,下午13:15-17:45,每隔半小时运行次JOB
以下是我们这的JOB的脚本
SQL code
BEGIN
SYS.DBMS_SCHEDULER.CREATE_JOB
(
job_name => 'SCH_JOB_AP030'
,start_date => TO_TIMESTAMP_TZ('2009/03/31 15:45:00.000000 +08:00','yyyy/mm/dd hh24:mi:ss.ff tzh:tzm')
,[color=#FF0000]repeat_interval => 'FREQ=WEEKLY; BYDAY=MON,TUE,WED,THU,FRI;BYHOUR=9,10,11,13,14,15,16,17;BYMINUTE=15,45;BYSECOND=0'[/color]
,end_date => NULL
,job_class => 'DEFAULT_JOB_CLASS'
,job_type => 'PLSQL_BLOCK'
,job_action => 'BEGIN
SP_MAKE_AP030
( );
END;'
,comments => '上班时间每半时更新次AP030'
);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'SCH_JOB_AP030'
,attribute => 'RESTARTABLE'
,value => FALSE);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'SCH_JOB_AP030'
,attribute => 'LOGGING_LEVEL'
,value => SYS.DBMS_SCHEDULER.LOGGING_RUNS);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'SCH_JOB_AP030'
,attribute => 'MAX_FAILURES');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'SCH_JOB_AP030'
,attribute => 'MAX_RUNS');
BEGIN
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'SCH_JOB_AP030'
,attribute => 'STOP_ON_WINDOW_CLOSE'
,value => FALSE);
EXCEPTION
-- could fail if program is of type EXECUTABLE...
WHEN OTHERS THEN
NULL;
END;
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'SCH_JOB_AP030'
,attribute => 'JOB_PRIORITY'
,value => 3);
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE_NULL
( name => 'SCH_JOB_AP030'
,attribute => 'SCHEDULE_LIMIT');
SYS.DBMS_SCHEDULER.SET_ATTRIBUTE
( name => 'SCH_JOB_AP030'
,attribute => 'AUTO_DROP'
,value => FALSE);
SYS.DBMS_SCHEDULER.ENABLE
(name => 'SCH_JOB_AP030');
END;
/
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者