DM数据库作业创建及管理(非图形化)

相信使用过图形化客户端 MANAGER 管理工具来创建作业管理对于新手来说是相当方便,但是也不排除一些情况下无法使用图形化界面去操作,那就需要通过系统过程来实现了。

首先创建作业环境
要进行作业管理,需要先创建作业环境,即创建一些系统表来存储作业相关的对象、历
史记录等信息。用户可以通过调用系统过程 SP_INIT_JOB_SYS(1)来创建这些表。这些表被建在
SYSJOB 模式下。SP_INIT_JOB_SYS(1)还会创建一张系统表 SYSJOBHISTORIES,用以兼容 DM8 之前的版本。

创建 SYSJOB 模式及系统表的语句。
SQL> SP_INIT_JOB_SYS(1);
DMSQL 过程已成功完成
已用时间: 163.034(毫秒). 执行号:55204.

删除 SYSJOB 模式及系统表的语句。
SQL> SP_INIT_JOB_SYS(0);
DMSQL 过程已成功完成
已用时间: 77.631(毫秒). 执行号:55205.

在数据库中创建了前述作业管理表后,就可以进行作业的配置了。由于在创建一个作业
时必须要指定操作员,所以需要创建一个操作员

SP_CREATE_OPERATOR (
OPR_NAME VARCHAR(128),
ENABLED INT,
EMAILADDR VARCHAR(128),
NETSEND_IP VARCHAR(128)
)
修改语法则是如下
SP_ALTER_OPERATOR (
OPR_NAME VARCHAR(128),
ENABLED INT,
EMAILADDR VARCHAR(128),
NETSEND_IP VARCHAR(128)
)

删除语法如下
SP_DROP_OPERATOR (
OPR_NAME VARCHAR(128)
)
举例
SQL> SP_CREATE_OPERATOR('test', 1, 'tes@test.com', '192.168.126.211');
DMSQL 过程已成功完成
已用时间: 2.550(毫秒). 执行号:55206.

SQL> SP_DROP_OPERATOR('test');
DMSQL 过程已成功完成
已用时间: 3.706(毫秒). 执行号:55207.


创建作业需要使用的系统过程 SP_CREATE_JOB
语法如下

SP_CREATE_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)
)

创建作业

SQL> SP_CREATE_JOB('job_bak',1,0,'',0,0,'',0,'full backupset');
DMSQL 过程已成功完成
已用时间: 2.016(毫秒). 执行号:55208.

开始配置作业,其中参数就是前面创建的作业名称

SQL> SP_JOB_CONFIG_START('job_bak');
DMSQL 过程已成功完成
已用时间: 1.349(毫秒). 执行号:55209.

增加步骤通过系统过程 SP_ADD_JOB_STEP 实现

语法如下
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);
call SP_ADD_JOB_STEP('TEST', 'STEP1', 0, 'INSERT INTO MYINFO VALUES(1000, ''HELLO WORLD''); ', 0, 0, 2, 1, NULL, 0);
[-8427]:非法的作业配置操作.
已用时间: 2.590(毫秒). 执行号:0.

和之前一致则正常执行
SQL> SP_ADD_JOB_STEP('job_bak', 'STEP1', 0, 'INSERT INTO MYINFO VALUES(1000, ''HELLO WORLD''); ', 0, 0, 2, 1, NULL, 0);
DMSQL 过程已成功完成
已用时间: 3.760(毫秒). 执行号:55308.

增加调度通过调度系统过程 SP_ADD_JOB_SCHEDULE 实现。

SQL>  SP_ADD_JOB_SCHEDULE('job_bak', 'SCHEDULE3', 1, 1, 1, 0, 1, CURTIME, '23:59:59', CURDATE, NULL, '一个测试调度');
DMSQL 过程已成功完成
已用时间: 2.673(毫秒). 执行号:55309.
commit 生效
SQL>  SP_JOB_CONFIG_COMMIT('job_bak');
DMSQL 过程已成功完成
已用时间: 9.730(毫秒). 执行号:55310.

如果一个作业已经执行完成,或者由于其它什么原因需要删除作业,可以调用系统过程
SP_DROP_JOB 实现

SQL> SP_DROP_JOB('job_bak');
DMSQL 过程已成功完成
已用时间: 21.893(毫秒). 执行号:55312.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值