通过系统过程实现创建、修改和删除作业
达梦的作业系统主要是提高工作效率,提高自动化,减少人为操作出现的不可预知问题。
创建作业
1.创建作业
语法:
SP_CREATE_JOB (JOB_NAME VARCHAR(128),// 作业名称。
ENABLED INT, //作业是否启用0 OR 1。
ENABLE_EMAIL INT, //作业是否开启邮件系统0 OR 1。
EMAIL_OPTR_NAME VARCHAR(128), //指定操作员名称。
EMAIL_TYPE INT, //在开启了邮件发送之后0成功1失败2结束 发送
ENABLED_NETSEND INT, //作业是否开启网络发送。0 OR 1。
NETSEND_OPTR_NAME VARCHAR(128),// 指定操作员名称。
NETSEND_TYPE INT, //如果在开启了网络发送之后。同EMAIL_TYPE。
DESCRIBE VARCHAR(8187) ) //作业描述信息,最长 500 个字节。
例:SP_CREATE_JOB(‘TEST’, 1, 1, ‘wang’, 2, 1, ‘wang’, 2, ‘每一个测试作业’);
2.修改作业
语法:
SP_ALTER_JOB (JOB_NAME
VARCHAR(128),ENABLED INT,
ENABLE_EMAIL INT,
EMAIL_OPTR_NAME VARCHAR(128),
EMAIL_TYPE INT,
ENABLED_NETSEND INT,
NETSEND_OPTR_NAME VARCHAR(128),
NETSEND_TYPE INT,
DESCRIBE VARCHAR(8187))
例:SP_alter_JOB(‘TEST’, 1, 1, ‘wang’, 2, 1, ‘wang’, 2, ‘每一个测试作业’);
3.删除作业
语法:
SP_DROP_JOB (JOB_NAME VARCHAR(128))
例:SP_DROP_JOB(‘TEST’);
配置作业
1.开始作业配置
语法:
SP_JOB_CONFIG_START (JOB_NAME VARCHAR(128))
SP_JOB_CONFIG_START(‘TEST’);
2.作业步骤
增加步骤:
SP_ADD_JOB_STEP (JOB_NAME VARCHAR(128),
STEP_NAME VARCHAR(128),
TYPE INT,
COMMAND VARCHAR(8187),
SUCC_ACTION INT,
FAIL_ACTION INT,
RETRY_ATTEMPTS INT,
RETRY_INTERVAL INT,
OUTPUT_FILE_PATH VARCHAR(256),
APPEND_FLAG INT))
例:
SQL> SP_ADD_JOB_STEP(‘TEST’, ‘STEP1’, 0, 'INSERT INTO MYINFO VALUES(1000, ‘‘HELLO WORLD’’); ', 0, 0, 2, 1, NULL, 0);
3.修改步骤
语法:
SP_ALTER_JOB_STEP (JOB_NAME VARCHAR(128),
STEP_NAME VARCHAR(128),
TYPE INT,COMMAND VARCHAR(8187),
SUCC_ACTION INT,
FAIL_ACTION INT,
RETRY_ATTEMPTS INT,
RETRY_INTERVAL INT,
OUTPUT_FILE_PATH VARCHAR(256),
APPEND_FLAG INT)
例:SP_ALTER_JOB_STEP(‘TEST’, ‘STEP1’, 0, 'INSERT INTO MYINFO VALUES(1000, ‘‘SAY WORLD’’); ', 0, 0, 2, 3, NULL, 0);
4.删除步骤
语法:
SP_DROP_JOB_STEP (JOB_NAME VARCHAR(128),STEP_NAME VARCHAR(128))
例:SP_DROP_JOB_STEP(‘TEST’, ‘STEP1’)
作业调度
增加、删除调度必须是在配置作业开始后才能进行,否则系统会报错,这样处理主要是为了保证作业配置的完整性。
1.增加调度
增加调度通过调度系统过程 SP_ADD_JOB_SCHEDULE 实现。
语法如下:
SP_ADD_JOB_SCHEDULE (JOB_NAME VARCHAR(128),// 待作业名称。
SCHEDULE_NAME VARCHAR(128),// 待创建的调度名称。
ENABLE INT,// 表示调度是否启用,布尔类型。0 OR 1
TYPE INT, //指定调度类型。取值 0、 1、 2、 3、 4、 5、 6、 7、 8。
FREQ_INTERVAL INT,// 与 TYPE 有关。
FREQ_SUB_INTERVAL INT,// 与 TYPE 和 FREQ_INTERVAL 有关
FREQ_MINUTE_INTERVAL INT, //表示一天内每隔多少分钟执行一次。
STARTTIME VARCHAR(128),// 定义作业被调度的起始时间。
ENDTIME VARCHAR(128),// 定义作业被调度的结束时间。
DURING_START_DATE VARCHAR(128),// 指定作业被调度的起始日期。
DURING_END_DATE VARCHAR(128), //指定作业被调度的结束日期。
DESCRIBE VARCHAR(500))// 表示调度的注释信息.
例:SP_ADD_JOB_SCHEDULE(‘TEST’, ‘SCHEDULE3’, 1, 1, 1, 0, 1, CURTIME, ‘23:59:59’,CURDATE, NULL, ‘一个测试调度’);
2.修改调度
语法:
SP_ALTER_JOB_SCHEDULE (JOB_NAME VARCHAR(128),
SCHEDULE_NAME VARCHAR(128),
ENABLE INT,
TYPE INT,
FREQ_INTERVAL INT,
FREQ_SUB_INTERVAL INT,
FREQ_MINUTE_INTERVAL INT,
STARTTIME VARCHAR(128),
ENDTIME VARCHAR(128),
DURING_START_DATE VARCHAR(128),
DURING_END_DATE VARCHAR(128),
DESCRIBE VARCHAR(500))
例:SP_ALTER_JOB_SCHEDULE(‘TEST’, ‘SCHEDULE3’, 1, 1, 2, 0, 1, CURTIME, ‘22:59:59’,CURDATE, NULL, ‘一个测试调度’);
3.删除调度
语法:
SP_DROP_JOB_SCHEDULE (JOB_NAME VARCHAR(128),SCHEDULE_NAME VARCHAR(128)
例:SP_DROP_JOB_SCHEDULE(‘TEST’, ‘SCHEDULE3’);
4.结束作业配置
语法:
SP_JOB_CONFIG_COMMIT (JOB_NAME VARCHAR(128))
例:SP_JOB_CONFIG_COMMIT (‘test’);
5.清除作业日志记录
SP_JOB_CLEAR_HISTORIES (JOB_NAME VARCHAR(128))
例:SP_JOB_CLEAR_HISTORIES (‘TEST’);
当然达梦的作业系统还有图形化的作业系统,更加易懂,这里就不在阐述了。
注意:
在使用SP_DROP_JOB_SCHEDULE参 数时, 必 须 先调 用SP_JOB_CONFIG_START这个参数,不然系统会报错。