DM8定时作业配置实现数据库自动备份
实施了一个项目,有幸接触到国产数据库,通过达梦大学的学习,掌握了不少国产数据库知识,将数据库通过定时任务备份整理操作流程,供各位参考。
一、开启归档
alter DATABASE MOUNT; //配置数据库mount状态
alter DATABASE ARCHIVELOG; //开启归档
alter database add archivelog ‘DEST=/opt/dm8/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=64, SPACE_LIMIT=0’; //配置归档路径,文件大小等
alter DATABASE open;//配置数据库open状态
定时作业全库备份数据库
SP_INIT_JOB_SYS(1); //启动代理
call SP_CREATE_JOB(‘JOB1’,1,0,’’,0,0,’’,0,’’);
call SP_JOB_CONFIG_START(‘JOB1’);
call SP_ADD_JOB_STEP(‘JOB1’, ‘JOB11’, 5, ‘01000/opt/dmdbms/data/backup’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB1’, ‘JOB111’, 1, 2, 1, 9, 0, ‘00:00:00’, NULL, ‘2020-12-31 00:00:00’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB1’);
设置每周日、周三 00:00进行全库备份,2020年12月31日00:00开始执行。
call SP_CREATE_JOB(‘JOB2’,1,0,’’,0,0,’’,0,’’);
call SP_JOB_CONFIG_START(‘JOB2’);
call SP_ADD_JOB_STEP(‘JOB2’, ‘JOB22’, 5, ‘11000/opt/dm8/data/backup|/opt/dm8/data/backup’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB2’, ‘JOB222’, 1, 2, 1, 118, 0, ‘00:00:00’, NULL, ‘2020-12-31 00:00:00’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB2’);
设置每周一、周二、周四、周五、周六00:00 进行增量备份,2020年12月31日00:00开始执行。 备份路径:/opt/dm8/data/backup 备份基路径:/opt/dm8/data/backup
定时删除15天前备份
call SP_CREATE_JOB(‘JOB_DEL’,1,0,’’,0,0,’’,0,‘定时删除备份’);
call SP_JOB_CONFIG_START(‘JOB_DEL’);
call SP_ADD_JOB_STEP(‘JOB_DEL’, ‘JOB_DEL’, 0, ‘SP_DB_BAKSET_REMOVE_BATCH(’‘DISK’’, NOW()-15);’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB_DEL’, ‘SCHEDULE_DEL_BAK’, 1, 2, 1, 1, 0, ‘00:00:00’, NULL, ‘2020-12-31 00:00:00’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB_DEL’);
每周日00:00执行删除15天以前的备份,2020年12月31日00:00开始执行。
达梦8和达梦7在系统过程使用的时候有点区别,具体如下:
DM7:SP_BATCH_DEL_BAK(’‘DAMENG’’, ‘’’’, 1, sysdate-15, -1);
DM8:SP_DB_BAKSET_REMOVE_BATCH(‘DISK’, NOW()-15);