oracle_ajouter_un_nouveau_listener_dans_le_clusterware_de_oracle_rac_10g

oracle 10g clusterware listener RAC

Oracle - Ajouter un nouveau listener dans le clusterware de Oracle RAC 10G

Avec un cluster Oracle RAC, lorsque vous créez un nouveau LISTENER, celui-ci doit être enregistré dans le clusterware (CRS) pour être démarré au boot de la machine.

Prenons le cluster nommé “oracle”, qui contient 2 noeuds, “oracle1” et “oracle2”. Par défaut, nous avons donc la ressource ora.oracle1.LISTENER_ORACLE1.lsnr pour le noeud 1 et ora.oracle2.LISTENER_ORACLE2.lsnr pour le noeud 2.

Nous allons maintenant ajouter dans notre $ORACLE_HOME le listener “LISTENER_ORACLE1_P1522” pour écouter sur le port 1522. Pour cela, il suffit de le déclarer dans le fichier $ORACLE_HOME/network/admin/LISTENER.ORA :

LISTENER_ORACLE1_P1522 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle1-vip.cm-cic.fr)(PORT = 1522)(IP = FIRST))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1522)(IP = FIRST))
      )
    )
  )

Faire pareil sur le noeud 2.

Ensuite, il faut lancer les commandes suivantes avec le user OS oracle pour créer un nouveau profile et enregistrer la ressource dans le crs :

[oracle@oracle1:~]$ $CRS_HOME/bin/crs_profile -create ora.oracle1.LISTENER_ORACLE1_P1522.lsnr -t application -a $ORACLE_HOME/bin/racgwrap -d "CRS application for listener on node" -p restricted -h oracle1 -r ora.oarcle1.vip -o st=600,ci=600,ra=5,as=1
[oracle@oracle1:~]$ $CRS_HOME/bin/crs_register ora.oracle1.LISTENER_ORACLE1_P1522.lsnr

L'option “-o st=600,ci=600,ra=5,as=1” contient les différentes options de comportement de la ressource. Voici la liste :

as=auto_start
ci=check_interval
ft=failure_threshold
fi=failure_interval
ra=restart_attempts
fd=failover_delay
st=script_timeout
ap=active_placement
bt=rebalance
ut=uptime_threshold
rt=start_timeout
pt=stop_timeout

Vous pouvez retrouver cette information en tapant :

$CRS_HOME/bin/crs_profile -h

Pour ce paramètre, j'ai simplement pris les mêmes valeurs que le LISTENER créé par défaut. Pour les trouver, il suffit de lance la commande suivante :

$CRS_HOME/bin/crs_stat -p ora.oracle1.LISTENER_ORACLE1.lsnr
NAME=ora.oracle1.LISTENER_ORACLE1.lsnr
TYPE=application
ACTION_SCRIPT=$ORACLE_HOME/bin/racgwrap
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=600
DESCRIPTION=CRS application for listener on node
FAILOVER_DELAY=0
FAILURE_INTERVAL=0
FAILURE_THRESHOLD=0
HOSTING_MEMBERS=oracle1
OPTIONAL_RESOURCES=
PLACEMENT=restricted
REQUIRED_RESOURCES=ora.oracle1.vip
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=0
STOP_TIMEOUT=0
UPTIME_THRESHOLD=7d
USR_ORA_ALERT_NAME=
USR_ORA_CHECK_TIMEOUT=0
USR_ORA_CONNECT_STR=/ as sysdba
USR_ORA_DEBUG=0
USR_ORA_DISCONNECT=false
USR_ORA_FLAGS=
USR_ORA_IF=
USR_ORA_INST_NOT_SHUTDOWN=
USR_ORA_LANG=
USR_ORA_NETMASK=
USR_ORA_OPEN_MODE=
USR_ORA_OPI=false
USR_ORA_PFILE=
USR_ORA_PRECONNECT=none
USR_ORA_SRV=
USR_ORA_START_TIMEOUT=0
USR_ORA_STOP_MODE=immediate
USR_ORA_STOP_TIMEOUT=0
USR_ORA_VIP=

Maintenant que vous avez lancé la commande de création du profile et d'enregistrement dans le CRS, la ressource est disponible. Vous pouvez démarrer cette ressource de 2 façon :

[oracle@oracle1:~]$ $CRS_HOME/bin/crs_start ora.oracle1.LISTENER_ORACLE1_P1522.lsnr
[oracle@oracle1:~]$ srvctl start listener -n oracle1 -l LISTENER_ORACLE1_P1522

Pour revenir en arrière, il suffit de couper la ressource proprement, puis de dés-enregistrer la ressource du CRS, et enfin de supprimer le fichier profile créé dans $CRS_HOME/crs/public/ora.oracle1.LISTENER_ORACLE1_P1522.lsnr.cap :

$CRS_HOME/bin/crs_stop ora.oracle1.LISTENER_ORACLE1_P1522.lsnr
$CRS_HOME/bin/crs_unregister ora.oracle1.LISTENER_ORACLE1_P1522.lsnr
rm $CRS_HOME/crs/public/ora.oracle1.LISTENER_ORACLE1_P1522.lsnr.cap
  • oracle_ajouter_un_nouveau_listener_dans_le_clusterware_de_oracle_rac_10g.txt
  • Dernière modification: 2011/02/17 13:33
  • (modification externe)