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