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

数据库备份是 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误删除的数据,验证恢复数据库到被删除数据之前,
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值