oralce定时任务 最详细
2016-08-18 17:10
323 查看
主要使用场景:定时在后台执行相关操作(如每天晚上0点将一张表的数据保存到另一 张表中 等 类似linux crontab)
实验内容:定时插入数据到一张表中
个人经验:oracle job最好少用,尽量使用linux crontab 执行定时任务
创建一个简单的临时测试表
create table test_job
(
id number(12),
c_date date
);
创建一个简单的临时序列
create sequence seq_test_job_id
minvalue 1
maxvalue 9999999999999999
start with 141
increment by 1
cache 20;
minvalue 表示最小值
maxvalue 自增长最大值
start with 141 表示从141开始
increment by 1 每次加1
seq_test_job_id.nextval 大小为142
创建一个存储过程
将数据插入到test_job 表中
create or replace procedure pro_test_job
is
begin
insert into test_job values(seq_test_job_id.nextval,sysdate);
end pro_test_job;
创建一个job,创建完之后,会自动运行
declare
job number;
begin
--每天1440分钟,即一分钟运行test过程一次
sys.dbms_job.submit(job,'pro_test_job;',sysdate,'sysdate+1/1440');
end;
submit()函数,有五个参数:job,what,next_date,interval与no_parse
PROCEDURE Submit ( job OUT binary_ineger,
What IN varchar2,
next_date IN date,
interval IN varchar2,
no_parse IN booean:=FALSE)
job 指一个job的唯一标识。
what 指 这个job需要执行的plsql语句。
next_date 指下一次何时将运行这个job。
interval 指这个job执行的频率
no_parse
检查oracle job是否正常运行
select * from job_test;
查看job
select job,what,next_date,interval from dba_jobs;
手动运行job
begin
dbms_job.run(3); --3 表示 是dba_jobs中job列
end;
删除job
begin
dbms_job.remove(3);
end;
注意:删除只能本用户删除,否则报错 ora-23421
实验内容:定时插入数据到一张表中
个人经验:oracle job最好少用,尽量使用linux crontab 执行定时任务
方法/步骤
创建一个简单的临时测试表create table test_job
(
id number(12),
c_date date
);
创建一个简单的临时序列
create sequence seq_test_job_id
minvalue 1
maxvalue 9999999999999999
start with 141
increment by 1
cache 20;
minvalue 表示最小值
maxvalue 自增长最大值
start with 141 表示从141开始
increment by 1 每次加1
seq_test_job_id.nextval 大小为142
创建一个存储过程
将数据插入到test_job 表中
create or replace procedure pro_test_job
is
begin
insert into test_job values(seq_test_job_id.nextval,sysdate);
end pro_test_job;
创建一个job,创建完之后,会自动运行
declare
job number;
begin
--每天1440分钟,即一分钟运行test过程一次
sys.dbms_job.submit(job,'pro_test_job;',sysdate,'sysdate+1/1440');
end;
submit()函数,有五个参数:job,what,next_date,interval与no_parse
PROCEDURE Submit ( job OUT binary_ineger,
What IN varchar2,
next_date IN date,
interval IN varchar2,
no_parse IN booean:=FALSE)
job 指一个job的唯一标识。
what 指 这个job需要执行的plsql语句。
next_date 指下一次何时将运行这个job。
interval 指这个job执行的频率
no_parse
检查oracle job是否正常运行
select * from job_test;
查看job
select job,what,next_date,interval from dba_jobs;
手动运行job
begin
dbms_job.run(3); --3 表示 是dba_jobs中job列
end;
删除job
begin
dbms_job.remove(3);
end;
注意:删除只能本用户删除,否则报错 ora-23421
相关文章推荐
- oralce定时执行存储过程任务设置步骤详细
- oralce清除归档日志,并定时制作window定时任务
- Linux crontab定时执行任务 命令格式与详细例子
- Crond定时任务详细分析
- linux 定时任务 crontab 详细解释
- crontab 详细用法 定时任务
- Linux crontab定时执行任务 命令格式与详细例子
- rpm -q vixie-cron =====> 检测是否安装 crontab 定时执行任务 命令格式与详细例子
- Linux crontab定时执行任务 命令格式与详细例子
- linux定时任务crond服务详细说明
- 定时任务 crontab 详细解释
- crontab 详细用法 定时任务
- linux 定时任务 crontab 详细解释
- Linux crontab定时执行任务 命令格式与详细例子
- oralce--通过job定时任务备份表
- Linux crontab定时执行任务 命令格式与详细例子
- Linux crontab定时执行任务 命令格式与详细例子
- Linux crontab定时执行任务 命令格式与详细例子
- crontab 详细用法 定时任务
- CentOS下crond定时任务详细介绍