zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

快速备份恢复达梦数据库的方法

数据库备份方法 快速 恢复 达梦
2023-09-27 14:24:14 时间

背景说明

  • 最近公司有一些项目需要在公司内部搭建数据库,然后备份恢复到项目现场进行演示或者是其他操作.
  • 正常情况需要,选取好安装介质, 在公司颞部安装, 设置参数, 设置序列号,启动服务.
  • 然后使用工具盘进行数据库创建.应用服务器注册,增量更新, 才能够进行预制数据的创建.
  • 创建好数据之后需要进行备份操作.
  • 在现场 需要重复进行安装, 然后回复备份的数据库实例.
  • 时间可能会比较长,并且需要进行GUI界面的安装和使用, 静默安装的命令,很多人记不太住.
  • 但是最近发现可以使用一个更加简单的方法进行处理

使用前提

  • 注意 仅可以使用测试或者是POC环境, 极端不建议使用与生产环境.
  • 注意 尽量保持进行备份的源服务器和备份到的目标服务器的曹组系统与架构的一致性
  • 前提至少为: 同一个安装介质能够安装的系统.

操作步骤

  • 与背景说明一样, 需要进行到预制数据完成的步骤.
  • 然后可以打包/opt/dmdbms的路径. 注意打包时需要关闭数据库服务(避免文件变量过大,导致启动失败)
  • 因为需要停机冷备,所以不适合生产环境.
  • 然后将打包好的文件按照路径传递到需要备份恢复的环境上面.
  • 进行如下操作
groupadd dinstall
useradd dmdba -g dinstall
cd /opt/
chown dmdba:dinstall dmdbms -R
执行启动命令
/opt/dmdbms/bin/DmServiceDMSERVER start
如果正常可以启动.

参数简要说明

  • 新建用户 注意需要符合默认安装的达梦数据库的用户和用户组.
  • 注意 /opt/dmdbms 是达梦数据库的默认安装路径. 属主为刚才重建的用户和用户组.
  • 注意默认安装的达梦数据库的 启动脚本就是 DmServiceDMSERVER 注意大小写.
  • 注意可以使用 start和stop的方式来启动和关闭服务.
  • 主意可以使用如下命令设置开机启动
crontab -e
# 增加如下一行
@reboot /opt/dmdbms/bin/DmServiceDMSERVER start
# 输入 :wq 进行保存
设置开机启动达梦数据库.
可以使用 lsof -i:5236 查看服务是否启动.

其他说明

  • 注意有时启动服务会报错, 提示libgcc_s.so.1需要进行如下处理
[root@CentOS8 opt]# /opt/dmdbms/bin/DmServiceDMSERVER start
Starting DmServiceDMSERVER: libgcc_s.so.1 must be installed for pthread_cancel to work

需要把/opt/dmdbms/bin目录下面的libproj.so和libxqilla.so移动到其他目录然后再启动服务
  • 有时候还会有buffer 的提示信息
[root@CentOS8 opt]# /opt/dmdbms/bin/DmServiceDMSERVER start
Starting DmServiceDMSERVER:                                [ FAILED ]
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-94-21.11.11-150650-10038-ENT  startup...
Can not create buffer pools, out of memory!
# 我这边发现 要么修改buffer pool的大小, 要么打开 swap 避免内存不足,引起启动失败
swapon -a
继续重启即可.
  • 启动服务的效果为:
[root@CentOS8 opt]# swapon -a
[root@CentOS8 opt]# /opt/dmdbms/bin/DmServiceDMSERVER start
Starting DmServiceDMSERVER:                                [ OK ]
[root@CentOS8 opt]# lsof -i:5236
COMMAND    PID  USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
dmserver 23337 dmdba    5u  IPv6 44824149      0t0  TCP *:padl2sim (LISTEN)
[root@CentOS8 opt]# 

简单验证

  • 查看业务表数据
cd /opt/dmdbms/bin/
./disql
用户 SYSDBA 密码 为 第一次安装的用户密码
或者是自己的业务数据库用户密码
效果为:
[root@CentOS8 bin]# ./disql
disql V8
用户名:FromYouCreateDB
密码:FromYouSetPassword
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.950(ms)
SQL> select count(1) from yourtable;

行号     COUNT(1)            
---------- --------------------
1          1
已用时间: 4.048(毫秒). 执行号:500.
SQL>