达梦数据库教程(9)达梦数据库定时备份配置

达梦数据库教程(9)达梦数据库定时备份配置

一、达梦数据库备份管理

达梦数据库通过自带的一些函数以及动态视图可以实现定期物理备份、清理历史备份集等自动化操作,不需要再额外配置操作系统的计划任务。如果是需要自动化逻辑备份的话,则需要使用dexp结合脚本的形式来实现。

1、备份管理相关函数

SF_BAKSET_BACKUP_DIR_ADD:添加备份目录

SF_BAKSET_BACKUP_DIR_REMOVE:删除内存中指定的备份目录

SF_BAKSET_BACKUP_DIR_REMOVE_ALL:删除内存中全部的备份目录

SF_BAKSET_CHECK:对备份集进行校验

SF_BAKSET_REMOVE:删除指定设备类型和指定备份集目录的备份集

SF_BAKSET_REMOVE_BATCH:批量删除满足指定条件的所有备份集

SF_BAKSET_REMOVE_BATCH_S:批量安全删除满足指定条件的所有库级备份集

SF_BAKSET_REMOVE_BATCH_N:批量删除满足指定条件的所有备份集,并保留用户指定个数的库级完全备份集

SP_DB_BAKSET_REMOVE_BATCH:批量删除指定时间之前的数据库备份集

SP_TS_BAKSET_REMOVE_BATCH:批量删除指定表空间对象及指定时间之前的表空间备份集

SP_TAB_BAKSET_REMOVE_BATCH:批量删除指定表对象及指定时间之前的表备份集

SP_ARCH_BAKSET_REMOVE_BATCH:批量删除指定条件的归档备份集

2、备份管理相关动态视图

V$BACKUPSET:显示备份集基本信息

V$BACKUPSET_DBINFO:显示备份集的数据库相关信息

V$BACKUPSET_DBF:显示备份集中数据文件的相关信息

V$BACKUPSET_ARCH:显示备份集的归档信息

V$BACKUPSET_BKP:显示备份集的备份片信息

V$BACKUPSET_SEARCH_DIRS:显示备份集搜索目录

V$BACKUPSET_TABLE:显示表备份集中备份表信息

V$BACKUPSET_SUBS:显示并行备份中生成的子备份集信息

V$BACKUP_MONITOR:显示当前备份任务实时监控信息

V$BACKUP_HISTORY:显示最近 100 条备份监控信息

V$BACKUP_FILES:显示当前备份任务待备份数据文件列表

三、达梦数据库定时物理备份设置

1、图形化配置定时作业

· 先打开数据库归档模式

ALTER DATABASE MOUNT;
ALTER DATABASE archivelog;
ALTER DATABASE add archivelog 'DEST=/data/dmdbms/log/arch, TYPE=LOCAL, FILE_SIZE=64, SPACE_LIMIT=1024, ARCH_FLUSH_BUF_SIZE=0, HANG_FLAG=1';
ALTER DATABASE OPEN;


· 创建代理作业

autobak1.png

· 分别在常规、作业步骤、作业调度里填写备份信息,如图




· 自动生成的SQL语句

call SP_CREATE_JOB('自动备份',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('自动备份');

call SP_ADD_JOB_STEP_EX('自动备份', '全备', 6, '00000000/data/dmdbms/backup', 0, 0, 0, 0, NULL, 0, '');

call SP_ADD_JOB_SCHEDULE('自动备份', '自动备份', 1, 2, 1, 1, 0, '22:00:00', NULL, '2025-06-09 22:18:14', NULL, '');

call SP_JOB_CONFIG_COMMIT('自动备份');


· 作业创建完成

autobak4.png

2、图形化配置历史备份自动清理 

· 创建清理作业,步骤与创建备份基本一致,不同的地方在于类型选择为SQL脚本,脚本语句则是调用备份管理相关函数来实现清理

--添加数据库备份目录
call sf_bakset_backup_dir_add('DISK','/data/dmdbms/backup'); 

--删除当前日期3天前指定目录的数据库备份
call sp_db_bakset_remove_batch('DISK',now()-3);


autobak5.png


· 自动生成的SQL语句

call SP_CREATE_JOB('备份清理',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('备份清理');

call SP_ADD_JOB_STEP_EX('备份清理', '清理备份', 0, '--添加数据库备份目录
call sf_bakset_backup_dir_add(''DISK'',''/data/dmdbms/backup''); 

--删除当前日期7天前指定目录的数据库备份
call sp_db_bakset_remove_batch(''DISK'',now()-7);', 0, 0, 0, 0, NULL, 0, '');

call SP_ADD_JOB_SCHEDULE('备份清理', '备份清理', 1, 2, 1, 1, 0, '23:00:00', NULL, '2025-06-09 22:28:58', NULL, '');

call SP_JOB_CONFIG_COMMIT('备份清理');

call SP_JOB_SET_SCHEMA('备份清理', 'SYSDBA');


文章评论

猜你喜欢

MySQL教程(11)物理备份工具Xtrabackup使用教程

MySQL MySQL教程(11)物理备份工具Xtrabackup使用教程

一、Xtrabackup 介绍Xtrabackup是Percona出品的一款针对MySQL的物理备份工具。物理备份通常是指直接对数据文件、日志文件、配置文件等对象直接进行复制的一种备份方法。...

MySQL教程(10)逻辑备份工具mysqldump使用教程

MySQL MySQL教程(10)逻辑备份工具mysqldump使用教程

一、MySQL逻辑备份介绍逻辑备份是指通过导出数据库中的逻辑信息(如表结构、视图、索引、存储过程、数据内容等)并保存为可读格式的过程。它将数据库数据以SQL语句或其他标准格式(如CSV、JSON)输出...

PostgreSQL教程(11)第三方物理备份工具pg_rman使用教程

PostgreSQL PostgreSQL教程(11)第三方物理备份工具pg_rman使用教程

pg_rman是一款PostgreSQL第三方物理备份工具,支持对整个数据库集群、归档日志和服务器日志进行在线备份。由于pg_rman是基于本地数据拷贝的方式,而不是流式备份,所以要求 pg...

PostgreSQL教程(10)物理备份工具pg_basebackup使用教程

PostgreSQL PostgreSQL教程(10)物理备份工具pg_basebackup使用教程

一、PostgreSQL 物理备份介绍物理备份是通过复制整个数据目录来对数据库实现备份的一种高效手段,备份对象包括所有的数据文件、WAL 日志以及相关的配置文件。在 PostgreSQL 中核心物理备...

PostgreSQL教程(9)逻辑备份工具pg_dump使用教程

PostgreSQL PostgreSQL教程(9)逻辑备份工具pg_dump使用教程

一、PostgreSQL 逻辑备份介绍PostgreSQL 原生支持的逻辑备份工具为pg_dump和pgdump_all。数据库逻辑备份的原理都相同,都是将数据以SQL语句的形式输出到一个文本文件,然...