前言:
== 作为程序员的我们对于数据库肯定不陌生,日常操作除了增删改查之外,数据库的迁徙以及备份更是必不可少的,然而在操作数据库迁徙的过程中,对于一些线条比较大的程序员(就是我),一个不小心把正式库的数据给删除了,小心脏都给吓出来了,还好有备份,吃过亏的我长了记性,知道备份的重要性,决定写一篇文章记录一下,希望也能帮助到各位… ==
一. 前提条件
配置本地归档
① 首先查询数据库是否处于归档模式:
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即可看到该作业的信息