クラスタ用 Oracle Grid Infrastructure を使用して HA for Oracle Database データサービスが配備される場合、シングルインスタンスデータベースの優先リスナーは、単一クライアントアクセス名 (SCAN) リスナーを使用します。HA for Oracle Database 構成で SCAN リスナーを活用するには、シングルインスタンスデータベースの local_listener および remote_listener パラメータが正しく設定されていることを確認する必要があります。
SCAN リスナーの詳細については、使用している Oracle Grid Infrastructure ソフトウェアのバージョンの Oracle Grid Infrastructure のインストールガイドを参照してください。
始める前に
次のガイドラインに従ってください。
SCAN リスナーに使用する IP アドレスが、Oracle Database リソースグループの論理ホスト名リソースのために構成する IP アドレスと同じサブネット上に存在することを確認してください。それ以外の場合、パブリックネットワークで障害が発生した場合に、Oracle Database リソースはフェイルオーバーしません。
SCAN リスナーを構成した場合は、SUNW.oracle_listener リソースタイプを持つ Oracle Database リスナーリソースを作成するための、このマニュアル内のあとの手順を無視できます。SCAN リスナーを構成する場合、Oracle Database リスナーリソースは必要ありません。
SQL> show parameters local_listener NAME TYPE VALUE ---------------------- ----------------------------------------- local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=node-IP-number)(PORT=port-number)) SQL>
Oracle データベースが再起動されると、Oracle Clusterware が動的に local_listener パラメータを設定します。
SQL> alter system set local_listener='' scope=both; System altered.
SQL> show parameters local_listener
phys-schost$ srvctl config scan SCAN name: SCAN-name, Network: network-number … phys-schost$ srvctl config scan_listener SCAN Listener LISTENER_SCAN1 exists. Port: TCP:port-number …
SQL> show parameter remote_listener NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_listener string SCAN-name:port-number SQL>
SQL> alter system set remote_listener='SCAN-name:port-number' scope=both
SQL> show parameter remote_listener
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = SCAN-name)(PORT = port-number)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )