oracle查询job维护窗口期间,Oracle Job维护

1. Job的创建

-- 创建JOB

BEGIN

-- Job defined entirely by the CREATE JOB procedure.

DBMS_SCHEDULER.create_job (

job_name => ‘test_full_job_definition‘,

job_type => ‘PLSQL_BLOCK‘,

job_action => ‘BEGIN my_job_proc(‘‘CREATE_PROGRAM (BLOCK)‘‘); END;‘,

start_date => SYSTIMESTAMP,

repeat_interval => ‘freq=hourly; byminute=0‘,

end_date => NULL,

enabled => TRUE,

comments => ‘Job defined entirely by the CREATE JOB procedure.‘);

END;

/

BEGIN

-- Job defined by an existing program and schedule.

DBMS_SCHEDULER.create_job (

job_name => ‘test_prog_sched_job_definition‘,

program_name => ‘test_plsql_block_prog‘,

schedule_name => ‘test_hourly_schedule‘,

enabled => TRUE,

comments => ‘Job defined by an existing program and schedule.‘);

END;

/

BEGIN

-- Job defined by an existing program and inline schedule.

DBMS_SCHEDULER.create_job (

job_name => ‘test_prog_job_definition‘,

program_name => ‘test_plsql_block_prog‘,

start_date => SYSTIMESTAMP,

repeat_interval => ‘freq=hourly; byminute=0‘,

end_date => NULL,

enabled => TRUE,

comments => ‘Job defined by existing program and inline schedule.‘);

END;

/

BEGIN

-- Job defined by existing schedule and inline program.

DBMS_SCHEDULER.create_job (

job_name => ‘test_sched_job_definition‘,

schedule_name => ‘test_hourly_schedule‘,

job_type => ‘PLSQL_BLOCK‘,

job_action => ‘BEGIN my_job_proc(‘‘CREATE_PROGRAM (BLOCK)‘‘); END;‘,

enabled => TRUE,

comments => ‘Job defined by existing schedule and inline program.‘);

END;

/

2.  Job 查询,启动,运行,停止,删除,`修改参数`

-- 查询job

select owner, job_name, state from dba_scheduler_jobs;

select * from user_scheduler_jobs

SELECT * FROM User_Scheduler_Job_Run_Details;

-- 启用job

begin

dbms_scheduler.enable(‘job_name‘);

end;

/

-- 运行job

begin

dbms_scheduler.run_job(‘job_name‘,TRUE); -- true代表同步执行

end;

/

-- 停止job(不太好用)

begin

dbms_scheduler.stop_job(job_name => ‘job_name‘,force => TRUE);

end;

/

-- 删除job(对停job来说好用)

begin

dbms_scheduler.drop_job(job_name => ‘job_name‘,force => TRUE);

end;

/

-- 删除job(2)

begin

dbms_scheduler.drop_job(‘job_name‘);

end;

-- 修改job参数

begin

dbms_scheduler.set_attribute(‘job_name‘,‘属性字段‘,‘属性内容‘);

END;

/

3. Job的repeat_interval参数设置

-- calendar expression

repeat_interval=>‘Freq=Secondly;Interval=30‘; -- 每4小时

repeat_interval=>‘FREQ=HOURLY ; INTERVAL=4‘; -- 每4小时

repeat_interval=>‘FREQ=DAILY‘; -- 每天重复一次

repeat_interval=>‘FREQ=MINUTELY ; INTERVAL=15‘; -- 每15分钟重复一次

repeat_interval=>‘FREQ=YEARLY ;

BYMONTH=MAR,JUN,SEP,DEC;

BYMONTHDAY=15‘; -- 每年5,7,9,12月的15号重复一次

-- pl/sql expression

repeat_interval=>‘SYSDATE + 26/24‘; -- 每36小时重复一次

repeat_interval=>‘SYSDATE + 1‘; --每天重复一次

repeat_interval=>‘SYSDATE + 15/(24*60)‘; -- 每15分钟重复一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值