一、命令行设置定时备份作业
配置归档环境:
先在虚拟机上安装好单机库并初始化,
创建归档目录和备份目录:
创建归档目录和备份目录
mkdir -p /home/dmarch /home/dmbak
授权:
chown -R dmdba:dinstall /home/dmarch /home/dmbak
1、手动配置归档:
修改dm.ini文件,将ARCH_INI设为1
在当前目录下配置dmarch.ini文件
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST =/home/dmarch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
启动实例后exit,让数据库进入归档状态。
2、配置联机归档:
将数据库修改成mount 配置状态
配置本地归档:
ALTER DATABASE ADD ARCHIVELOG 'DEST =/home/dmarch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 10240';
开启归档:
ALTER DATABASE ARCHIVELOG;
此时配置数据库为OPEN状态:
ALTER DATABASE OPEN;
在进行联机备份时,要注意:
关闭已配置的本地归档后,再重新打开,这样会使归档文件中部分日志的缺失,备份时检查归档文件连续性时将会报错。为了避免错误,在进行这种备份操作前需要调用 checkpo int(100)主动刷新检查点。
创建作业环境:
作业环境初始化
SP_INIT_JOB_SYS(1);
作业环境销毁
SP_INIT_JOB_SYS(0);
定时备份
开启定时备份,每周六16:20分进行全量备份,从2021年8月28号下午16:19分开始。
全备:
call SP_CREATE_JOB('JOB_FULL_BAK_TIMELY',1,0,'',0,0,'',0,'定时全备');
call SP_JOB_CONFIG_START('JOB_FULL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_FULL_BAK_TIMELY', 's1', 6, '01010000/home/dmbak', 1, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_FULL_BAK_TIMELY', 's2', 1, 2, 1, 64, 0, '16:20:50', NULL, '2021-08-28 16:19:50', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_FULL_BAK_TIMELY');
增量备份:
开启增量备份,每周六下午16:20分进行增量备份,从2021年8月28号下午16:19分开始。
call SP_CREATE_JOB('JOB_INCREMENT_BAK_TIMELY',1,0,'',0,0,'',0,'增量备份');
call SP_JOB_CONFIG_START('JOB_INCREMENT_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_INCREMENT_BAK_TIMELY', 's3', 6, '11010000/home/dmbak|/home/dmbak', 1, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_INCREMENT_BAK_TIMELY', 's4', 1, 2, 1, 64, 0, '16:20:00', NULL, '2021-08-28 16:19:00', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_INCREMENT_BAK_TIMELY');
设置定期删除备份
定期删除备份,每天执行一次,执行时间为16:22:58分,从2021年8月28号起。
call SP_CREATE_JOB('JOB_DEL_BAK_TIMELY',1,0,'',0,0,'',0,'删除备份集');
call SP_JOB_CONFIG_START('JOB_DEL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_DEL_BAK_TIMELY', 's5', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/home/dmbak'');SF_BAKSET_REMOVE_BATCH (NULL, now(), NULL, NULL);', 3, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_DEL_BAK_TIMELY', 's6', 1, 1, 1, 0, 0, '15:58:08', NULL, '2021-08-28 16:22:00', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_DEL_BAK_TIMELY');
查看作业信息
select ID,NAME,ENABLE,USERNAME,CREATETIME,VALID,DESCRIBE from SYSJOB.SYSJOBS;
查看步骤信息
select ID,NAME,JOBID,SEQNO,TYPE,COMMAND from SYSJOB.SYSJOBSTEPS;
查看调度信息
select ID,NAME,JOBID,ENABLE,TYPE,FREQ_INTERVAL,FREQ_SUB_INTERVAL,STARTTIME,VALID,DESCRIBE from SYSJOB.SYSJOBSCHEDULES;
查看作业的执行情况
select NAME,START_TIME,END_TIME,ERRCODE,ERRINFO from SYSJOB.SYSJOBHISTORIES2 order by START_TIME desc;
二、图形化创建定时备份作业
先创建代理环境
新建作业后开始设置
在作业步骤中,点右下的“添加”,新建作业步骤。
确认后,新建作业调度。
此时定时全备的作业设置成功:
增量备份作业步骤与上述类似,但是要添加基备份路径。
设置作业定时删除备份集:
在作业调度里添加sql语句:
SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''E:\dmbak'');SF_BAKSET_REMOVE_BATCH (NULL, now()-5, NULL, NULL);
查看作业
更多资讯请上达梦技术社区了解: https://eco.dameng.com