关键字

KingbaseES、kdb_scheduler、DBMS_JOB、DBMS_SCHEDULER

概述

Kdb_scheduler是KingbaseES 数库据用于自动执行计划任务的客户端工具。 支持 PL/SQL 和 BATCH两种类型的计划任务,支持远程和本地两种任务模式,支持 dbms_job 和 dbms_scheduler的主要功能。

使用方法

1. 创建 kdb_scheduler 扩展 create extension kdb_schedule;

2. 启动 kdb_scheduler 客户端 kdb_schedule -l 2 "user=test password=12345 dbname=TEST"

3. 创建计划任务 \set SQLTERM / DECLARE jobid int ; BEGIN call DBMS_JOB.submit(jobid, 'CREATE TABLE T1(A int)', now(), 'Freq=daily;BYHOUR=10;BYMINUTE=10;BYSECOND=10', false, 0, false); END; / \set SQLTERM ;

4. 查询任务 select * from kdb_schedule.kdb_job;

5. 启动任务 call dbms_job.broken(1,false,now());

6. 修改任务 call dbms_job.what(1, ‘INSERT INTO T1 VALUES(1);');

7. 暂停任务 call dbms_job.broken(1,TRUE,now());

8. 删除任务 call dbms_job.remove(1);

日历表示法:

FREQ:重复时间的类型。这里有 yearly 、 monthly 、 weekly 、 daily 、 h ourly 、 minutely

INTERVAL:重复的频率,默认值是 1

BYMONTH:指定月份

BYMONTHDAY: 指定一月中的某一天

BYHOUR: 指定一天中的某一个小时

BYMINTUE: 指定一个小时某一分钟

BYSECOND: 指定一分钟的某一秒

例子 :

每天早上10点

FREQ=DAILY;BYHOUR=10;BYMINUTE=0; BYSECOND=0;

每个隔 7天早上10点

FREQ=DAILY;INTERVAL=7;BYHOUR=10; BYMINUTE=0;BYSECOND=0;

每年10月1号早上10点

FREQ=YEARLY;BYMONTH=10; BYMONTHDAY=1;BYHOUR=10; BYMINUTE=0;BYSECOND=0;

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐