Lorsque le service de données HA pour Oracle Database est déployé à l'aide d'Oracle Grid Infrastructure pour clusters, le listener préféré pour une base de données à instance unique est un listener Single Client Access Name (SCAN). Pour exploiter un listener SCAN dans la configuration de HA pour Oracle Database, vous devez vous assurez que les paramètres de la base de données à instance unique local_listener et remote_listener sont définis correctement.
Pour plus d'informations sur le listener SCAN, reportez-vous au guide d'installation d'Oracle Grid Infrastructure correspondant à votre version du logiciel Oracle Grid Infrastructure.
Avant de commencer
Suivez les recommandations suivantes :
Assurez-vous que l'adresse IP que vous utilisez pour le listener SCAN appartient au même sous-réseau que celle que vous allez configurer pour la ressource de nom d'hôte logique du groupe de ressources Oracle Database. Sinon, la ressource Oracle Database ne basculera pas en cas de défaillance du réseau public.
Si vous configurez un listener SCAN, vous pouvez ignorer les instructions ultérieures sur la création d'une ressource de listener Oracle Database de type SUNW.oracle_listener qui figurent dans le présent manuel. Une ressource de listener Oracle Database n'est pas nécessaire lorsque le listener SCAN est configuré.
SQL> show parameters local_listener NAME TYPE VALUE ---------------------- ----------------------------------------- local_listener string (ADDRESS=(PROTOCOL=TCP)(HOST=node-IP-number)(PORT=port-number)) SQL>
Lorsque la base de données Oracle est redémarrée, Oracle Clusterware définit dynamiquement le paramètre 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) ) )