博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二、DBMS_JOB(用于安排和管理作业队列)
阅读量:5276 次
发布时间:2019-06-14

本文共 2219 字,大约阅读时间需要 7 分钟。

1、概述

作用:用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务

注意:当使用DBMS_LOB管理作业时,必须确保设置了初始化参数job_queue_processes(不能为0)

2、包的组成

1)、submit

说明:用于建立一个新作业.当建立作业时,需要给作业要执行的操作,作业的下次运行日期及运行时间间隔.
语法:
dbms_out.submit (
job out binary_integer,what in varchar2,
next_date in date default sysdate,
interval in varchar2 default 'null',
no_parse in boolean default false,
instance in binary_integer default any_instance,
force in boolean default false);
其中,job用于指定作业编号;what用于指定作业要执行的操作;next_date用于指定作业的下次运行日期;interval用于指定运行作业的时间间隔;
no_parse用于指定是否解析与作业相关的过程;instance用于指定哪个例程可以运行作业;force用于指定是否强制运行与作业相关的例程.
例子1:
exec dbms_job.submit(:jobno,'dbms_ddl.analyze_object(''table'',''scott'',''emp'',''compute'');',sysdate,'sysdate+1');
exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (10/(24*60*60))')加入作业。间隔10秒钟
exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (11/(24*60))')加入作业。间隔11分钟
2)、remove
说明:删除作业队列中的特定作业
语法:dbms_job.remove(job in binary_integer);
例子:exec dbms_job.remove(21)--删除21号作业
3)、change
说明:用于改变与作业相关的所有信息,包括作业操作,作业运行日期以及运行时间间隔等.
语法:
dbms_job.change(
job in binary_integer,what in varchar2,
next_date in date,interval in varchar2,
instance in binary_integer default null,
force in boolean default false);
例子:exec dbms_job.change(2,null,null,'sysdate+2');
4)、what
说明:用于改变作业要执行的操作
语法:dbms_job.what(job in binary_integer,what in varchar2);
例子:exec dbms_job.what(2,'dbms_stats.gather_table_stats->(''scott'',''emp'');');
5)、next_date
说明:用于改变作业的下次运行日期
语法:dbms_job.next_date(job in binary_integer,next_date in date);
例子:exec dbms_job.next_date('2','sysdate+1');
6)、instance
说明:用于改变作业的例程
语法:dbms_job.instance(job in binary_integer,instance in binary_integer,force in boolean default false);
例子:exec dbms_job.instance(2,1);
7)、interval
说明:用于改变作业的运行时间间隔
语法:dbms_job.interval(job in binary_integer,interval in varchar2);
例子:exec dbms_job.interval(2,'sysdate+1/24/60');
8)、broken
说明:用于设置作业的中断标识。当中断了作业之后,作业将不会被运行。
语法:dbms_job.broken(job in binary_integer,broken in boolean,next_date in date default sysdate);
其中broken指定中断标记(true表示中断)
例子:dbms_job.broken(2,true,'sysdate+1');
9)、run
说明:用于运行已存在的作业
语法:dbms_job.run(job in binary_integer,force in boolean default false);
例子:exec dbms_job.run(1);

转载于:https://www.cnblogs.com/champaign/p/9468405.html

你可能感兴趣的文章
去除右下角淘宝网弹窗恶意广告!
查看>>
SQL字符串替换
查看>>
Jquery 概念性内容编辑器
查看>>
VMware-workstation-full-9.0.1-894247+汉化补丁(2013.1.22)+有效密钥
查看>>
一些 Google 搜索词
查看>>
嵌入式Linux学习笔记(0)基础命令。——Arvin
查看>>
我才知道wordpress还有com和org的区别呢
查看>>
C#枚举数值与名称的转换
查看>>
文明-模仿写歌词
查看>>
android上使用蓝牙设备进行语音输入
查看>>
Generic Host Process for Win32 Service错误
查看>>
typescirpt 知识点
查看>>
android应用框架搭建之BaseActivity
查看>>
8年javascript总结
查看>>
Flask的Debug功能非常酷
查看>>
[2018/11/14] 学习的思考
查看>>
android对话框弹出方式动画
查看>>
uml图
查看>>
动态添加JavaScript
查看>>
web-project 故障查看功能 检测是否启动fmd服务
查看>>