web-dev-qa-db-ja.com

Oracle 11.2でフィジカルスタンバイを廃止する方法

単一ノードのフィジカルスタンバイを備えた本番用Oracle 11gR2 RACデータベースがあります。これで、古いスタンバイを廃止して、その役割を新しいハードウェアのRACに渡す時が来ました。

Data Guard Brokerは使用しません。

私はこの特定のプロセスについて多くを見つけることができなかったので、多分それにそれほど多くはなかったと思いました。どうやら、私が思っていたよりも少しだけ少しはあります。

古いスタンバイでログ適用を停止した後、スタンバイログの宛先をクリアして、ログ配布の新しい宛先を設定しようとしました。次に、Oracleは、新しいフィジカルスタンバイのDB_UNQUE_NAMEが現在のData Guard構成の一部ではないと不平を言います。

SQL> alter system set log_archive_dest_3='';

System altered.

SQL> alter system checkpoint;

System altered.

SQL> alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB11SBY' scope=both sid='*';
alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB10SBY' scope=both sid='*'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16053: DB_UNIQUE_NAME PDB10SBY is not in the Data Guard Configuration

V $ dataguard_configへのクイッククエリは、古いスタンバイデータベースのDB_UNIQUE_NAMEを含むアクティブな構成があることを確認します。

SQL> select * from
  2  v$dataguard_config;

DB_UNIQUE_NAME
------------------------------
PDB10
PDB10_STBY

では、問題は、新しいフィジカルスタンバイデータベースを展開できるように、既存のData Guard構成を廃止するために必要な手順は何ですか。

2
Roy

Data Guard構成内のデータベースの一意の名前は、次の形式でlog_archive_configパラメータにリストされています。

log_archive_config='DG_CONFIG=(PDB10,PDB10_STBY)'

古いものを削除して、新しいものを次のように追加できます。

alter system set log_archive_config='DG_CONFIG=(PDB10,PDB10SBY)';

この後、log_archive_dest_Nを新しいスタンバイに設定できます。

2
Balazs Papp