oracle每隔1分钟自动向"getSysDate表"中插入当前的系统时间。

 

每隔1分钟自动向"getSysDate表"中插入当前的系统时间。

1、创测试表


create table getSysDate(test date);

 


2、创要定时执行的存储过程


create or replace procedure insertSysDate as
begin
insert into getSysDate values (sysdate);
end ;

 


3、创建JOB,即创建待执行的定时任务过程


variable job1 number;
begin
dbms_job.submit(:job1,'insertSysdate;',sysdate,'sysdate 1/1440');
end;

4、启动JOB,即启动并运行定时任务过程


begin
dbms_job.run(:job1);
end;

5、查看运行效果


select to_char(test,'yyyy/mm/dd hh24:mi:ss') from getSysDate;

 


结果:


2007/08/03 10:53:11
2007/08/03 11:05:51

<B>一部分重点参数的补充说明:</B>

DBMS_JOB.SUBMIT(:jobno,//"job"号
'your_procedure;',//需要执行的过程
trunc(sysdate) 1/24,//下次执行的时间
'trunc(sysdate) 1/24 1'//每次间隔的时间
);

删除job:dbms_job.remove(jobno);

修改要执行的操作:job:dbms_job.what(jobno,what);

修改下次执行时间:dbms_job.next_date(job,next_date);

修改间隔时间:dbms_job.interval(job,interval);


停止job:dbms.broken(job,broken,nextdate);

启动job:dbms_job.run(jobno);


修改job_queue_processes的值:(必须保证其不为0否则JOB不能自动运行)

大家可以通过select * from v$parameter;查看其值;


或者直接用show parameter job_queue_processes;查看如下:


NAME TYPE VALUE
--------------------- -----------
job_queue_processes integer 10

方法1:startup pfile='C:oracleora90databaseinitorcl.ora';


//这个方法修改initorcl.ora文件的job_queue_processes参数,然后重新启动数据库

 

方法2:alter system set job_queue_processes=10


//这个方法不要重新启动数据库即可以生效,而系统自动修改init.ora文件以后才能生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值