プライマリDB:11.2.0.3エンタープライズ
スタンバイDB:12.1.0.2エンタープライズ
フィジカルスタンバイDBでの変更に関する記事をいくつか見つけましたが、トランジェントロジカルスタンバイDBでユーザーテストを有効にする方法を見つけるのに苦労していました(その後、変更をフラッシュバックし、ログトランスポートとSQL適用を再度有効にしますテストが完了しました)。
論理スタンバイデータベースについて私が知っていることに基づいて、次の手順を作成しました。ただし、スタンバイDBを台無しにした場合、データベースのバージョンが異なるため、RMANを介してDBを単純に再複製することはできないため、これはテストされていません。基本的に、プライマリDBのクローンを再作成し、データガードのスタンバイを再構成し、スタンバイDBのバージョンをアップグレードする必要があります...基本的に、可能であれば避けたい多くの作業...
これを経験したことがある人が、以下の手順を調べて、何かを忘れているかどうか、または注意または注意すべき潜在的な問題/警告を教えていただければ幸いです。
*注:プライマリ=>スタンバイログトランスポートは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;
私の手順は有効なようです...論理DBをテストし、それを正確なコピーの論理スタンバイに戻し、問題なくSQL適用を再度有効にすることができました。
ただし、手順に小さな変更がありました。フラッシュバックデータベースでは、DBがマウント状態である必要があり、データベースを開くには、resetlogsまたはnoresetlogsが必要です。
したがって、修正された手順は次のとおりです。
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
shutdown immediate;
startup mount;
flashback database to restore point 'before_testing';
alter database open resetlogs;
alter database guard all;
alter database start logical standby apply immediate;
drop restore point before_testing;
alter database flashback off;
PRIMARY
alter system set log_archive_dest_state_3=enable scope=both;
ここではスナップショットスタンバイについて話しています。見て:
http://www.Oracle.com/technetwork/testcontent/usingsnapshot-088081.html