4条回答
默认
最新
您可以使用以下语法创建Oracle定时任务:
CREATE JOB job_name
[(schedule_interval)]
[, (repeat_interval)]
[, (start_date [, end_date])]
[, (enabled [, nomaximize])]
[, (logging_level [, logging_file])]
[, (owner [, tablespace_name])]
AS
BEGIN
'command_string';
END;
/
其中,job_name是您要创建的定时任务的名称,command_string是您要在定时任务中执行的命令。在SCHEDULE_INTERVAL部分指定时间间隔,在REPEAT_INTERVAL部分指定重复间隔。在START_DATE和END_DATE部分指定开始日期和结束日期。在ENABLED部分指定是否启用该定时任务。在LOGGING_LEVEL和LOGGING_FILE部分指定日志记录级别和日志文件。在OWNER和TABLESPACE_NAME部分指定表空间所有者和表空间名称。
评论
有用 0建议用SCHEDULE而非传统的JOB,管理和监控上更便利。
评论
有用 0使用DBMS_SCHEDULER.CREATE_JOB来设置定时任务,举例:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MY_SIMPLE_JOB',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN YOUR_PLSQL_PROCEDURE; END;',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY; INTERVAL=1',
end_date => NULL,
enabled => TRUE,
comments => 'My simple scheduled job');
END;
/
上述代码创建了一个名为MY_SIMPLE_JOB的作业,使用PL/SQL块作为任务的类型和动作。作业将在开始日期(此处设置为当前时间)开始,然后每天重复一次。该作业是启用状态。
请注意,即使使用更简单的方法,执行设置定时任务的DDL语句仍然需要适当的权限。通常,这需要具有DBA或SYSDBA角色的用户或有相应权限的用户来执行这些操作。
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

