Oracle Scheduler调用批处理(2)
(一)用system用户创建一个表
create table test20151021(id int);
(二)在D盘根目录下创建test.sql,内容为
declare
i int;
begin
for i in 1..5
loop
insert into test20151021 values(i);
end loop;
commit;
end;
/
(三)在D盘根目录下创建test.bat,内容为
sqlplus system/oracle@local @D:\test.sql
注意:这里@D:\test.sql建议写成全路径,而不要使用相对当前路径@test.sql。原因是假如直接双击执行test.bat,因为test.sql和test.bat都位于同一路径(D盘根目录)下,@test.sql等价于@D:\test.sql。但是如果使用PLSQL Developer来执行下一步骤时,当前路径就不再是D盘根目录了,这个时候@test.sql不等于@D:\test.sql,也就无法往test20151021里插入数据。
(四)用Oracle Scheduler创建Job来调用test.bat
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'test_job',
job_type => 'EXECUTABLE',
job_action => 'D:\test.bat',
start_date => sysdate,
repeat_interval => 'FREQ=MINUTELY;INTERVAL=1',
enabled => TRUE);
END;
/
这里start_date和repeat_interval两个参数决定了每隔一分钟执行一次批处理,第一次是立刻执行
job_type目前支持三种类型:
PLSQL_BLOCK,PL/SQL块
STORED_PROCEDURE,存储过程
EXECUTABLE,外部程序可以是一个shell或批处理脚本,也可以是操作系统级别的指令
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-1815841/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29485627/viewspace-1815841/