暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用达梦作业进行数据库和归档物理备份

576

概述

本文档介绍如何使用达梦作业进行数据库和归档物理备份。

参考文档

备份还原 达梦技术文档

备份还原实战 达梦技术文档

作业 达梦技术文档

实施过程

数据库备份

数据库备份分3个定时任务:

job 1 全量备份

----创建代理环境
SP_INIT_JOB_SYS(1); 
--全量备份:定时每周六00:30点整进行
call SP_CREATE_JOB('bak_full',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('bak_full');

call SP_ADD_JOB_STEP('bak_full', 'bak_full', 6, '01040900/dmbak', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('bak_full', 'bak_full', 1, 2, 1, 64, 0, '00:30:00', NULL, '2020-06-25 22:43:59', NULL, '');

call SP_JOB_CONFIG_COMMIT('bak_full');

job 2 增量备份

–增量备份:定时每周一、二、三、四、五、日晚01点进行

call SP_CREATE_JOB('bak_inc',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('bak_inc');

call SP_ADD_JOB_STEP('bak_inc', 'bak_inc', 6, '11040900/dmbak|/dmbak', 1, 3, 2, 6, NULL, 0);

call SP_ADD_JOB_STEP('bak_inc', 'switch_full', 6, '01040900/dmbak', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('bak_inc', 'bak_inc', 1, 2, 1, 63, 0, '01:00:00', NULL, '2023-11-19 12:25:00', NULL, '');

call SP_JOB_CONFIG_COMMIT('bak_inc');

job 3 备份清理

–备份保留30天,清除30天前的备份,每天凌晨03点整进行

call SP_CREATE_JOB('bak_clear',1,0,'',0,0,'',0,'每天删除30天前的备份');
call SP_JOB_CONFIG_START('bak_clear');
call SP_ADD_JOB_STEP('bak_clear', 'del_bak', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmbak'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bak_clear', 'diaodu_del', 1, 1, 1, 0, 0, '03:00:00', NULL, '2023-11-25 21:51:03', NULL, '');
call SP_JOB_CONFIG_COMMIT('bak_clear');

归档备份

设置每 90 分钟进行增量归档备份,备份时间为 6 点到 24 点,增量备份。

call SP_CREATE_JOB('bak_arch',1,0,'',0,0,'',0,'进行增量归档备份');
call SP_JOB_CONFIG_START('bak_arch');
call SP_ADD_JOB_STEP('bak_arch', '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/''||v_time||'''''' MAXPIECESIZE 10240 COMPRESSED PARALLEL 4;'';
execute immediate  bak_sql;
end;', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bak_arch', 'st1', 1, 1, 1, 0, 90, '06:00:00', '23:59:59', '2023-11-19 21:14:53', NULL, '');
call SP_JOB_CONFIG_COMMIT('bak_arch');

每天 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'');
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, '2023-12-27 15:01:20', NULL, '');
call SP_JOB_CONFIG_COMMIT('DELARCH_BAK');

效果展示

后台查询创建4个JOB

SQL> select t.job, t.schema_user, t.last_date, t.last_sec, t.next_date, t.next_sec, t."INTERVAL", t.broken, t.failures,t.what
2     from dba_jobs t;

行号     JOB         schema_user last_date  last_sec next_date  next_sec INTERVAL    broken failures   
---------- ----------- ----------- ---------- -------- ---------- -------- ----------- ------ -----------
           what                                                                                         
           ---------------------------------------------------------------------------------------------
1          1673401711  SYSDBA      2024-01-11 03:00:51 2024-01-11 03:00:00 86400       N      0
           SF_BAKSET_BACKUP_DIR_ADD('DISK','/dmbak'); CALL SP_DB_BAKSET_REMOVE_BATCH('DISK',SYSDATE-30);

2         1690335091  SYSDBA      2024-01-06 00:30:55 2024-01-13 00:30:00 604800      N      0
           01040900/dmbak

3         1690335092  SYSDBA      2024-01-11 01:00:55 2024-01-11 01:00:00 604800      N      0
           11040900/dmbak|/dmbak

4         1704938451  SYSDBA      2024-01-11 13:34:57 2024-01-11 13:34:19 86400       N      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/'||v_time||''' MAXPIECESIZE 10240 COMPRESSED PARALLEL 4;'; execute immediate  bak_sql; end;

备份展示

[root@dmdb dmbak]# pwd
/dmbak
[root@dmdb dmbak]# ls -lrt
total 140
drwxr-xr-x 2 dmdba dinstall 4096 Dec 13 01:00 DB_DAMENG_INCREMENT_2023_12_13_01_00_19
drwxr-xr-x 2 dmdba dinstall 4096 Dec 14 01:00 DB_DAMENG_INCREMENT_2023_12_14_01_00_23
drwxr-xr-x 2 dmdba dinstall 4096 Dec 15 01:00 DB_DAMENG_INCREMENT_2023_12_15_01_00_25
drwxr-xr-x 2 dmdba dinstall 4096 Dec 16 00:30 DB_DAMENG_FULL_2023_12_16_00_30_25          <====== 全量备份
drwxr-xr-x 2 dmdba dinstall 4096 Dec 17 01:00 DB_DAMENG_INCREMENT_2023_12_17_01_00_25     <====== 增量备份
drwxr-xr-x 2 dmdba dinstall 4096 Dec 18 01:00 DB_DAMENG_INCREMENT_2023_12_18_01_00_26
drwxr-xr-x 2 dmdba dinstall 4096 Dec 21 01:00 DB_DAMENG_INCREMENT_2023_12_21_01_00_28
drwxr-xr-x 2 dmdba dinstall 4096 Dec 22 01:00 DB_DAMENG_INCREMENT_2023_12_22_01_00_28
drwxr-xr-x 2 dmdba dinstall 4096 Dec 23 00:30 DB_DAMENG_FULL_2023_12_23_00_30_28
drwxr-xr-x 2 dmdba dinstall 4096 Dec 24 01:00 DB_DAMENG_INCREMENT_2023_12_24_01_00_30
drwxr-xr-x 2 dmdba dinstall 4096 Dec 25 01:00 DB_DAMENG_INCREMENT_2023_12_25_01_00_32
drwxr-xr-x 2 dmdba dinstall 4096 Dec 26 01:00 DB_DAMENG_INCREMENT_2023_12_26_01_00_36
drwxr-xr-x 2 dmdba dinstall 4096 Dec 27 01:00 DB_DAMENG_INCREMENT_2023_12_27_01_00_38
drwxr-xr-x 2 dmdba dinstall 4096 Dec 28 01:00 DB_DAMENG_INCREMENT_2023_12_28_01_00_39
drwxr-xr-x 2 dmdba dinstall 4096 Dec 29 01:00 DB_DAMENG_INCREMENT_2023_12_29_01_00_40
drwxr-xr-x 2 dmdba dinstall 4096 Dec 30 00:30 DB_DAMENG_FULL_2023_12_30_00_30_41
drwxr-xr-x 2 dmdba dinstall 4096 Dec 31 01:00 DB_DAMENG_INCREMENT_2023_12_31_01_00_43
drwxr-xr-x 2 dmdba dinstall 4096 Jan  1 01:00 DB_DAMENG_INCREMENT_2024_01_01_01_00_46
drwxr-xr-x 2 dmdba dinstall 4096 Jan  2 01:00 DB_DAMENG_INCREMENT_2024_01_02_01_00_46
drwxr-xr-x 2 dmdba dinstall 4096 Jan  3 01:00 DB_DAMENG_INCREMENT_2024_01_03_01_00_46
drwxr-xr-x 2 dmdba dinstall 4096 Jan  4 01:00 DB_DAMENG_INCREMENT_2024_01_04_01_00_47
drwxr-xr-x 2 dmdba dinstall 4096 Jan  5 01:00 DB_DAMENG_INCREMENT_2024_01_05_01_00_47
drwxr-xr-x 2 dmdba dinstall 4096 Jan  6 00:30 DB_DAMENG_FULL_2024_01_06_00_30_48
drwxr-xr-x 2 dmdba dinstall 4096 Jan  9 01:00 DB_DAMENG_INCREMENT_2024_01_09_01_00_51
drwxr-xr-x 2 dmdba dinstall 4096 Jan 10 01:00 DB_DAMENG_INCREMENT_2024_01_10_01_00_51
drwxr-xr-x 2 dmdba dinstall 4096 Jan 11 01:00 DB_DAMENG_INCREMENT_2024_01_11_01_00_51
drwxr-xr-x 2 dmdba dinstall 4096 Jan 11 10:01 ARCH_LOG_DAMENG_2024_01_11_10_00_51
drwxr-xr-x 2 dmdba dinstall 4096 Jan 11 10:03 ARCH_LOG_DAMENG_2024_01_11_10_02_51
drwxr-xr-x 2 dmdba dinstall 4096 Jan 11 10:07 ARCH_LOG_DAMENG_2024_01_11_10_06_51
drwxr-xr-x 2 dmdba dinstall 4096 Jan 11 13:05 arch
drwxr-xr-x 2 dmdba dinstall 4096 Jan 11 13:07 20240111_130751                             <====== 归档备份     
drwxr-xr-x 3 dmdba dinstall 4096 Jan 11 13:28 2023
drwxr-xr-x 3 dmdba dinstall 4096 Jan 11 13:29 20240111_132859
drwxr-xr-x 3 dmdba dinstall 4096 Jan 11 13:30 20240111_133011
drwxr-xr-x 6 dmdba dinstall 4096 Jan 11 13:34 20240111_133451

总结

数据库的物理备份一般都是基于文件的复制,达梦数据库把这种备份策略通过作业的方式内嵌到数据库中,也是比较不错的实现,关于备份作业策略,也设置较多的参数控制,比如并行\压缩\备份片大小\限速等,具体的使用方式可以参考官方文档,介绍十分详细,有兴趣可以配合测试下。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论