oracle 联机恢复不会更改存档数据库

oracle online recovery does not change archived db

创建了 db,dbca 选择了 asm、快速恢复区、存档模式。

现在我想备份它执行一些会更改数据库内容的测试,如果需要,然后从备份中恢复它。 我知道 export/import 实用程序,但需要使用 rman 以防我需要移动数据库。

我按照以下教程进行了一些注意事项,大多数命令都成功了:

https://www.thegeekstuff.com/2013/08/oracle-rman-backup/ https://www.thegeekstuff.com/2014/11/oracle-rman-restore/

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
SQL> SHUTDOWN
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM "+DG1/<DB_NAME>/CONTROLFILE/CURRENT.<3_DIGIT_NUMBER>.<10_DIGIT_NUMBER>"

(在这些命令之一之前)使用 SQL> STARTUP MOUNT 安装数据库,因为需要独占类型

RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;

*最后一个没有运行成功,只有恢复不好才能输出运行

我为检查备份和恢复所做的更改是在一次发生时删除 table 并在另一次发生时插入一条记录。 问题是在检查数据库没有改变到它以前的状态之后。

"only if badly recovered can be run" 不是已知错误消息。

没有任何变化,因为您没有对 'recover' 步骤施加限制。因此它通过所有在线重做立即恢复 - 回到您关闭它以执行 restore/recover 之前的瞬间。您需要查看 rman 手册中的 SET UNTIL 命令。 SET UNTIL 一个时间点或 scn,在你执行 activity 之前,你希望在 restore/recover.

之后消失

这完全符合预期,并且在您不想发生任何数据丢失的情况下进行灾难恢复时您会做的正是。在您的情况下,您不需要完全恢复,而是时间点 (PIT) 恢复。