miércoles, 16 de marzo de 2011

CRS-0223: Resource 'xxx' has placement error

Me encontré con este error luego de instalar DG4ODBC y reiniciar el RAC... y lo peor era un RAC que estaba en Producción!!! He aquí el primer consejo, y que está en la tapa del libro... no tocar algo que está funcionando y menos aún hacer pruebas sobre eso... :)

Luego de algunos minutos y con los latidos a 200 por minuto, y viendo que el status de las instancias no era ONLINE... las mostraba como unknown, y obviamente no podía conectarme...

crs_stat -t

Name Type Target State Host
------------------------------------------------------------
ora.prod.db application ONLINE ONLINE
ora....d1.inst application ONLINE UNKNOWN
ora....d2.inst application ONLINE UNKNOWN
ora....SM1.asm application ONLINE ONLINE racdb1
ora....B1.lsnr application ONLINE ONLINE racdb1
ora.racdb1.gsd application ONLINE ONLINE racdb1
ora.racdb1.ons application ONLINE ONLINE racdb1
ora.racdb1.vip application ONLINE ONLINE racdb1
ora....SM2.asm application ONLINE ONLINE racdb2
ora....B2.lsnr application ONLINE ONLINE racdb2
ora.racdb2.gsd application ONLINE ONLINE racdb2
ora.racdb2.ons application ONLINE ONLINE racdb2
ora.racdb2.vip application ONLINE ONLINE racdb2

Intenté levantarlas nuevamente... con crs_start, con srvctl...
y nooo, no había caso... error!

PRKP-1001 : Error starting instance prod1 on node racdb1
CRS-1028: Dependency analysis failed because of:
CRS-0223: Resource 'ora.prod1.racdb1.inst' has placement error.

Se me complicó... dónde está la salida?!?!
Intenté levantarlas como si fueran BDs stanalone primero prod1 y luego prod2...

> export ORACLE_SID=prod1
> sqlplus /nolog
>> connect / as sysdba
>> startup;

y levantaron !!! la instancia 1 y la 2...

Bueh... salimos del paso... no se ven una a otra como un RAC pero al menos accedo a los datos... simplemente cambio las propiedades de las aplicaciones que hacen uso del RAC, y que empiecen a apuntar a una de las instancias, sin necesidad de FAILOVER ni BALANCEO... por lo menos para empezar...

Luego de un par de días de darle vueltas al asunto, encontré googleando, alguien que recomendaba matar los procesos crsd y probar levantar las instancias nuevamente... y fue lo que hice, y funcionó!

> kill - 9 --> en ambos nodos
> srvctl start instance -i prod1 -d prod --> luego con prod2

y listo!!! todo ONLINE nuevamente...

crs_stat -t

Name Type Target State Host
------------------------------------------------------------
ora.prod.db application ONLINE ONLINE racdb1
ora....d1.inst application ONLINE ONLINE racdb1
ora....d2.inst application ONLINE ONLINE racdb2
ora....SM1.asm application ONLINE ONLINE racdb1
ora....B1.lsnr application ONLINE ONLINE racdb1
ora.racdb1.gsd application ONLINE ONLINE racdb1
ora.racdb1.ons application ONLINE ONLINE racdb1
ora.racdb1.vip application ONLINE ONLINE racdb1
ora....SM2.asm application ONLINE ONLINE racdb2
ora....B2.lsnr application ONLINE ONLINE racdb2
ora.racdb2.gsd application ONLINE ONLINE racdb2
ora.racdb2.ons application ONLINE ONLINE racdb2
ora.racdb2.vip application ONLINE ONLINE racdb2

1 comentario: