达梦数据库(单库)使用命令行开启定时备份:
1、登录需要自动备份的数据库
2、打开归档
查看归档是否开启:
select '归档状态_开 Y/关 N',ARCH_MODE from v$database
转换数据库为配置状态:(备注:服务会停止)
ALTER DATABASE MOUNT;
开启归档
alter database archivelog;
alter database add archivelog 'DEST=/归档路径, TYPE=LOCAL, FILE_SIZE=1024,SPACE_LIMIT=51200';
转换数据库为配置状态为正常:
ALTER DATABASE OPEN;
3、进行备份任务创建(分为全量备份和增量备份)
(1)定时自动全量备份
初始化代理环境
SP_INIT_JOB_SYS(1);
每天全量备份
call SP_CREATE_JOB('db_bak',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('db_bak');
call SP_ADD_JOB_STEP('db_bak', 'db_bak', 5, '01000', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('db_bak', 'db_bak', 1, 1, 1, 0, 0, '01:03:43', NULL, '2021-12-20 14:53:43', NULL, '');
call SP_JOB_CONFIG_COMMIT('db_bak');
COMMIT;
删除10天前备份文件
call SP_CREATE_JOB('del_dbbak',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('del_dbbak');
call SP_ADD_JOB_STEP('del_dbbak', 'del_dbbak', 0, 'CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'', NOW()-10);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('del_dbbak', 'del_dbbak', 1, 2, 1, 4, 0, '22:50:17', NULL, '2021-12-20 11:50:17', NULL, '');
call SP_JOB_CONFIG_COMMIT('del_dbbak');
COMMIT;
(2)定时自动增量备份
初始化代理环境
SP_INIT_JOB_SYS(1);
每周六20点全量备份
call SP_CREATE_JOB('每周六20点全量备份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('每周六20点全量备份');
call SP_ADD_JOB_STEP('每周六20点全量备份', '每周六20点全量备份', 5, '01000', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('每周六20点全量备份', '每周六20点全量备份', 1, 2, 1, 64, 0, '20:00:59', NULL, '2021-07-09 20:09:59', NULL, '');
call SP_JOB_CONFIG_COMMIT('每周六20点全量备份');
每天20点增量备份
call SP_CREATE_JOB('每天20点增量备份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('每天20点增量备份');
call SP_ADD_JOB_STEP('每天20点增量备份', '每天20点增量备份', 6, '11000000/home/dmdba/dmdata/DAMENG/bak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('每天20点增量备份', '每天20点增量备份', 1, 2, 1, 63, 0, '20:03:00', NULL, '2021-07-09 20:53:00', NULL, '');
call SP_JOB_CONFIG_COMMIT('每天20点增量备份');
COMMIT;
删除8天之前的备份
call SP_CREATE_JOB('删除8天之前的备份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('删除8天之前的备份');
call SP_ADD_JOB_STEP('删除8天之前的备份', '删除8天之前的备份', 0, 'CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW()-8);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('删除8天之前的备份', '删除8天之前的备份', 1, 2, 1, 1, 0, '04:56:43', NULL, '2021-07-09 20:56:43', NULL, '');
call SP_JOB_CONFIG_COMMIT('删除8天之前的备份');
COMMIT;
(3)执行一次全量备份
backup database full to "DB_DAMENG_FULL_2021_08_11_23_01_39" backupset 'DB_DAMENG_FULL_2021_08_11_23_01_39';
4、特殊说明:
若遇到报错:非法归档配置目标,则可以再达梦数据库实例路径里面
(1)新建配置文件:dmarch.ini 内容如下:
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /归档路径
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
(2)修改dm.ini 配置文件中的
ARCH_INI = 1
(3)重启数据库实例服务;
(4)执行备份语句;
文章
阅读量
获赞