使用归档将数据库恢复到指定时间点
在DM数据库中只要拥有连续的归档日志,就可以将数据库还原恢复到之前的任一时间点,接下来,就来演示一下大致的操作步骤。
环境介绍
操作系统:中标麒麟7
数据库版本: DM8
准备要求:数据库已安装完成,并开启归档模式
场景介绍:创建一张表,然后备份数据库,接下来还原数据库,然后使用归档恢复到创建表之前的时间点,再查询此表是否存在。
创建表
创建一张表,TEST(时间11:48):
create table SYSDBA.TEST(ID VARCHAR2(50));
备份数据库
对数据库进行一次全库备份:
首先停止数据库服务:
cd /home/dmdba/dmdbms/bin
./DmServiceDMSERVER stop
然后使用dmrman工具进行全库备份:
./dmrman CTLSTMT="BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/home/dmdba/dmdbms/data/DAMENG/BACKUP_FILE_01'"
还原数据库
同样是使用dmrman工具,我们对数据库进行还原:
./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dmdbms/data/DAMENG/BACKUP_FILE_01'"
恢复数据库
使用dmrman工具,利用归档日志将数据库恢复到指定时间11:46分,即创建表TEST之前:
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' with archivedir '/home/dmdba/dmdbms/data/DAMENG/arch' until time '2021-03-27 11:46:00'"
更新DB_MAGIC:
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' update db_magic"
开启数据库服务查询TEST表
cd /home/dmdba/dmdbms/bin
./DmServiceDMSERVER start
发现查无此表。