【无标题】

恢复备份到指定时间点
说明:
恢复数据库到指定时间点 /LSN 是从归档恢复的一种方式,也称为不完全恢复。从归档恢复允许恢复到指定的时间点及指定的 LSN 值。若同时指定了时间点和 LSN,则以较早的为结束点。用户可以通过指定一个时间点/LSN,使数据库恢复到这个指定的时间点 /LSN。
例如用户在下午 5 点做了一个误操作,删除了某些重要数据,我们可以指定恢复时间点到下午 4:59 分,恢复被误删除的数据。下面以联机数据库备份为例说明如何恢复数据库到指定的时间点 /LSN。
1、准备数据,执行以下命令:
CREATE TABLE TAB_FOR_RECOVER_01(C1 INT);
INSERT INTO TAB_FOR_RECOVER_01 VALUES(1);
COMMIT;
2、备份数据库,执行以下命令:
BACKUP DATABASE BACKUPSET ‘/home/dm_bak/db_full_bak_for_time_lsn’;
3、正确操作数据库,产生一些归档,执行以下命令:
CREATE TABLE TAB_FOR_RECOVER_02(C1 INT);
INSERT INTO TAB_FOR_RECOVER_02 VALUES(1);
COMMIT;
使用 SELECT SYSDATE 命令查询此时的时间为:
使用 SELECT FILE_LSN FROM V$RLOG 命令查询此时的 LSN 为:50857。
4、误操作数据库。此步骤误删除了表 TAB_FOR_RECOVER_01 中数据。执行以下命令:
DELETE FROM TAB_FOR_RECOVER_01;
COMMIT;
5、操作步骤同步骤 3,此时的时间和 LSN 分别为:2021-12-05 10:57:20.977265、50861。
关闭数据库,打开 RMAN 还原数据库,执行以下语句:(步骤 4 为误操作,因此我们需要将数据库恢复到步骤 3 的状态)
RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_time_lsn’;
6、恢复数据库到指定时间点 /LSN。还原后数据库的数据与备份时一致,如果要恢复数据库至步骤 3 的状态可以指定 UNTIL TIME 或 UNTIL LSN 参数重做部分归档。
使用 RECOVER DATABASE…UNTIL TIME 命令恢复到指定的时间,打开 RMAN,执行以下命令:
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ WITH ARCHIVEDIR’/home/dm_arch/arch’ UNTIL TIME’2021-12-05 10:56:40.624931’;
或者使用 RECOVER DATABASE…UNTIL LSN 命令恢复到指定的时间,执行以下命令:
RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ WITH
ARCHIVEDIR’/home/dm_arch/arch’ UNTIL LSN 50857;
7、恢复 db_magic,执行以下命令:
RECOVER DATABASE ‘D:\dmdbms\data\DAMENG\dm.ini’ UPDATE DB_MAGIC;
达梦社区 https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值