jeudi 6 mai 2010

«crsctl stat res» dans tous les environnements

Pour ceux qui utilisent le RAC ou Oracle restart 11gR2, la commande «crsctl stat res» est très utile pour voir le statuts des ressources du clusterware ou d'oracle restart.

Cependant, il faut être connecté au serveur avec les paramètres du grid infrastructure 11gR2 pour pouvoir utiliser cette commande. Ce qui est souvent embêtant car étant connecté avec les paramètres BD, l'on a souvent envie de voir rapidement le status d'une ressource (le binaire crsctl n'existe que dans le $ORACLE_HOME/bin du grid infrastructure).

Une façon de faire est de créer un script, placer ce script à un emplacement qui sera défini dans le fichier «.profile» de l'utilisateur que l'on utilise pour se connecter au serveur.

À titre d'exemple:

Créer un script que j'appelerai «crsctl_perso»:

#!/usr/bin/ksh
CRS_PATH=$(cat /var/opt/oracle/oratab awk -F: '/^\+ASM/{print $2}')
if [[ $# -eq 0 ]]; then
$CRS_PATH/bin/crsctl stat res -t
else
$CRS_PATH/bin/crsctl stat res $*
fi

Note:
Ce script tient compte du fait que dans mon fichier /var/opt/oracle/oratab, il y a un enregistrement pour l'instance ASM sous le format:
+ASM:$ORA_CRS_HOME:N
Noter qu'à partir de la version 11.2.0.1, le clusterware et ASM s'installent dans le même home, ce qui m'a permis d'utiliser le home d'ASM.

Rendre le script exécutable (le 754 a été choisi au hasard, pourvu que je puisse exécuter mon script):
chmod 754 crsctl_perso

Placer le script dans le répertoire souhaité

Définir ce répertoire dans le fichier «.profile»

Se reconnecter au serveur et tester le script.

Exemple d'exécution du script dans un environnement oracle restart (idem pour un environnement RAC):


  • Utiliser le script sans paramètre pour voir toutes les ressources et leurs statuts:
crsctl_perso
  • Utiliser le script avec des paramètres pour voir les paramètres d'une ressource «ora.d100.db» (ressource d'une de mes bd: D100) avec l'option -p (Pour voir les différentes options, se connecter avec les paramètres du grid infrastructure et faire «crsctl -h»):

crsctl_perso ora.d100.db -p

Après ça l'on ne pourra plus se plaindre de pas pouvoir voir le status des ressources lorsqu'on est connecté avec les paramètres BD.

Aucun commentaire:

Enregistrer un commentaire