这个问题几乎就像 oracle rman simple backup
但是那里没有可接受的答案,这个问题大约是11g。所以我会问:
我想在 oracle shema 上做一些表初始化 DDL 测试,并且我想在运行之间将数据库恢复到之前的测试状态。我在 RMAN 中执行以下操作:
shutdown immediate;
startup mount
backup database;
sql 'alter database open';
正如我所见,它工作正常,列表备份显示备份。
然后我做了一些修改(添加了一些用户,添加了一些表,添加了数据),然后我尝试恢复备份:
shutdown immediate;
startup mount
restore database;
recover database;
sql 'alter database open resetlogs';
预期结果:应将数据库恢复到进行初始备份时的确切状态。
实际结果:我在测试 DDL 中创建的所有新表和用户继续存在。我通过关闭连接、重新启动会话,甚至从表中进行选择来验证这一点!即使在还原之后,这些表仍然存在!
这有什么关系?在 MSSQL 和 Postgres 中,备份意味着您保存数据库的状态,恢复它意味着您回到备份的状态。但在 Oracle 11g 的 RMAN 中,它“声称”恢复成功,但证据清楚地表明并非如此。
如何让 oracle 将数据库的状态完全保存,然后进行更改,当我恢复时,我希望数据库与备份时的状态完全相同?
这在甲骨文中可能吗?