使用 Oracle Grid Infrastructure for Clusters 部署 HA for Oracle Database 数据服务时,单实例数据库的首选侦听器是单客户机访问名称 (Single Client Access Name, SCAN) 侦听器。要在 HA for Oracle Database 配置中利用 SCAN 侦听器,必须确保正确设置了单实例数据库的 local_listener 和 remote_listener 参数。
如果配置 SCAN 侦听器,则可以忽略本手册中后面有关创建具有 SUNW.oracle_listener 资源类型的 Oracle 数据库侦听器的说明。配置 Oracle 数据库侦听器时不需要 SCAN 侦听器资源。
有关 SCAN 侦听器的更多信息,请参见您的 Oracle Grid Infrastructure 软件版本的 Oracle Grid Infrastructure 安装指南。
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) ) )