Oracle Database プライマリデータベースと Oracle Database スタンバイデータベース間で、データベースの役割のフェイルオーバーまたはスイッチオーバーが可能です。Oracle Database コマンドを使用して Oracle Data Guard インスタンスの役割を変更する場合、変更はこれらのインスタンスを表す Oracle Solaris Cluster リソースには伝播しません。したがって、Oracle Solaris Cluster コマンドを使用してこれらのリソースの拡張プロパティーを変更して、データベースのインスタンスが正しい役割で起動されるようにする必要もあります。
Oracle Data Guard インスタンスの役割の変更中に Oracle Solaris Cluster ノードが失敗すると、Oracle Solaris Cluster ソフトウェアがインスタンスを正しくない役割で再起動することがあります。この可能性を防ぐには、インスタンスを表す Oracle Database サーバーリソースの Dataguard_role 拡張プロパティーを IN_TRANSITION に変更します。
# clresource set -p Dataguard_role=IN_TRANSITION server-rs
Dataguard_role
Standby_mode
次のように、Dataguard_role と Standby_mode の必要な組み合わせは、役割の変更によって異なります。
# clresource set -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL server-rs
# clresource set -p Dataguard_role=STANDBY \ -p Standby_mode=LOGICAL server-rs
# clresource set -p Dataguard_role=PRIMARY server-rs
# clresource set -p Standby_mode=SNAPSHOT server-rs