文章目录
前言
随着企业数据量的不断增长,数据同步和备份的重要性日益凸显。达梦数据库以其高性能、高可靠性和易用性,成为众多企业数据存储和管理的首选。为了应对数据丢失或损坏的风险,及时的数据同步和备份机制是必不可少的。本文将探讨两种常见的达梦数据库数据同步方法:一是通过图形化工具DM数据迁移工具进行操作,二是利用Shell脚本实现定时备份模式。这两种方法各有优势,适用于不同的应用场景和需求。
一、DM数据迁移工具
参考相关文章:
https://blog.csdn.net/weixin_42082084/article/details/115611622
https://blog.csdn.net/meminic/article/details/120461484
1.新建作业
右击作业点击新建作业,填写作业属性,最后点击确定。
2.新建调度
右击调度点击新建调度,填写调度属性,最后点击确定。
3.选择任务
双击打开新建作业,在迁移/评估/对比界面,点击"+"号选择要执行的任务,最后点击确定。
4.配置信息
选中任务,点击配置。
配置信息(以同步213达梦数据库到208达梦数据库为例)。配置数据源,目的源,迁移选项(默认即可),指定模式,指定对象,审阅迁移任务,最后ctrl+s保存,也可点击完成执行一遍。指定对象:需要配置迁移策略,删除后拷贝记录并应用当前选项到其他同类。
5.选择调度
在调度界面,点击"+"号选择调度,最后点击确定。
6.配置完成
点击执行按钮即可。
二、逻辑备份还原
参考相关文章:
https://eco.dameng.com/document/dm/zh-cn/ops/logical-backup-restore.html
https://blog.csdn.net/lilv1989/article/details/117171237
https://blog.csdn.net/juracka/article/details/112671346
https://blog.csdn.net/sihuangmeicuo/article/details/136527869
1.环境准备
安装Crontab
服务器1:user1/pass1@ip1:port1
服务器2:user2/pass2@ip2:port2
需求:备份服务器2达梦数据,再导入服务器1达梦数据库
2.新建sh脚本
创建sh执行脚本,在服务器2上创建一个新的shell脚本文件,例如backup.sh。
并给予脚本执行权限:
cd /home/admin/dmdbms/data/backup
chmod +x backup.sh
3.编辑sh文件
使用文本编辑器编辑这个文件,并将命令写入其中。
#!/bin/bash
# 数据导出和导入脚本,追加模式(tee -a)写入文件
exec > >(tee /home/admin/dmdbms/data/backup/cron.log) 2>&1
# 导出数据
echo '开始数据导出流程...'
cd /home/admin/dmdbms/bin
./dexp USERID=user2/pass2@ip2:port2 FILE=dexp.dmp LOG=dexp.log FULL=Y DIRECTORY=/home/admin/dmdbms/data/backup/dexp
# 检查导出是否成功
if [ $? -eq 0 ]; then
echo '数据导出完成。'
else
echo '数据导出失败。' >&2
exit 1
fi
# 导入数据,警告自动回复yes
echo '开始数据导入流程...'
yes | ./dimp USERID=user1/pass1@ip1:port1 FILE=/home/admin/dmdbms/data/backup/dexp/dexp.dmp LOG=dimp.log FULL=Y DIRECTORY=/home/admin/dmdbms/data/backup/dimp TABLE_EXISTS_ACTION=REPLACE
# 检查导入是否成功
if [ $? -eq 0 ]; then
echo '数据导入完成。'
else
echo '数据导入失败。' >&2
exit 1
fi
4.编辑Crontab
注:编辑文本:i,ESC退出编辑,:wq!保存并退出
执行:crontab -e
填写定时任务:
00 18 * * * /home/admin/dmdbms/data/backup/backup.sh
5.查看定时任务
执行:crontab -l
6.其他
查看crond 服务状态:service crond status
重启crond 服务:sudo service crond restart
查看cron服务的日志文件:ll /var/log/cron*
三、相关报错
1.创建 SOCKET 连接失败/网络通讯异常
参考相关文章:
https://blog.csdn.net/weixin_50694517/article/details/115876277
确认 dm.ini 文件中port_num端口号。
默认端口号为 5236,若设置端口号为其他,通过以下方式执行:
./disql user/pass@ip:port
2.导出表对象已存在
参考相关文章:
https://blog.csdn.net/cn_lyt/article/details/122455930
如果表存在替换TABLE_EXISTS_ACTION=REPLACE
./dimp USERID=user/pass@ip:port FILE=/home/admin/dmdbms/data/backup/dexp/dexp.dmp LOG=dimp.log FULL=Y DIRECTORY=/home/admin/dmdbms/data/backup/dimp TABLE_EXISTS_ACTION=REPLACE
3.[警告]Error Code:-502,临时表空间不足
导出数据报错:[警告]Error Code:-502,临时表空间不足。
查看linux磁盘情况:df -h,发现磁盘已满,查找原因,发现tomcat日志文件很大,应该tomcat启动有问题,kill掉tomcat所有进程,重启tomcat即可。
总结
以上就是对达梦数据库数据同步和备份方法的简要总结。用户可以根据不同的应用场景和需求选择适合的方法来确保数据的安全性和完整性。