Cuando se implementa el servicio de datos HA para Oracle Database utilizando Oracle Grid Infrastructure para clusters, el listener preferido para una base de datos de instancia única es el listener de nombre único de acceso de cliente (SCAN). Para aprovechar un listener SCAN en la configuración de HA para Oracle Database, debe asegurarse de que los parámetros local_listener y remote_listener de la base de datos de instancia única estén configurados correctamente.
Para obtener más información sobre el listener SCAN, consulte la guía de instalación de Oracle Grid Infrastructure correspondiente a su versión de software de Oracle Grid Infrastructure.
Antes de empezar
Observe las siguientes directrices:
Asegúrese de que la dirección IP que utilice para el listener SCAN esté en la misma subred que la dirección IP que configurará para el recurso de nombre de host lógico del grupo de recursos de Oracle Database. De lo contrario, el recurso de Oracle Database no realiza el failover si la red pública falla.
Si configura un listener SCAN, puede ignorar las instrucciones subsiguientes de este manual sobre la creación de un recurso de listener de Oracle Database con el tipo de recurso SUNW.oracle_listener. Un recurso de listener de Oracle Database no es necesario cuando se configura el listener SCAN.
SQL> show parameters local_listener NAME TYPE VALUE ---------------------- ----------------------------------------- local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=node-IP-number)(PORT=port-number)) SQL>
Cuando se reinicia la base de datos Oracle, Oracle Clusterware configura dinámicamente el parámetro 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) ) )