首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

修改DBMS_SCHEDULER作业以在特定小时和分钟之间停止运行

DBMS_SCHEDULER是Oracle数据库中的一个调度器,用于管理和执行作业。要修改DBMS_SCHEDULER作业以在特定小时和分钟之间停止运行,可以按照以下步骤进行操作:

  1. 首先,使用DBMS_SCHEDULER.CREATE_JOB过程创建一个作业。可以指定作业的名称、类型、执行时间和重复规则等参数。例如,可以创建一个定时作业,每天在特定的小时和分钟运行。
  2. 使用DBMS_SCHEDULER.SET_ATTRIBUTE过程修改作业的属性。可以使用该过程设置作业的开始时间和结束时间,以及其他相关属性。在这里,我们需要设置作业的结束时间为特定的小时和分钟。
  3. 使用DBMS_SCHEDULER.ENABLE过程启用作业。这将使作业处于可执行状态。
  4. 当作业达到结束时间时,DBMS_SCHEDULER将自动停止作业的执行。

下面是一个示例代码片段,演示如何修改DBMS_SCHEDULER作业以在特定小时和分钟之间停止运行:

代码语言:txt
复制
-- 创建作业
BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'my_job',
    job_type        => 'PLSQL_BLOCK',
    job_action      => 'BEGIN NULL; END;',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'FREQ=DAILY',
    end_date        => NULL,
    enabled         => FALSE);
END;
/

-- 设置作业的开始时间和结束时间
BEGIN
  DBMS_SCHEDULER.SET_ATTRIBUTE (
    name      => 'my_job',
    attribute => 'start_date',
    value     => SYSTIMESTAMP);
    
  DBMS_SCHEDULER.SET_ATTRIBUTE (
    name      => 'my_job',
    attribute => 'end_date',
    value     => SYSTIMESTAMP + INTERVAL '1' HOUR + INTERVAL '30' MINUTE);
END;
/

-- 启用作业
BEGIN
  DBMS_SCHEDULER.ENABLE (
    name => 'my_job');
END;
/

在上述示例中,我们创建了一个名为"my_job"的作业,类型为PL/SQL块。作业的开始时间设置为当前时间,重复规则为每天执行一次。然后,我们设置作业的结束时间为当前时间加上1小时30分钟。最后,我们启用了作业。

请注意,上述示例中的代码仅适用于Oracle数据库中的DBMS_SCHEDULER调度器。对于其他数据库或调度器,可能需要使用不同的语法和过程。

推荐的腾讯云相关产品:腾讯云数据库 TencentDB,腾讯云云服务器 CVM。

腾讯云数据库 TencentDB:https://cloud.tencent.com/product/cdb 腾讯云云服务器 CVM:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Oracle Job创建及使用详解

Oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的job,可以查询视图 --相关视图 select * from dba_jobs; select * from all_jobs; select * fromuser_jobs; -- 查询字段描述 /* 字段(列) 类型 描述 JOB NUMBER 任务的唯一标示号 LOG_USER VARCHAR2(30) 提交任务的用户 PRIV_USER VARCHAR2(30) 赋予任务权限的用户 SCHEMA_USER VARCHAR2(30) 对任务作语法分析的用户模式 LAST_DATE DATE 最后一次成功运行任务的时间 LAST_SEC VARCHAR2(8) 如HH24:MM:SS格式的last_date日期的小时,分钟和秒 THIS_DATE DATE 正在运行任务的开始时间,如果没有运行任务则为null THIS_SEC VARCHAR2(8) 如HH24:MM:SS格式的this_date日期的小时,分钟和秒 NEXT_DATE DATE 下一次定时运行任务的时间 NEXT_SEC VARCHAR2(8) 如HH24:MM:SS格式的next_date日期的小时,分钟和秒 TOTAL_TIME NUMBER 该任务运行所需要的总时间,单位为秒 BROKEN VARCHAR2(1) 标志参数,Y标示任务中断,以后不会运行 INTERVAL VARCHAR2(200) 用于计算下一运行时间的表达式 FAILURES NUMBER 任务运行连续没有成功的次数 WHAT VARCHAR2(2000) 执行任务的PL/SQL块 CURRENT_SESSION_LABELRAW MLSLABEL 该任务的信任Oracle会话符 CLEARANCE_HI RAW MLSLABEL 该任务可信任的Oracle最大间隙 CLEARANCE_LO RAW MLSLABEL 该任务可信任的Oracle最小间隙 NLS_ENV VARCHAR2(2000) 任务运行的NLS会话设置 MISC_ENV RAW(32) 任务运行的其他一些会话参数 */ -- 正在运行job select * fromdba_jobs_running; 其中最重要的字段就是job这个值就是我们操作job的id号,what 操作存储过程的名称,next_date 执行的时间,interval执行间隔 二、执行间隔interval运行频率

05
领券