oracle job 实例,oracle创建job实例

创建

variable job_feeid_create NUMBER;

6a4f0828e378401bc7629a3585c4977f.png

begin

sys.dbms_job.submit(:job_feeid_create,'wlk_check_fee;',sysdate,'TRUNC(SYSDATE+1)');

cabc3dce85a963ee243bff5e3f252566.png

commit;

01a6a7a13ecff5d41c97dd152dc757ff.png

end;

在命令控制台中这样就可以建产一个作业了。sysdate表示当前作业将来执行的时间,sysdate+1表示调用频率。

25de57a7d7b135804a58eb094acbe382.png

描述 INTERVAL参数值

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

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

每星期二中午12点'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'

b4a863ffa6d262a2cfa93fef671b95c2.png

每个月第一天的午夜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)'运行

b58fd918c9aeb1b6d92c04419e83a7a0.png

7e17aa4559ed5e008984f539e6780a70.png

begin

dbms_job.run(:job_feeid_create);

a5e7a3c34035642cc956aaf3ece6d6bf.png

end;

查询作业记录

df432198e2d5d8bd38a6459d4f222fc2.png

select*from user_jobs

具体讲解:

1.确保Oracle的工作模式允许启动任务队列管理器

Oracle定时执行“Job Queue”的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以 DBA的身份去执行如下命令:

svrmgrl>; alter system enable restricted session;

或sql>; alter system disenable restricted session;

利用如上命令更改系统的会话方式为disenable restricted,为SNP的启动创造条件。

2.确保Oracle的系统已经配置了任务队列管理器的启动参数

SNP的启动参数位于Oracle的初始化文件中,该文件放在$ORACLE_HOME/dbs路径下,如果Oracle的SID是myora8的话,则初始化文件就是 initmyora8.ora,在文件中对SNP启动参数的描述部分如下:

job_queue_process=n

job_queue_interval=N

第一行定义SNP进程的启动个数为n。系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。

第二行定义系统每隔N秒唤醒该进程一次。系统缺省值为60秒,正常范围为1~3600秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间后,由系统的总控负责将其唤醒。

如果该文件中没有上面两行,请按照如上配置添加。配置完成后,需要重新启动数据库,使其生效。注意:如果任务要求执行的间隔很短的话,N的配置也要相应地小一点。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值