随着IT科技的发展,数据逐渐成为社会和企业的核心资产,面对纷繁复杂的社会环境,供应链风险随时可能发生,国产化势在必行,DM数据库作为国产化数据库代表,正在行业中变得越来越流行,达梦作为国产数据库的佼佼者,深受传统行业和广大金融客户的喜爱。它有着40年深厚的技术沉淀,相信在不久的将来,它将在国产化进程中国脱颖而出,成为国货代表,期待那一天的到来。 今日将个人在学习达梦数据库中备份恢复的学习心得成文发布共享,希望能给你带来一点帮助。 一、DM数据库软件安装 01:新建文件夹(root),下述文件夹在考试时可能不用全部使用 mkdir /dm8 --数据库软件安装目录 mkdir /dmdata --实例安装目录 mkdir /dmarch --归档日志存放目录 mkdir /dmbak --备份文件存放目录 02: 新建组及用户 DM 数据库不应该使用 root 用户安装和维护。需要在安装之前为 DM 数据库创建一个专用的系统用户 (dmdba) 和用户组 (dinstall)。 执行以下命令,新建用户组 dinstall: groupadd dinstall 执行以下命令,新建用户 dmdba: useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba 执行以下命令,修改 dmdba 用户密码: passwd dmdba 输入密码并确认。 03:修改属主(root) chown dmdba:dinstall /dm8 chown dmdba:dinstall /dmdata chown dmdba:dinstall /dmarch chown dmdba:dinstall /dmbak 04:用户资源限制(使用root)--注:考试时如不能copy命令就不用配置 执行以下命令,修改 dmdba 用户资源限制: vim /etc/security/limits.conf 文件末尾添加如下内容: dmdba soft core unlimited dmdba hard core unlimited dmdba soft nofile 65536 dmdba hard nofile 65536 dmdba soft nproc 65536 dmdba hard nproc 65536 dmdba soft stack 65536 dmdba hard stack 65536 05:用户环境变量 执行以下命令,修改 dmdba 用户环境变量: vi /home/dmdba/.bash_profile 文件末尾添加如下内容:(安装路径有变化的话需进行修改/dm8) export DM_HOME=/dm8 export PATH=$PATH:$DM_HOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin 06:安装数据库(脚本) 1、安装数据库软件 将安装包上传到服务器后使用 root 用户挂载 iso 安装包文件到 /mnt 目录下(使用root): --切换到程序安装包所在目录 cd /opt --挂载iso,主要安装包文件名可能不同 mount -oloop dm8_20200930_x86_rh6_64_ent_8.1.1.134.iso /mnt 执行以下命令,切换到 dmdba 用户: su - dmdba 切换到/mnt cd /mnt 查看文件 执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装: ./DMInstall.bin -i
- 选择安装程序的语言 c/C 为中文,e/E 为英文。选c
- 提示是否安装 key 文件,输入 N 跳过。
- 选择时区,21 即东 8 区。
- 选择安装类型,默认典型安装(包含所有内容)。
物理备份
物理备份是直接备份数据库所对应的数据文件甚至是整个磁盘。
物理备份分为完全备份和增量备份:完全备份是指一个备份包含指定数据库或表空间的所有数据,增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。
逻辑备份
逻辑备份是将数据从数据库中导出,并将导出的数据进行存档备份。
冷备和热备
热备:指数据库启动状态下的备份
冷备:指数据库关闭状态下的备份。
冷备准备
冷备也被称为脱机备份脱机备份时,需要关闭数据库,支持库级备份和归档备份。
Console是DM脱机备份和还原的图形化界面工具。
DMRMAN是DM脱机备份和还原的命令行工具。
以下演示命令行方式的脱机备份
在达梦安装路径bin目录下
关闭数据库./DmServiceDMSERVER stop
检查DmAP服务的状态
./DmAPService status
若DmAP服务关闭则开启
./DmAPService start
冷备
新建备份
./dmrman
RMAN> backup database ‘/dm8/data/DMDB/dm.ini' backupset 'dm8/bak'
冷备下的数据库还原与恢复
在达梦安装路径bin目录下
关闭数据库
./DmServiceDMSERVER stop
检查DmAP服务的状态
./DmAPService status
若DmAP服务关闭则开启
./DmAPService start
还原数据库
./dmrman
RMAN> restore database '/dm8/data/DMDB/dm.ini' from backupset '/dm8/bak'
恢复数据库
./dmrman
RMAN> recover database '/dm8/data/DMDB/dm.ini' from backupset '/dm8/bak'
更新db_magic(DM8需要进行此步骤)
./dmrman
RMAN> recover database '/dm8/data/DMDB/dm.ini' update db_magic
最后启动数据库以完成还原与恢复
./DmServiceDMSERVER start
热备准备
此时要求数据库处于运行状态并正常提供数据库服务。
打开数据库
./DmServiceDMSERVER start
打开DmAP服务
./DmAPService start
使用disql工具
./disql
进入配置模式
alter database mount;
打开归档配置
alter database archivelog;
增加归档文件
alter database add archivelog 'type=local,dest=/dm8/arch,file_size=80,space_limit=0';
数据库到打开状态
alter database open;
查看数据库归档状态(arch_mode 为y说明处于归档)
select arch_mode from v$database;
热备
完全备份
backup database;
指定完全备份的路径
backup database full to fullbak0001 backupset '/dm8/bak/full/fullbak0001';
指定增量备份的路径
backup database increment to incrbak0001 backupset '/dm8/backup/incr/incrbak0001';
指定增量备份的目标
backup database increment with BACKUPDIR '/dm8/bak/full' to incrbak0002
表空间备份:
backup tablespace HRTBS;
backup tablespace HRTBS INCREMENT with BACKUPDIR '/dm8/bak/full' to incrhrtbsbak0001
backupset '/dm8/backup/incr/incrhrtbsbak0001';
表的备份和归档备份:
backup table dmhr.employee;
backup ARCHIVELOG ALL;
热备下的还原与恢复
关闭数据库
关闭数据库
./DmServiceDMSERVER stop
打开DmAP服务
./DmAPService start
还原数据库
./dmrman
RMAN> restore database '/dm8/data/DMDB/dm.ini' from backupset '/dm8/bak/full/fullbak0001'
恢复数据库
./dmrman
RMAN> recover database '/dm8/data/DMDB/dm.ini' from backupset '/dm8/bak/full/fullbak0001'
更新db_magic(DM8需要进行此步骤)
./dmrman
RMAN> recover database '/dm8/data/DMDB/dm.ini' update db_magic
最后启动数据库以完成还原与恢复
./DmServiceDMSERVER start