12c 環境の Dataguard 構成で、プライマリ ( foo
) からスタンバイ ( ) への切り替えを実行し、bar
で sqlplus を実行しようとすると、新しいプライマリ (バー) に接続できずuser@foo
、" " エラーが発生します。ORA-011033: ORACLE initialization or shutdown in progress
foo
これは、接続がまだアドレスではなくアドレスを指しているためであることがわかりbar
ました。多くの記事によると、さまざまな接続を処理するための新しい「仮想」サービスと、停止するトリガーを作成する必要があります。 /役割の変更後にこのサービスを開始します。
私はこれを行い、service_names
パラメータをこの新しい「仮想」サービスに設定すると、スイッチオーバーが機能し、元に戻すこともできますが、sqlplus をuser@foo
スローしようとするとORA-011033
. トリガーは役に立たず、サービスは foo と bar の両方で実行され続けます。これは、そのパラメーターを設定すると、トリガーが実行しようとするものをオーバーライドするように見えるためです。
そのパラメーターを定義しないと、スイッチオーバーが正常に機能し、トリガーが機能し、 Isqlplus user@foo
のときにアドレスに正しくリダイレクトされbar
ます。ただし、 にスイッチオーバーしようとするとfoo
、DG アラート ログに次のメッセージが表示されます。
Redo transport problem detected: redo transport to database foo has the following error:
ORA-16047: DGID mismatch between destination setting and target database
08/05/2016 16:01:02
Initialization of connection failed.
Expected destination db_unique_name is foo.
Database actually reached is bar
Failed to send message to site foo. Error code is ORA-16642.
Data Guard Broker Status Summary:
Type Name Severity Status
Configuration foo_dg Warning ORA-16607
Primary Database bar Error ORA-16778
Physical Standby Database foo Error ORA-16642
オン・フー:
log_archive_dest_2='service="bar"','ASYNC NOAFFIRM delay=0 オプションの圧縮=無効 max_failure=0 max_connections=1 再開=300 db_unique_name="bar" net_timeout=30','valid_for=(online_logfile,all_roles)' fal_client= 'foo' fal_server='バー'
オンバー:
log_archive_dest_2='service="foo", ASYNC NOAFFIRM delay=0 オプションの圧縮=無効 max_failure=0 max_connections=1 再開=300 db_unique_name="foo" valid_for=(online_logfile,all_roles)' fal_client='bar' fal_server='foo'
LDAP のエントリ: foo:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=foo_home)(PORT=15940))(ADDRESS=(PROTOCOL=TCP)(HOST=bar_home)(PORT=15940)))(CONNECT_DATA=(サービス名) =virtual_foo)(FAILOVER_MODE=(TYPE=SESSION)(METHOD=基本))))
バー:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=bar_home)(PORT=15940)))(CONNECT_DATA=(SERVICE_NAME=bar)))
何が欠けているのか、誤解しているのかわかりません。私が間違っている可能性があることについて、誰かが光を当てることができますか? 必要に応じて、より多くの情報を提供できます。