专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > 达梦认证 > 干货!达梦数据库-DM8基于时间点的恢复

干货!达梦数据库-DM8基于时间点的恢复

文章来源: 更新时间:2020/11/26 14:29:52

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

达梦数据库-DM8基于时间点的恢复

在生产环境中,当我们误操作删除了重要数据时,可以使用闪回查询来找回原来的数据,但当表被删除或者数据库没有开启闪回功能时,则无法使用闪回来获取原有的表数据;此时我们可以使用基于归档日志的时间点的恢复(不完全恢复)来达到恢复数据或恢复表的目的。

本章介绍DM8数据库如何使用归档日志文件将数据库恢复到指定时间点的状态。

本章内容已在如下环境上测试:

①操作系统:中标麒麟7;

②数据库版本:达梦8;

相关关键字:DM还原恢复,WITH ARCHIVEDIR, UNTIL TIME,基于时间点的恢复

基于时间点的恢复

一、备份数据库

数据库故障还原的前提是要有备份文件,这里创建一个原始的数据库备份文件,可以使用DMRMAN脱机备份文件,也可以是联机备份文件。这里以联机备份为例(在联机备份之前,需要保证数据库已开启并配置归档)。使用SYSDBA用户登录数据库,执行如下语句备份数据库:

SQL> backup database full backupset 'DMTESTFULL_ONLINE0723';

二、制造数据,生成归档日志

创建test用户,并在test用户下创建表t_table并插入数据,此过程生成归档日志。

SQL> create user test IDENTIFIED by dameng123 DEFAULT TABLESPACE main;

SQL> create table test.t_table as select * from SYSOBJECTS;

三、模拟故障,删除表

模拟故障,删除test用户下表t_table。并记录下删除表时的系统时间。

四、使用备份和归档日志将数据库恢复到指定时间点

t_table表被删除,要想找回此表的数据,只能将数据库恢复到表删除的前一刻。恢复步骤参考如下:

①使用备份文件还原数据库

执行如下命令停止数据库:

[dmDBA@localhost bin]$ DmServiceDMTESTSERVER stop

使用步骤1的备份文件将数据库还原到备份时状态:

RMAN> restore database '/dm8/data/DMTEST/dm.ini' from backupset 'DMTESTFULL_ONLINE0723';

②使用归档日志将数据库恢复到指定时间点

执行如下命令,指定with archivedir参数使用归档恢复,并指定until time参数将数据库还原到删除表之前的时间,由步骤3得知,我们大概在2020-07-23 10:48:53之前的时间删除了表数据,这里将数据库恢复到2020-07-23 10:48:40的时间(时间越精确越好,无法精确的情况下预估)。

RMAN> recover database '/dm8/data/DMTEST/dm.ini' with archivedir '/dm8/data/DMTEST/arch' until time '2020-07-23 10:48:40';

从下面的截图可以看出,归档的恢复并不是100%(因为是不完全恢复,并没有完全重做所有归档日志),只是恢复到93%。

③更新数据库魔数

执行如下命令更新数据库魔数db_magic信息。

RMAN> recover database '/dm8/data/DMTEST/dm.ini' update db_magic;

此时,数据库恢复完成。

执行DmServiceDMTESTSERVER start启动数据库,连接数据库查询test用户下t_table表数据,可以看到t_test表已恢复。

好,以上是本次分享内容,最后做一下总结。

使用RECOVER命令恢复数据库时,可以是基于备份集的恢复,也可以是使用本地归档日志的恢复。基于时间点的恢复是使用本地归档日志恢复的方式之一。

除了指定时间点,还可以通过指定LSN进行恢复。DM中每条REDO日志记录都对应一个唯一的LSN值,指定LSN值以后,数据库将会精准的恢复到产生这个LSN时间点的状态。基于LSN的恢复是使用UNTIL LSN 参数恢复到指定的LSN时间点的状态。

基于时间点或LSN的恢复都是不完全恢复,基于归档日志恢复到最新状态为完全恢复。

在实际生产环境中,如果只是删除某张表或数据,建议将数据库还原到另一台机器(目标数据库)上,然后拷贝生产环境归档日志将目标数据库恢复到指定的时间点,以在不影响生成环境的情况下找回表数据,降低对生成环境的影响。

本文地址:http://www.cuug.com.cn/dameng/26262182019.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区北清路164号28-38号院
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1