如何使用作业进行归档备份

【问题描述】

如何使用作业进行归档备份?

【问题原因】

该操作没有特定触发原因,属于日常运维中希望通过作业自动化执行归档备份和清理的常规需求。

【问题解决】

例如,如下作业归档备份配置。

  1. 设置每 90 分钟进行增量归档备份,备份时间为 6 点到 24 点,增量备份失败自动进行全量归档备份。
call SP_CREATE_JOB('ARCH_BAK',1,0,'',0,0,'',0,'进行增量归档备份,增量备份失败自动进行全量归档备份');
call SP_JOB_CONFIG_START('ARCH_BAK');
call SP_ADD_JOB_STEP('ARCH_BAK', 'st1', 0, 'declare
v_time varchar(36);
bak_sql varchar(500);
begin
v_time:=to_char(sysdate,''yyyymmdd_hh24miss'') ;
bak_sql := ''backup archivelog all NOT BACKED UP backupset ''''/dmbak/RCPFDB/arch_bak''||v_time||'''''' ;'';
execute immediate  bak_sql;
end;', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('ARCH_BAK', 'st1', 1, 1, 1, 0, 90, '06:00:00', '23:59:59', '2023-03-19 23:44:53', NULL, '');
call SP_JOB_CONFIG_COMMIT('ARCH_BAK');
  1. 每天 4 点删除 3 天前的归档备份。
call SP_CREATE_JOB('DELARCH_BAK',1,0,'',0,0,'',0,'删除归档备份');
call SP_JOB_CONFIG_START('DELARCH_BAK');
call SP_ADD_JOB_STEP('DELARCH_BAK', 'a', 0, 'call sf_bakset_backup_dir_add(''DISK'',''/dmbak/RCPFDB/arch_bak'');
call sp_arch_bakset_remove_batch(''DISK'',SYSDATE-3);', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('DELARCH_BAK', 'a', 1, 1, 1, 0, 0, '04:00:00', NULL, '2022-12-27 19:51:20', NULL, '');
call SP_JOB_CONFIG_COMMIT('DELARCH_BAK');

用户在参考该示例配置作业归档备份时需要按实际情况修改相关内容,如备份时间、路径等,相关参数解释可参考《DM8 作业系统使用手册》。