原创:达梦数据库增量备份操作事实践

准备工作

本文按照实际服务器情况编写,不同情况根据实际稍作修改即可。
先做如下准备工作,没有站都执行一遍,注意546站将“user–>ueser”,中心站“/media/user/media–>/mnt/data”
创建所有的文件后,请赋值新建的文件夹权限:chown -R dmdba:dinstall 目录路径

1.按照如下shell脚本操作创建目录并授权

mkdir /media/user/media/arch
chown -R dmdba:dinstall /media/user/media/arch
chown -R dmdba:dinstall /media/user/media/dmbackup

2.检查DmAPService服务是否启动

未启动,在执行SQL脚本的时候会报错:bakres连接DMAP失败

# 进入达梦安装bin目录下,查看DmAPService服务状态
./DmAPService status
# 如果未启动执行命令启动服务
./DmAPService start

备份操作

更新dm.ini文件到BAK_PATH配置为/media/user/media/dmbackup
重启数据库生效

1. 登录数据库

# 进入数据库安装bin目录,执行命令登录系统
./disql SYSDBA/SYSDBA

2. 执行sql脚本配置归档问题

alter database mount;
--提前创建好目录:/media/user/media/arch
ALTER DATABASE ADD ARCHIVELOG 'DEST = /media/user/media/arch, TYPE = local, FILE_SIZE = 1024,SPACE_LIMIT = 2048,ARCH_FLUSH_BUF_SIZE=16,HANG_FLAG=1';
alter database archivelog;
alter database open;

3.执行SQL创建备份代理作业

3.1 创建全量备份

call SP_CREATE_JOB('full_bak',1,0,'',0,0,'',0,'全量备份');
call SP_JOB_CONFIG_START('full_bak');

--D:\dmbak\full_bak目录换成服务器上的实际目录,建议放在/media/user/media/dmbackup/full_bak,没有这--个目录,则先创建
call SP_ADD_JOB_STEP('full_bak', 'step01', 6, '00000000/opt/dm8/dmdata/DAMENG/bak/full_bak', 0, 0, 0, 0, NULL, 0);

--2023-04-08 14:08:49 这个时间换成你指定的时间,最好是未来一个时间,目前配置的只执行一次。
call SP_ADD_JOB_SCHEDULE('full_bak', '全量备份调度', 1, 0, 0, 0, 0, NULL, NULL, '2023-04-08 14:08:49', NULL, '只是执行一次,时间可以自行有修改成未来某个时间');

call SP_JOB_CONFIG_COMMIT('full_bak');

3.2 创建增量备份

call SP_CREATE_JOB('increment_bak',1,0,'',0,0,'',0,'增量备份');

call SP_JOB_CONFIG_START('increment_bak');

--D:\dmbak\full_bak 改成实际目录/media/user/media/dmbackup/full_bak
--D:\dmbak\increment_bak 改成实际目录/media/user/media/dmbackup
call SP_ADD_JOB_STEP('increment_bak', '增量作业', 6, '48000000/opt/dm8/dmdata/DAMENG/bak/full_bak|/opt/dm8/dmdata/DAMENG/bak/increment_bak', 0, 0, 0, 0, NULL, 0);

--每天间隔10分钟执行一次增量备份,这个时间可以根据自己情况设定,但是时间不能太短,太短时间间隔会出--现上一次备份还没有结束,下一次又开始,结果导致:锁超时问题
call SP_ADD_JOB_SCHEDULE('increment_bak', '增量作业调度', 1, 1, 1, 0, 10, '00:00:00', '23:59:59', '2023-04-07 09:51:03', NULL, '');

call SP_JOB_CONFIG_COMMIT('increment_bak');

3.3 下面的脚本废弃

--添加全量备份
--backup database full to "DB_DAMENG_FULL" backupset 'DB_DAMENG_FULL' compressed level 1;
--添加增量备份
--backup database increment to "DB_DAMENG_INCRE" backupset 'DB_DAMENG_INCRE' compressed level 1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机java编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值