miércoles, 5 de septiembre de 2012

RAC : Como crear un recurso de aplicacion de usuario en CRS

Cuando manejas RAC, existe un herramienta llamada crsctl, esta herramienta es una interfase para manejar los recursos pertenecientes al clusterware. Pero al igual esta herramienta te puede ayudar para que tus aplicaciones estén disponibles cuando tu cluster esta disponible y viceversa.

Esto nos sirve a nosotros no nada mas para aplicaciones de usuario , si no también para herramientas que nos sirven para monitorear nuestros nodos, en este caso OSWbb (OS Watcher Black Box 461053.1) y aunque existe un documento para arrancar OSWbb como un servicio del sistema operativo,580513.1, aquí lo vamos a poner con crsctl

Como siempre, esto lo debes de ensayar en un ambiente de pruebas antes de moverlo a un ambiente de producciony de igual manera verificar los scripts que te estoy mencionando.

Lo primero que tienes que hacer es bajar OSWbb e instalarlo en la misma dirección en todos los nodos que le pertenece a tu granja de servidores RAC, yo lo puse en la siguiente dirección:

/mount/dba01/oracle/oswbb_51

De ahí tienes que crear un script que llame a los cuatro comandos necesarios para que funcione con crsctl (START,STOP,CHECK y CLEAN) y que de la misma manera sea visible para todos los nodos en la misma locación , en este caso el script que voy a utilizar  lleva el nombre de rac_verificar_oswbb.sh , y lo puede encontrar dándole click al nombre anterior.

Lo único que cambiar en el script que te acabo de mencionar es cambiar la variable OSWPATH a donde tu descomprimiste la ultima versión de OSWbb.

OSWPATH=/mount/dba01/oracle/oswbb_51

Asegurate que el usuario con el que vas a crear el recurso, ya sea root o grid ,tenga permisos de escritura y ejecución sobre rac_verificar_oswbb.sh  y OSWPATH

Una vez que hiciste lo anterior , con el usuario root o el usuario grid, dependiendo con que usuario vayas a crear el recurso, en mi caso use el usuario root, tienes que verificar que los siguiente cuatro comandos corran sin ningún error, si alguno no sirve o corre con error, no va a funcionar lo que estamos haciendo.

Una vez que hayas resuelto y/o verificado que no tienes ningún problema, hay que crear el recurso, asegurate que el recurso no tenga el prefijo ora.,ya que este es para los recursos manejados por Oracle, en este caso utilice un prefijo llamado usr.

root@servidor1.oracleenespanol.blogspot.com  /home/oracle
root $ crsctl add resource usr.oswbb -type ora.local_resource.type -attr "AUTO_START=always,RESTART_ATTEMPTS=2, START_TIMEOUT=100,STOP_TIMEOUT=100,CHECK_INTERVAL=60,ACTION_SCRIPT=/mount/dba01/oracle/admin/rac_verificar_oswbb.sh"

Ya creado el recurso, ya nada mas tienes que iniciarlo y verificar que esta corriendo

root@servidor1.oracleenespanol.blogspot.com  /home/oracle
root $ crsctl start resource usr.oswbb
CRS-2672: Attempting to start 'usr.oswbb' on 'servidor1'
CRS-2672: Attempting to start 'usr.oswbb' on 'servidor2'
CRS-2676: Start of 'usr.oswbb' on 'servidor1' succeeded
CRS-2676: Start of 'usr.oswbb' on 'servidor2' succeeded

root@servidor1.oracleenespanol.blogspot.com  /home/oracle
root $ crsctl status resource usr.oswbb
NAME=usr.oswbb
TYPE=ora.local_resource.type
TARGET=ONLINE                , ONLINE
STATE=ONLINE on servidor1, ONLINE on servidor2

Conclusión

Este método no nada mas sirve para OSWbb , si no para cualquier aplicación que este ligado a tu cluster, y ahora si la imaginación y lo complejo que quieres que sea es tuyo.