Guide du service de données Oracle® Solaris Cluster pour Oracle Database

Quitter la vue de l'impression

Mis à jour : Janvier 2016
 
 

Réglage des détecteurs de pannes de HA pour Oracle Database

La détection des pannes pour le service de données HA pour Oracle Database est assurée par les détecteurs de pannes suivants :

  • Le détecteur de pannes du serveur Oracle Database

  • Le détecteur de pannes du listener Oracle Database


Remarque -  Si vous utilisez un listener Oracle Grid Infrastructure pour clusters Single Client Access Name (SCAN), le logiciel Oracle Solaris Cluster ne fournit aucune détection de pannes pour le listener SCAN.

Chaque détecteur de pannes est contenu dans une ressource dont le type est indiqué dans le tableau suivant.

Table 3  Types de ressources pour les détecteurs de pannes de HA pour Oracle Database
Détecteur de pannes
Type de ressource
Serveur Oracle Database
SUNW.oracle_server
Listener Oracle Database
SUNW.oracle_listener

Les propriétés standard et les propriétés d'extension de ces ressources déterminent le comportement des détecteurs de pannes. Les valeurs par défaut de ces propriétés déterminent le comportement prédéfini des détecteurs de pannes. Le comportement prédéfini doit être adapté à la plupart des installations Oracle Solaris Cluster. Vous devez donc régler les détecteurs de pannes HA pour Oracle Database uniquement si vous devez modifier le comportement prédéfini.

Le réglage des détecteurs de pannes HA pour Oracle Database implique les tâches suivantes :

  • Paramétrage de l'intervalle entre les tests du détecteur de pannes

  • Paramétrage du délai d'attente pour les tests du détecteur de pannes

  • Définition des critères pour les pannes persistantes

  • Spécification du comportement de basculement d'une ressource

Pour plus d'informations, reportez-vous à la section Réglage des détecteurs de pannes pour les services de données d’Oracle Solaris Cluster du manuel Guide de planification et d’administration des services de données d’Oracle Solaris Cluster 4.3 . Les sous-sections qui suivent fournissent des informations sur les détecteurs de pannes HA pour Oracle Database dont vous avez besoin pour effectuer ces tâches.

Réglez les détecteurs de pannes HA pour Oracle Database lorsque vous enregistrez et configurez HA pour Oracle Database. Pour plus d'informations, reportez-vous à la section Enregistrement et configuration de HA pour Oracle Database.

Exploitation du détecteur de pannes du serveur Oracle Database

Le détecteur de pannes du serveur Oracle Database envoie une demande au serveur pour connaître l'état de ce dernier.

La propriété pmfadm démarre le détecteur de pannes du serveur et le définit comme hautement disponible. Si le moniteur est arrêté pour une raison quelconque, l'utilitaire PMF le redémarre.

Le détecteur de pannes du serveur comprend les processus suivants.

  • Un processus principal de détection de pannes

  • Un test de détection de pannes du client de base de données

Cette section contient les informations suivantes sur le détecteur de pannes du serveur :

Fonctionnement du détecteur de pannes principal

Le détecteur de pannes principal considère que le fonctionnement est correct si la base de données est en ligne et qu'aucune erreur n'est renvoyée pendant la transaction.

Fonctionnement du test de détection de pannes du client de base de données

Le test de détection des pannes du client de base de données effectue les opérations suivantes :

  1. Surveillance de la partition des journaux de restauration archivés. Reportez-vous à la section Opérations de contrôle de la partition des fichiers journaux de restauration archivés.

  2. Si la partition est fonctionnelle, détermination de l'état de fonctionnement de la base de données. Reportez-vous à la section Opérations visant à déterminer si la base de données est opérationnelle.

Le test utilise la valeur du délai d'attente définie dans la propriété de ressource Probe_timeout pour déterminer le temps à allouer pour parvenir à tester le logiciel Oracle Database.

Opérations de contrôle de la partition des fichiers journaux de restauration archivés

Le test de détection des pannes du client de base de données effectue une recherche sur la vue des performances dynamiques v$archive_dest pour déterminer toutes les destinations possibles des journaux de restauration archivés. Pour chaque destination active, le test détermine si ce dernier est fonctionnel et dispose d'un espace suffisant pour stocker les fichiers journaux de restauration archivés.

  • Si la destination est fonctionnelle, le test détermine l'espace disponible dans le système de fichiers de destination. Si l'espace disponible est inférieur à 10 % des capacités du système de fichiers et à 20 Mo, le test inscrit un message dans syslog.

  • Si l'état de la destination est sur ERROR, le test inscrit un message dans syslog et désactive les opérations visant à déterminer si la base de données est opérationnelle. Les opérations restent interrompues jusqu'à ce que la condition d'erreur soit effacée.

Opérations visant à déterminer si la base de données est opérationnelle

Si la partition des fichiers journaux de restauration archivés est fonctionnelle, le test de détection des pannes du client de base de données effectue une recherche sur la vue des performances dynamiques v$sysstat afin d'obtenir les statistiques des performances de la base de données. Les modifications apportées à ces statistiques indiquent que la base de données est opérationnelle. Si ces statistiques restent identiques après plusieurs requêtes, le test de détection des pannes effectue des transactions de base de données pour déterminer si la base de données est opérationnelle. Ces transactions comprennent la création, la mise à jour et la suppression d'une table dans le tablespace de l'utilisateur.

Le test de détection des pannes du client de base de données effectue toutes ses transactions comme un utilisateur Oracle Database. L'ID de cet utilisateur est spécifié pendant la préparation des noeuds Oracle Solaris Cluster, comme expliqué dans la section Préparation des noeuds Oracle Solaris Cluster.

Actions du détecteur de pannes du serveur suite à l'échec d'une transaction de la base de données

Si une transaction de base de données échoue, le détecteur de pannes du serveur applique une action déterminée par l'erreur à l'origine de l'échec. Pour modifier l'action exécutée par le détecteur de pannes du serveur, personnalisez celui-ci comme expliqué dans la section Personnalisation du détecteur de pannes Serveur HA pour Oracle Database.

Si l'action requiert l'exécution d'un programme externe, ce dernier est exécuté en tant que processus distinct en arrière-plan.

Les actions possibles sont les suivantes :

  • Ignorer. Le détecteur de pannes du serveur ignore l'erreur.

  • Arrêter la surveillance. Le détecteur de pannes du serveur est arrêté sans interrompre la base de données.

  • Redémarrer. Le détecteur de pannes du serveur arrête et redémarre l'entité spécifiée par la valeur de la propriété d'extension Restart_type :

    • Si la propriété d'extension Restart_type est définie sur RESOURCE_RESTART, le détecteur de pannes du serveur redémarre la ressource du serveur de base de données. Par défaut, le détecteur de pannes du serveur redémarre la ressource du serveur de base de données.

    • Si la propriété d'extension Restart_type est définie sur RESOURCE_GROUP_RESTART, le détecteur de pannes du serveur redémarre la ressource du serveur de base de données.


    Remarque -  Le nombre de tentatives de redémarrage peut être supérieur à la valeur de la propriété de ressource Retry_count dans le délai spécifié par la propriété de ressource Retry_interval. Dans ce cas, le détecteur de pannes du serveur tente de basculer le groupe de ressources sur un autre noeud du cluster.
  • Basculer. Le détecteur de pannes du serveur bascule le groupe de ressources de la base de données sur un autre noeud du cluster. Si aucun noeud n'est disponible, la tentative de basculement du groupe de ressources échoue. Si la tentative de basculement du groupe de ressources échoue, le serveur de base de données est redémarré.

Analyse des alertes consignées par le détecteur de pannes du serveur

Oracle Database consigne les alertes dans un fichier journal d'alertes. Le chemin d'accès absolu à ce fichier est spécifié par la propriété d'extension alert_log_file de la ressource SUNW.oracle_server. Le détecteur de pannes du serveur analyse le fichier journal d'alertes à la recherche de nouvelles alertes aux moments suivants :

  • Au démarrage du détecteur de pannes du serveur

  • Chaque fois que le détecteur de pannes du serveur demande l'état du serveur

Si une action est définie pour une alerte journalisée détectée par le détecteur de pannes du serveur, celui-ci exécute l'action en réponse à l'alerte.

Les actions prédéfinies pour les alertes consignées dans le journal sont répertoriées dans le Table 5. Pour modifier l'action exécutée par le détecteur de pannes du serveur, personnalisez celui-ci comme expliqué dans la section Personnalisation du détecteur de pannes Serveur HA pour Oracle Database.

Exploitation du détecteur de pannes du listener Oracle Database

Le détecteur de pannes du listener Oracle Database vérifie l'état du listener Oracle Database.

Si le listener est en cours d'exécution, le détecteur de pannes du listener Oracle Database considère que le test a réussi. Si le détecteur de pannes constate une erreur, le listener est redémarré.


Remarque -  La ressource listener ne comprend aucun mécanisme permettant de paramétrer le mot de passe du listener. Si la sécurité du listener Oracle Database est activée, un test du détecteur de pannes peut renvoyer l'erreur Oracle Database TNS-01169. Si le listener peut répondre, le détecteur de pannes du listener considère que le test a réussi. Grâce à cette action, toutes les pannes du listener sont détectées. Une défaillance du listener renvoie une erreur différente ou interrompt le test.

Le test du listener est démarré par le biais de pmfadm, afin qu'il soit hautement disponible. Si le test est arrêté, le PMF le redémarre automatiquement.

Si un problème survient avec le listener pendant l'exécution d'un test, ce dernier tente de redémarrer le listener. La valeur de la propriété de ressource retry_count détermine le nombre maximal de tentatives de redémarrage effectuées par le test. Si, après avoir exécuté le nombre maximal de tentatives, le test reste infructueux, il arrête le détecteur de pannes et ne bascule pas le groupe de ressources.

Obtention de dumps noyau pour le dépannage des délais d'attente de SGBD

Pour faciliter le dépannage des délais d'attente SGBD inexpliqués, vous pouvez permettre au détecteur de pannes de créer un dump noyau lorsqu'un dépassement du délai d'attente de l'analyse se produit. Le contenu du dump noyau fait référence au processus du détecteur de pannes. Le détecteur de pannes crée un dump noyau dans le répertoire root (/). Pour permettre au détecteur de pannes de créer un dump noyau, servez-vous de la commande coreadm pour activer les dumps noyau de type set-id.

# coreadm -g /var/cores/%f.%n.%p.core -e global -e process \
-e global-setid -e proc-setid -e log

Pour plus d'informations, reportez-vous à la page de manuel coreadm(1M).