DM8(达梦数据库)备份及数据恢复

本文详细阐述了数据库归档配置的步骤,包括检查归档模式、配置归档日志及验证服务状态,以及如何执行在线和脱机备份,以及利用达梦图形化界面创建定时备份作业。旨在提醒程序员备份的重要性,以防意外数据丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:
== 作为程序员的我们对于数据库肯定不陌生,日常操作除了增删改查之外,数据库的迁徙以及备份更是必不可少的,然而在操作数据库迁徙的过程中,对于一些线条比较大的程序员(就是我),一个不小心把正式库的数据给删除了,小心脏都给吓出来了,还好有备份,吃过亏的我长了记性,知道备份的重要性,决定写一篇文章记录一下,希望也能帮助到各位… ==

一. 前提条件

配置本地归档

① 首先查询数据库是否处于归档模式:

SELECT * FROM V$DM_ARCH_INI;

这个是我本地的配置

如果查询显示ARCH_TYPE为“LOCAL”,并且ARCH_IS_VALID取值为“Y”,表示存在有效的本地归档配置.查看ARCH_DEST标识的路径下是否有归档文件生成.

② 若查询无结果,则需要我们进行归档配置.

首先规划好归档日志存放的路径,即ARCH_DEST字段下的路径

使用命令行的方式进行归档配置


alter database mount;

alter database add archivelog 'type=local,dest=D:\Develop\dm8\data\DAMENG\trace,file_size=500,space_limit=50000';

alter database archivelog;

alter database open;

字段SPACE_LIMIT表示归档空间上限,可以根据自己磁盘容量来设置,通过上述查询语句,查看数据库的归档模式,来确认归档配置是否完成.

③ . DMAP服务正常运行

如果你的达梦数据库是安装在Liux系统中的


ps -ef|grep dmap

执行上述命令查看.DMAP服务是否正常运行,若有以下数据显示,则表示正常启动

可作为参考
若无数据显示,可用root用户进入数据库安装的bin目录,执行./DmAPServicestart命令启动服务dmap.

二. 备份文件恢复

找到备份文件的存储路径

① 使用SQL语句执行联机的全量备份


backup database backupset'D:\Develop\dm8\data\DAMENG\bak\back20210910';

② 使用dmrman工具脱机进行还原恢复

关闭达梦数据库的服务.
使用dmdba用户,进入达梦数据库的安装目录下的bin目录,执行./dmrman,进入rman的命令行界面


//1. 执行还原数据库的命令;

restore database ‘待还原数据库dm.ini文件全路径’ from backupset‘备份集全路径’;

例如:
restore database ‘D:\Develop\dm8\data\DAMENG\dm.ini’ from backupset‘D:\Develop\dm8\data\DAMENG\bak\back20210910’;


//2.执行恢复数据库的命令;

recover database ‘待还原数据库dm.ini文件全路径’ from backupset‘备份集全路径’;

例如:
recover database ‘D:\Develop\dm8\data\DAMENG\dm.ini’ from backupset‘D:\Develop\dm8\data\DAMENG\bak\back20210910’;


//3.执行更新数据的命令;

recover database ‘待还原数据库dm.ini文件全路径’ update db_magic

例如:
recover database ‘D:\Develop\dm8\data\DAMENG\dm.ini’ update db_magic

启动达梦数据库服务,连接查看数据是否恢复

三. 利用达梦图形化界面创建定时备份作业

达梦数据库提供了代理环境,可以供我们创建自定义的备份作业

① 首先,打开DM管理工具,连接到数据库实例,在代理处点击右键,选择创建代理环境

在这里插入图片描述
② 创建代理环境完成,可以看到作业,警告和操作员三个选项

作业就是一系列的计划任务.警告就是创建相关的警告规则在触发警告后做特定的动作.操作员就是创建作业的管理员.我们只操作作业,在作业处右击选择新建作业

设置作业名称,作业描述信息
③ 点击作业步骤 -> 点击新增 -> 填写步骤名称 ->选择备份数据库 -> 设置备份路径 -> 选择备份方式
在这里插入图片描述
④ 点击作业调度 -> 填写作业名称 -> 类别等信息

在这里插入图片描述
⑤ 点击确认,查看DDL即可看到该作业的信息

### 达梦数据库在Linux环境下的备份与恢复测试 #### 准备工作 为了确保能够顺利进行达梦数据库备份与恢复操作,需提前准备如下事项: - **安装必要的工具**:确认已安装`tar`用于打包压缩文件以及`gzip`用于解压`.gz`格式文件。这些命令通常默认存在于大多数Linux发行版中[^1]。 - **配置定时任务**:利用`cron`服务来设置定期执行备份的任务计划。编辑用户的crontab文件可以实现这一点,通过运行`crontab -e`进入编辑模式并添加相应的调度指令。 #### 创建备份脚本 编写Shell脚本来自动化整个备份流程是非常有效的做法。下面是一个简单的例子展示如何创建每日一次按照日期命名的备份,并将其压缩成`.tar.gz`格式存档,同时只保存最近30天内的备份副本以节约磁盘空间。 ```bash #!/bin/bash # 设置变量 DM_HOME=/opt/dmdbms # 达梦数据库安装路径 BACKUP_DIR=/backup/db # 备份存储位置 DATE=$(date +%Y%m%d) # 获取当前日期作为文件名的一部分 FILENAME=dm_backup_$DATE.tar.gz LOGFILE=$BACKUP_DIR/backup.log # 执行备份命令并将输出重定向到日志文件 $DM_HOME/bin/dm_rman backup database to $BACKUP_DIR/$FILENAME >> $LOGFILE 2>&1 # 清理旧于30天前的日志和备份文件 find $BACKUP_DIR/* -mtime +30 -exec rm {} \; ``` 此段代码实现了基本功能需求,但实际应用时可能还需要根据具体情况进行调整优化,比如增加错误处理机制等额外特性。 #### 数据库恢复过程 当需要从之前制作好的备份中恢复数据时,则要遵循特定步骤来进行完整的还原操作。这里假设已经有一个名为`dm_backup_20230701.tar.gz`的有效备份文件存在。 1. 解压备份包至临时目录: ```bash cd /tmp && tar zxvf /path/to/dm_backup_20230701.tar.gz ``` 2. 使用RMAN工具加载备份集中的内容回到目标实例里去: ```sql connect target / restore controlfile from '/tmp/control_file.bak'; recover database using backup controlfile until cancel; alter database open resetlogs; ``` 上述SQL语句序列适用于基于控制文件的场景;对于其他类型的备份方式(如表级逻辑备份),则应采用不同的策略[^2]。 #### 测试验证 完成以上所有步骤之后,应当仔细检查新导入的数据是否完好无损,可以通过查询一些关键表格的内容或者对比前后版本之间的差异等方式来进行最终的质量检验[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值