您的位置:首页 > 数据库 > Oracle

Sqlserver和Oracle上的定时任务创建

2015-09-07 12:59 721 查看

Sqlserver和Oracle上的定时任务创建

Sqlserver上的定时任务创建

1.打开sql server 代理

2.右击作业,新建作业

3.选择步骤选项,新建步骤

4.在步骤的常规选项输入步骤名称,选中数据库,填写sql语句:

delete MTC_TASKLOG where CREATE_TIME < getdate();

5.选步骤的高级选项,由于只建了一个步骤,所以需要在成功时要执行的操作选项中选择退出报告成功的作业

6.选择计划选项,填写名称,并选择执行的频率为每天,时间点为凌晨1点,点击确定.

7.选择sql server 代理,右击启动,确定,定时任务就生效。

其他:可以临时修改计划选项的时间,以验证sql命令是否立即按要求执行。

附图1-7:

图1:





图2



图3



图4



图5



图6



图7



图8



Oracle上的定时任务创建

1. 创建删除MTC_TASKLOG的存储过程

create or replace procedure clear_mtctasklog_pro as

begin

delete MTC_TASKLOG where CREATE_TIME < sysdate;

end clear_mtctasklog_pro;

2.创建定时任务,每天凌晨1点执行,默认是创建后就执行的

--建立job

--建立job后默认是执行的

declare mtc_job number;

begin

dbms_job.submit(mtc_job,'clear_mtctasklog_pro;',sysdate,' TRUNC(sysdate) + 1 +1 / (24)');

commit;

end;

完。

其他命名供参考:

---停止job 25是建立的job test_job_really

begin

dbms_job.broken(25,true);

commit;

end;

--启动job

begin

dbms_job.run(25);

commit;

end;

--删除job

begin

dbms_job.remove(25);

commit;

end;

--查看执行结果

select * from test_job order by test_job.para_date desc;

--查看job

select * from sys.user_jobs

--使用下面的SQL查询是否JOB还在Running,前提是需要job执行时间不能过短

select * from dba_jobs_running

--除了submit参数外,其余的几个参数有:

--运行job

dbms_job.run(v_job);

--停止一个job,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。

dbms_job.broke(v_job,true,next_date);

--删除某个job

dbms_job.remove(v_job);

dbms_job.what(v_job,'sp_fact_charge_code;');

--修改某个job名 修改下一次运行时间

dbms_job.next_date(v_job,sysdate);

上面的数字25指的是定时任务的ID,如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: