问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle怎么设置定时任务计划

发布网友 发布时间:2022-04-22 03:44

我来回答

2个回答

懂视网 时间:2022-05-01 01:01

Oracle定时计划快速使用

前言:

      SQL Server中有相关的定时计划,可以直接打开sql server 的任务管理器进行配置,可以方便、快速实现定时执行相应任务。相应的Oracle也有对应的定时计划,只不过没有一个很好的图形界面供用户去操作。本文主要是为了方便用户在Oracle中快速创建定时计划,定期执行相应的sql或者存储过程。

1.   创建定时计划

说明:以下所有的示例代码,都需要用户先连上sql/plus之后,在sql/plus中执行。

1.1      创建存储过程

存储过程不是必须的,只不过是把相关的一系列的sql语句整合在一块,方便执行。

示例:

create or replace procedure update_black_gray_list as

begin

UPDATE SMS_BLACKLIST //要执行的sql语句

SET FLAG=‘0‘,"ENABLE"=‘2‘,

FDATE=TO_DATE(TO_DATE(TO_CHAR(SYSDATE, ‘yyyy-mm-dd‘), ‘yyyy-mm-dd‘)),

TDATE=TO_DATE(TO_DATE(TO_CHAR(SYSDATE+7, ‘yyyy-mm-dd‘), ‘yyyy-mm-dd‘))

WHERE FLAG=‘0‘ AND "ENABLE"=‘0‘ AND

TDATE<TO_DATE(TO_DATE(TO_CHAR(SYSDATE, ‘yyyy-mm-dd‘), ‘yyyy-mm-dd‘));

end;

/

1.2      创建定时计划

示例:

variable update_list_job number;

begin

dbms_job.submit(:update_list_job,‘update_black_gray_list;‘,TRUNC(SYSDATE),‘TRUNC(SYSDATE+1)‘);

end;

/

变量update_list_job是为了存储创建生成的计划的唯一标识号,方便删除,查看该定时计划的相关信息

1.2.1 dbms_job.submit() 说明

PROCEDURE submit (

job  OUT  binary_ineger,

what IN varchar2,

next_date  IN date,

interval IN varchar2,

no_parse IN booean:=FALSE)

这个过程有五个参数:job、what、next_date、interval与no_parse。

l  job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识job。

l  what参数是将被执行的PL/SQL代码块(一般多是存储过程)。

l  next_date参数指识何时将运行这个工作。

l  interval参数何时这个工作将被重执行。

interval是指上一次执行结束到下一次开始执行的时间间隔, 当interval设置为null时,该job执行结束后,就被从队列中删除。假如我们需要该job周期性地执行,则要用‘sysdate+m’表示。

示例:

每天运行一次 ‘SYSDATE + 1‘ 

每小时运行一次 ‘SYSDATE + 1/24‘ 

每分钟运行一次 ‘SYSDATE + 1/(60*24)‘ 

每秒运行一次 ‘SYSDATE + 1/(60*24*60)‘ 

每隔一星期运行一次 ‘SYSDATE + 7‘ 

每天午夜12点 ‘TRUNC(SYSDATE + 1)‘ 

每天早上1点30分 ‘TRUNC(SYSDATE + 1) + (1*60+30)/(24*60)‘ 

每星期二中午12点 ‘NEXT_DAY(TRUNC(SYSDATE ), ‘‘TUESDAY‘‘ ) + 12/24‘ 
每个月第一天的午夜12点 ‘TRUNC(LAST_DAY(SYSDATE ) + 1)‘ 
每个季度最后一天的晚上11点 ‘TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ‘Q‘ ) -1/24‘ 
每星期六和日早上6点10分 ‘TRUNC(LEAST(NEXT_DAY(SYSDATE, ‘‘SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)‘

不再运行该任务并删除它 NULL

l  no_parse参数指示此工作在提交时或执行时是否应进行语法分析(默认为false)——TRUE指示此PL/SQL代码在它第一次执行时应进行语法分析,而FALSE指示本PL/SQL代码应立即进行语法分析。

1.3      执行定时计划

示例:

begin

dbms_job.run(:update_list_job);

end;

/

1.4      删除定时计划

示例:

begin

dbms_job.remove(:update_list_job);

end;

/

2.   查看所有定时计划

select  *  from  user_jobs;

3.   删除定时计划

3.1 删除所有定时计划

begin

  for v in(select job from user_jobs) loop
    dbms_job.remove(v.job);
  end loop;
  commit;

end;

3.2 删除指定内容的定时计划

begin

  for v in(select job from user_jobs where what in( ‘the_what_name;‘ ) )

loop

       dbms_job.remove(v.job);

    end loop;

  commit;

end;

/

3.3 删除指定用户的定时计划

begin

  for v in(select job from user_jobs where log_user=‘USERXXXX‘) loop

    dbms_job.remove(v.job);

  end loop;

  commit;

end;

/

 

Oracle定时计划快速使用

标签:

热心网友 时间:2022-04-30 22:09

Oracle数据库定时任务备份配置步骤
http://jingyan.baidu.com/article/b907e627b04cb846e6891c68.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么word换行的时候不对齐? 老人各类心脏病的急救方法有哪些呢? 老人心脏病突然发作怎么办 老人突发心脏病该如何急救呢? TAO黄子韬 tao什么学校毕业? 红楼梦第14回特色句92句精选 今天出院又入院医保 FPM看这一篇就够了 “更何入他不二门”的出处是哪里 华为光猫发光多少公里? oracle 定时任务 华为手机在广州有几个分厂 华为为什么入股亨通 华为40km光模块参数问题 广州市白云区华为厂地址 华为j km a l100a多少钱? 华为9km—AL00手机总容量128.内存6.gb多少钱一部? 华为荣耀手机怎样缩小照片km 华为手机亅km一AL00如果使用无线充电器是否需要接... KM一丅L华为手机怎么设置转移? 华为亅KM一AI00是什么型号? 24岁处在人生什么阶段 你认为24岁是一个怎样的年纪? 小米10的续航能力怎么样呢? 小米3续航能力怎么样 小米note2续航能力怎么样 小米平衡车的电池续航能力怎么样? 小米mix2续航能力怎么样 西安交通大学远程网络教育高起专毕业生自我鉴定要... D70.P28停车记录仪车那个型号的好 行车记录仪任E行p28镜头好用吗,好吗 任e行p28车道铺助功能怎么设置 oracle定时任务 任e行行车记录仪刚开始录像后来不录像了是怎么回事 oracle 可以在crontab 中定时执行吗 行车记录仪内存卡 oracle每隔一小时执行一次定时任务,批量执行语句 oracle定时任务问题? 任e行行车记录仪wifi怎么连接手机 oracle 创建定时任务执行存储过程 乌克兰选择与美国并肩而行,做了什么呢? 农药经营许可证需要什么条件 oracle定时任务有哪些参数 任e行行车记录仪怎样校准时间 乌克兰来了16000名“志愿兵”,这释放了什么信号? oracle用户执行crontab 为什么“任e行”行车记录仪突然死机无显示? 动漫无双可不可以手机下载 领取农药经营许可证学习要两个人吗?