如何通过作业备份前一天的归档

【问题描述】

如何通过作业只备份前一天的归档?

【问题原因】

代理作业中归档备份默认是备份所有的归档日志,无法直接按天筛选,因此需要通过自定义脚本实现只备份前一天归档的需求。

【问题解决】

可按照如下步骤进行:

  1. 开启 dmap 服务;
  2. 开启数据库归档;
  3. 右击管理工具-【代理】-【作业】-【新建作业】;
  4. 在作业名称和作业描述中填写备份名称和描述;
  5. 在作业步骤中选择步骤类型为【SQL 脚本】,并写入如下内容:
declare
adb varchar(36);
ad varchar(36);
abc varchar(500);
begin
adb:=to_char(sysdate-1);
ad:=to_char(sysdate, 'yyyymmdd_hh24miss') ;
abc :='backup archivelog from time '''||adb||''' backupset ''E:\DB\dmdata\bak\ARCHBAK_'||ad||''';';
print (abc);
execute immediate  abc;
end;
  1. 在作业调度中选择备份的时间策略,按需要设置【发生频率】;
  2. 保存作业即可。