Chaque élément d’un RAC (Instance, diskgroup, listener etc.. ) est considéré comme une ressource du clusterware.
Ces ressources peuvent être liées entre elles via des dépendances.
Par exemple, une instance, pour démarrer, est dépendante de l’instance ASM. Tant que l’instance ASM n’est pas démarrée, l’instance de base de données ne va pas démarrer.
Cependant, il arrive qu’une ressource n’ai pas de dépendance, soit parce qu’elle a mal été créée, soit parce que vous souhaitez créer un ordre de démarrage entre plusieurs ressources.
Nous avons eu ce cas récemment :
Suite à l’éviction d’un nœud, 2 des 3 instances ont correctement été redémarrées. Après analyse des logs, nous avons découvert que l’instance ASM a pris davantage de temps que d’habitude pour démarrer, ce qui a provoqué l’échec du démarrage d’une instance. Au final, nous avons du démarrer l’instance manuellement.
Pour détecter ce problème, nous avons parcouru le fichier crsd.log et nous avons trouvé :
2013-02-06 10:27:28.240: [ CRSRES][1493616960] Start of `ora.DB.DB2.inst` on member `server2` failed. ... 2013-02-06 10:27:32.124: [ CRSRES][1489414464] Start of `ora.server2.ASM2.asm` on member `server2` succeeded.
On remarque que l’instance a tenté un démarrage quelques secondes avant l’instance ASM, mais a échoué car les points de montages ASM n’étaient pas encore disponible.
La cause de ce problème vient du fait que la ressource ora.DB.DB2.inst n’a pas pour dépendance la ressource ora.server2.ASM2.asm :
[oracle@server2 ~]$ crs_stat -p | grep 'NAME=ora.|REQ' NAME=ora.DB.DB1.inst REQUIRED_RESOURCES=ora.server1.ASM1.asm NAME=ora.DB.DB2.inst REQUIRED_RESOURCES= NAME=ora.DB.db REQUIRED_RESOURCES=
Pour corriger ce problème, il suffit alors d’exécuter la requête suivante :
[oracle@server2 ~]$ srvctl modify instance -d DB -i DB2 -s +ASM2
On a donc maintenant :
[oracle@server2 ~]$ crs_stat -p | grep 'NAME=ora.|REQ' NAME=ora.DB.DB1.inst REQUIRED_RESOURCES=ora.server1.ASM1.asm NAME=ora.DB.DB2.inst REQUIRED_RESOURCES=ora.server2.ASM2.asm NAME=ora.DB.db REQUIRED_RESOURCES=
1 réflexion sur “Clusterware : Gestion des Ressources et dépendances”
Pour en savoir plus sur RAC, vous pouvez suivre le cours dont le descriptif est disponible sur ce lien :
https://easyteam.fr/formation-oracle/Catalogue/oracle-database-11g-rac-pour-administrateurs-D50311
Les commentaires sont fermés.