1.要恢复数据库,首先得有源备份,因此我们先备份数据库,这里我使用联机备份,因此不需要指定实例路径

SQL> BACKUP DATABASE BACKUPSET '/dmdata/dmbak/databasebak' COMPRESSED;
操作已执行
已用时间: 00:01:36.216. 执行号:614.

2.这里我误操作把数据库里的表txt给删除

SQL> drop table txt;
操作已执行
已用时间: 00:00:01.792. 执行号:615.
3.此时查看当前删除数据库的时间点或者文件LSN,由当前时间可以推算出我们误操作的时间点。

SQL> select sysdate;

行号     SYSDATE            
---------- -------------------
1          2021-11-23 00:05:03

已用时间: 39.544(毫秒). 执行号:617.

4.关闭数据库实例,进入dmrman

先还原

RMAN>RESTORE DATABASE '/dmdata/dameng/dm.ini' from BACKUPSET '/dmdata/dmbak/databasebak';

再配合归档文件恢复到时间点

RMAN>RECOVER DATABASE '/dmdata/dameng/dm.ini' WITH ARCHIVEDIR '/dmdata/arch/' UNTIL TIME '2021-11-23 00:00:0';

最后恢复数据库魔数值

RECOVER DATABASE '/dmdata/dameng/dm.ini' update db_magic;

                                                                                                                                                                                                                                   https://eco.dameng.com

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐