注册
DM备份还原到指定时间点或者LSN
技术分享/ 文章详情 /

DM备份还原到指定时间点或者LSN

lysrwhjy 2024/04/03 1246 2 0

备份还原到指定时间点

创建测试数据

CREATE TABLE TAB_01(C1 INT);
INSERT INTO TAB_01 VALUES(1);
COMMIT;
CREATE TABLE TAB_02(C1 INT);
INSERT INTO TAB_02 VALUES(1);
COMMIT;
CREATE TABLE TAB_03(C1 INT);
INSERT INTO TAB_03 VALUES(1);
COMMIT;
image.png
备份数据库,执行以下命令
SQL> BACKUP DATABASE BACKUPSET ‘/opt/data/db_5237/bak/db_full_time_lsn’;
操作已执行
已用时间: 00:00:02.883. 执行号:707.
SQL>
image.png
操作数据库,产生一些归档,执行以下命令:
CREATE TABLE TAB_04(C1 INT);
INSERT INTO TAB_04 VALUES(1);
COMMIT;
CREATE TABLE TAB_05(C1 INT);
INSERT INTO TAB_05 VALUES(1);
COMMIT;
image.png
使用 SELECT SYSDATE 命令查询此时的时间2024-04-03 14:19:31
image.png
使用 SELECT FILE_LSN FROM V$RLOG 命令查询此时的 LSN:45578
image.png
误操作数据库。此步骤误删除了表 TAB_01 中数据。
DELETE FROM TAB_01;
COMMIT;
drop table TAB_01;
image.png
此时的时间和 LSN 分别为:2024-04-03 14:21:26、45582。
image.png
image.png
关闭数据库,打开 RMAN 还原数据库,执行以下语句
RESTORE DATABASE ‘/opt/data/db_5237/dm.ini’ FROM BACKUPSET ‘/opt/data/db_5237/bak/db_full_time_lsn’;
image.png
恢复数据库到指定时间点。
RECOVER DATABASE ‘/opt/data/db_5237/dm.ini’ WITH ARCHIVEDIR ‘/opt/data/db_5237/arch’ UNTIL TIME ‘2024-04-02 23:00:00.45578’;
image.png
恢复 db_magic
RECOVER DATABASE ‘/opt/data/db_5237/dm.ini’ UPDATE DB_MAGIC;
image.png
启动数据库登录查询验证
image.png

注释:

也可以使用 RECOVER DATABASE…UNTIL LSN 命令恢复到指定的时间
RESTORE DATABASE ‘/opt/data/db_5237/dm.ini’ FROM BACKUPSET ‘/opt/data/db_5237/bak/db_full_time_lsn’;
RECOVER DATABASE ‘/opt/data/db_5237/dm.ini’ WITH ARCHIVEDIR’/opt/data/db_5237/arch’ UNTIL LSN 45578;
恢复 db_magic
RECOVER DATABASE ‘/opt/data/db_5237/dm.ini’ UPDATE DB_MAGIC;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服