主数据库:11.2.0.3 Enterprise
备用数据库:12.1.0.2 Enterprise
我找到了几篇关于在物理备用数据库上进行更改的文章,但我一直难以找到如何在瞬态逻辑备用数据库上启用用户测试(然后闪回他们的更改并重新启用日志传输和 SQL Apply测试已经完成)。
根据我对逻辑备用数据库的了解,我编写了以下过程。然而,这是未经测试的,因为如果我搞砸了备用数据库,我不能简单地通过 RMAN 重新复制数据库,因为数据库版本不同。我基本上必须重新克隆主数据库,为 dataguard 重新配置备用数据库,升级备用数据库版本等等......基本上,如果可能的话,我宁愿避免很多工作......
如果有这方面经验的人可以查看我的以下程序并让我知道我是否忘记了什么,或者我应该注意或注意哪些潜在问题/注意事项,我将不胜感激:
*注意:主 => 备用日志传输在 log_archive_dest_3 中指定
PRIMARY
alter system set log_archive_dest_state_3=defer scope=both;
STANDBY
alter database stop logical standby apply;
alter database guard none;
alter database flashback on;
create restore point before_testing guarantee flashback database;
*AFTER TESTING IS DONE*
STANDBY
flashback database to restore point 'before_testing';
drop restore point before_testing;
alter database flashback off;
alter database guard all;
alter database start logical standby apply immediate;
PRIMARY
alter system set log_archive_dest_state_3=enable scope=both;
我的程序似乎有效...我能够测试逻辑数据库,然后将其带回一个精确的副本逻辑备用数据库并重新启用 SQL 应用,而不会出现问题。
但是,我的程序有一个小改动:闪回数据库要求数据库处于装载状态,而 alter database open 需要 resetlogs 或 noresetlogs。
因此,修改后的程序如下:
您在这里谈论的是快照待机。看一下:
http://www.oracle.com/technetwork/testcontent/usingsnapshot-088081.html