达梦数据库恢复到指定时间点

本文详细介绍了如何进行数据库恢复,特别是如何利用备份和归档日志将数据库恢复到指定的时间点或LSN。在数据库出现误操作导致数据丢失的情况下,这一过程显得尤为重要。通过实例步骤展示了从准备数据、备份、误操作到恢复的整个流程,强调了恢复过程中LSN和时间点的选择,并提供了恢复命令示例。最后,验证了恢复数据库的有效性,确保误删除的数据得以恢复。
摘要由CSDN通过智能技术生成

数据库备份是 DBA 日常最重要的工作内容。备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态。

如果能将数据库恢复到指定节点,可以有效的避免人多人工重复的操作,提高效率,提高高可用性。

1 原理

恢复数据库到指定时间点/LSN 是从归档恢复的一种方式,也称为不完全恢复。从归档恢复允许恢复到指定的时间点及指定的 LSN 值。若同时指定了时间点和 LSN,则以较早的为结束点。用户可以通过指定一个时间点/LSN,使数据库恢复到这个指定的时间点/LSN。

2 条件

  • 数据库备份集
  • 数据库的归档日志

3 实操

场景:例如,用户在下午3点半左右做了一个误操作,删除了某些重要数据;我们可以指定恢复时间点到下午1点左右,恢复被误删除的数据。

1:准备数据

在这里插入图片描述
2:数据库备份
在这里插入图片描述
3:正确操作数据库,产生一些归档;
在这里插入图片描述
4:确定当前时间:
在这里插入图片描述
5:查询此时的LSN
在这里插入图片描述
6:误操作数据: 通常的误操作为删除表数据
在这里插入图片描述

7:确定误操作的时间以及LSN
在这里插入图片描述
8:还原数据库
步骤6为误操作,所以我们需要还原到步骤3的状态

  • 使用dmrman还原恢复数据,需要关闭数据库服务
    在这里插入图片描述
  • 还原数据库数据
 `RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/db_full_bak_for_time_lsn'`

在这里插入图片描述

  • 恢复数据库到指定时间点/LSN
    恢复到指定的时间点:
RECOVER DATABASE  '/dm8/data/DAMENG/dm.ini'  WITH ARCHIVEDIR
> '/dm8/arch' UNTIL TIME '2022-09-29 13:58:51';

在这里插入图片描述
恢复到指定LSN

RECOVER DATABASE  '/dm8/data/DAMENG/dm.ini'  WITH ARCHIVEDIR '/dm8/arch' UNTIL LSN 89950;

在这里插入图片描述
9:更新db_magic

recover database'/dm8/data/DAMENG/dm.ini' update db_magic;

在这里插入图片描述
10:启动还原后的数据库,验证数据

可以看到,步骤6误删除的数据,验证恢复数据库到被删除数据之前,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值