oracle创建job
来源:互联网 发布:个人导航源码 编辑:程序博客网 时间:2024/06/04 17:48
一、基本语法
与mysql的event事件类似,用来创建数据库的定时任务。
DBMS_JOB.SUBMIT( job OUT BINARY_INTEGER, what IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE, interval IN VARCHAR2 DEFAULT 'NULL', no_parse IN BOOLEAN DEFAULT FALSE, instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE, force IN BOOLEAN DEFAULT FALSE);
- job参数是由Submit()过程返回的整型
- what表示这个job执行的内容,可以是存储过程或者sql代码块
- next_date表示执行这个job的开始时间
- interval表示重复执行的时间间隔
- no_parse表示这个job什么时候进行语法分析,true表示第一次执行时进行语法分析,false表示创建成功即进行语法分析
- instance、force用的很少。当force为true时,所有实例都能执行该job;当force为false时,只有指定实例能执行该job。
使用示例:
declare tm_job number;begin sys.dbms_job.submit(:tm_job, 'prc_job_test;', sysdate, 'sysdate+1/(24*60)');--每隔1分钟执行一次end;
二、基本使用方法
1、oracle 10g默认允许的job队列为10个,可以通过命令查看
show parameter job_queue_processes;
可以通过alert命令修改这个值
alter system set job_queue_processes=11 scope=both;
scope作用域介绍:
Oracle 里面有个叫做spfile的东西,就是动态参数文件,里面设置了Oracle 的各种参数。所谓的动态,就是说你可以在不关闭数据库的情况下,更改数据库参数,记录在spfile里面。更改参数的时候,有3种scope选项。
- scope=spfile 仅仅更改spfile里面的记载,不更改内存,也就是不立即生效,而是等下次数据库启动生效。
- scope=memory 仅仅更改内存,不改spfile。也就是下次启动就失效了。
- scope=both 内存和spfile都更改。默认为both。
2、对job进行修改
与创建类似,只不过第一个参数是传入并非返回。
BEGIN DBMS_JOB.CHANGE(14144, null, null, 'sysdate+3'); COMMIT;END;
修改其他参数类似,例如修改INTERVAL
DBMS_JOB.INTERVAL ( job IN BINARY_INTEGER, interval IN VARCHAR2);
2、删除job
DBMS_JOB.REMOVE ( job IN BINARY_INTEGER );
3、常用定时
TRUNC()函数常用来截取日期和数值(不进行四舍五入)。
select trunc(sysdate,'yyyy') from dual --2016-01-01 当年第一天select trunc(sysdate,'dd') from dual --2016-09-05 当天select trunc(sysdate, 'hh') from dual --2016-09-05 17:00:00 精确到小时 select trunc(sysdate, 'mi') from dual --2016-09-05 17:35:00 精确到分select trunc(123.458,-1) from dual --120select trunc(123.458,1) from dual --123.4
在job中的灵活时间设定
TRUNC(sysdate,'mi')+1/(24*60) --每分钟执行TRUNC(sysdate+1) --每天凌晨0点执行TRUNC(sysdate+1)+1/24 --每天凌晨1点TRUNC(SYSDATE+1)+(8*60+30)/(24*60) --每天早上8点30分执行TRUNC(next_day(sysdate,1))+2/24 --每周一凌晨2点执行TRUNC(LAST_DAY(SYSDATE)+1) --每月1日凌晨0点执行
2 0
- ORACLE的JOB创建
- oracle创建JOb小结
- Oracle创建job
- 创建ORACLE JOB
- 创建ORACLE JOB
- oracle job创建
- oracle创建job
- oracle job 创建 删除
- 创建ORACLE JOB
- 创建Oracle Job
- 创建ORACLE JOB
- 创建ORACLE JOB
- 创建ORACLE JOB
- Oracle-创建Job
- oracle动态创建job
- Oracle Job创建
- 创建ORACLE JOB
- 创建ORACLE JOB
- 【java学习】java单例设计模式、内存分配、性能分析
- Android之Canvas自定义画一个时钟
- Javascript模块化编程(一):模块的写法
- Java Socket编程
- 文章标题
- oracle创建job
- 俄罗斯方块Java版
- Linux上配置vim
- Jlex 安装记录
- 【华为OJ5】进制转换
- 计算机网络课程总结(未完)
- Python 使用Picking进行二进制IO
- web连接数据库
- Unity 3D中的射线与碰撞检测