oracle的dbms_scheduler
来源:互联网 发布:淘宝宠物疫苗曝光 编辑:程序博客网 时间:2024/04/28 14:39
--创建job
--一 :job_name 为创建的job的名称
--二 :job_type目前支持三种类型:PLSQL_BLOCK :
-- (1)PL/SQL块: 需要输入完整的PL/SQL代码;
-- (2)STORED_PROCEDURE : 存储过程: 需要指定存储过程的名字;
-- (3)EXECUTABLE: 外部程序: (外部程序可以是一个shell脚本,也可以是操作系统级别的指令). 需要输入script的名称或者操作系统的指令名
--三 :job_action:如果job_type为PL/SQL块,则该参数为具体的SQL块;如果job_type为STORED_PROCEDURE,则为存储过程名称
--四 :repeat_interval 间隔时间
--五 :enabled:如果为true,则创建是job运行
Begin
dbms_scheduler.create_job(
job_name => 'MyJob',
job_type => 'PLSQL_BLOCK',
job_action => 'insert into test values(1,''aaa'',''bbbb'');',
start_date => Sysdate,
repeat_interval => 'freq=minutely;interval=1',
enabled => True); --该字段默认情况下为false,即不启用
End;
/
--建立scheduler 并向scheduler里面加入job
--1.1创建scheduler
Begin
dbms_scheduler.create_schedule(
schedule_name => 'MySchedule',
start_date => Sysdate,
repeat_interval => 'FREQ=MINUTELY; INTERVAL=5');--五分钟调用一次
End;
/
--1.2创建job,并把他加入到scheduler中
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MyJob2',
job_type => 'PLSQL_BLOCK',
job_action => 'insert into test values(1,''aaa'',''bbbb'');',
schedule_name => 'MySchedule');
END;
/
--1.3再创建一个job
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MyJob3',
job_type => 'PLSQL_BLOCK',
job_action => 'insert into test values(2,''ccc'',''ddd'');',
schedule_name => 'MySchedule');
END;
/
--可以通过下列SQL查看当前用的scheduler的JOB
Select * From user_scheduler_jobs;
--1.4 可以将Myjob加入到scheduler中
Begin
dbms_scheduler.set_attribute(
name => 'MyJob',--要加入到scheduler的JOB名称
attribute => 'schedule_name',
value => 'MySchedule');
end;
/
--1.5 删除JOB
Begin
dbms_scheduler.drop_job(job_name => 'MyJob',force => True);--Force可以删除正在运行的JOB
End;
/
--1.6 删除scheduler
Begin
dbms_scheduler.drop_schedule(schedule_name => 'MySchedule',force => True);
End;
/
--1.7 如何修改job的属性(frequency:频率)
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'MyJob1',
attribute => 'repeat_interval',
value => 'FREQ=DAILY'); //每天执行一次
END;
/
--1.8 因为加入的JOB默认情况下是不会启用的,如果要启用,可以用下面
Begin
dbms_scheduler.enable(name => 'MyJob2,MyJob3');
End;
/
--1.9 Job 运行的详细情况
select log_id, job_name, status, to_char(log_date, 'DD-MON-YYYY HH24:MI') log_date
from dba_scheduler_job_run_details where job_name = 'MyJob2';
--如何管理计划任务的权限
GRANT SCHEDULER_ADMIN TO username;
GRANT CREATE JOB TO scott;
GRANT ALTER myjob1 TO scott;
GRANT MANAGE SCHEDULER TO adam;
--一 :job_name 为创建的job的名称
--二 :job_type目前支持三种类型:PLSQL_BLOCK :
-- (1)PL/SQL块: 需要输入完整的PL/SQL代码;
-- (2)STORED_PROCEDURE : 存储过程: 需要指定存储过程的名字;
-- (3)EXECUTABLE: 外部程序: (外部程序可以是一个shell脚本,也可以是操作系统级别的指令). 需要输入script的名称或者操作系统的指令名
--三 :job_action:如果job_type为PL/SQL块,则该参数为具体的SQL块;如果job_type为STORED_PROCEDURE,则为存储过程名称
--四 :repeat_interval 间隔时间
--五 :enabled:如果为true,则创建是job运行
Begin
dbms_scheduler.create_job(
job_name => 'MyJob',
job_type => 'PLSQL_BLOCK',
job_action => 'insert into test values(1,''aaa'',''bbbb'');',
start_date => Sysdate,
repeat_interval => 'freq=minutely;interval=1',
enabled => True); --该字段默认情况下为false,即不启用
End;
/
--建立scheduler 并向scheduler里面加入job
--1.1创建scheduler
Begin
dbms_scheduler.create_schedule(
schedule_name => 'MySchedule',
start_date => Sysdate,
repeat_interval => 'FREQ=MINUTELY; INTERVAL=5');--五分钟调用一次
End;
/
--1.2创建job,并把他加入到scheduler中
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MyJob2',
job_type => 'PLSQL_BLOCK',
job_action => 'insert into test values(1,''aaa'',''bbbb'');',
schedule_name => 'MySchedule');
END;
/
--1.3再创建一个job
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MyJob3',
job_type => 'PLSQL_BLOCK',
job_action => 'insert into test values(2,''ccc'',''ddd'');',
schedule_name => 'MySchedule');
END;
/
--可以通过下列SQL查看当前用的scheduler的JOB
Select * From user_scheduler_jobs;
--1.4 可以将Myjob加入到scheduler中
Begin
dbms_scheduler.set_attribute(
name => 'MyJob',--要加入到scheduler的JOB名称
attribute => 'schedule_name',
value => 'MySchedule');
end;
/
--1.5 删除JOB
Begin
dbms_scheduler.drop_job(job_name => 'MyJob',force => True);--Force可以删除正在运行的JOB
End;
/
--1.6 删除scheduler
Begin
dbms_scheduler.drop_schedule(schedule_name => 'MySchedule',force => True);
End;
/
--1.7 如何修改job的属性(frequency:频率)
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'MyJob1',
attribute => 'repeat_interval',
value => 'FREQ=DAILY'); //每天执行一次
END;
/
--1.8 因为加入的JOB默认情况下是不会启用的,如果要启用,可以用下面
Begin
dbms_scheduler.enable(name => 'MyJob2,MyJob3');
End;
/
--1.9 Job 运行的详细情况
select log_id, job_name, status, to_char(log_date, 'DD-MON-YYYY HH24:MI') log_date
from dba_scheduler_job_run_details where job_name = 'MyJob2';
--如何管理计划任务的权限
GRANT SCHEDULER_ADMIN TO username;
GRANT CREATE JOB TO scott;
GRANT ALTER myjob1 TO scott;
GRANT MANAGE SCHEDULER TO adam;
- oracle的dbms_scheduler
- Oracle DBMS_SCHEDULER
- Oracle 10g DBMS_SCHEDULER的中度解析
- oracle DBMS_SCHEDULER详解
- Oracle定时任务-DBMS_SCHEDULER
- ORACLE DBMS_SCHEDULER使用
- Oracle定时任务dbms_scheduler
- Oracle - dbms_job vs. dbms_scheduler
- oracle 任务计划dbms_scheduler
- oracle定时任务dbms_scheduler
- 利用oracle dbms_scheduler执行windows的bat脚本加载数据
- DBMS_SCHEDULER包的使用方法
- DBMS_SCHEDULER 的使用
- Oracle调度程序作业dbms_scheduler
- Oracle定时任务(1)-DBMS_SCHEDULER
- Oracle jobs(DBMS_JOB and DBMS_SCHEDULER)
- Oracle调度程序作业dbms_scheduler
- oracle调度程序作业dbms_scheduler
- 如何查杀僵尸进程
- UIAlertView备忘
- hdu 1019 Least Common Multiple
- 使用 Python 获取 Linux 系统信息
- 运行地址
- oracle的dbms_scheduler
- 内存管理2对象之间的内存管理
- (13)拨云见日,闲聊哈希表
- Linux新手入门之如何登入登出Linux操作系统
- 设计模式之适配器模式(Adapter)
- 完全删除SQL server 2008
- POJ 3009 Curling 2.0
- Linux关机命令详解
- Chrome不支持showModalDialog模态对话框和无法返回returnValue的问题