Résolution des problèmes du service Oracle Exadata Database Service on Cloud@Customer

Ces rubriques décrivent des problèmes courants que vous pouvez rencontrer et expliquent comment les traiter.

Échec de l'application de correctifs sur le service Oracle Exadata Database Service on Cloud@Customer

L'application de correctifs peut échouer pour diverses raisons. En général, une opération échoue car un noeud de base de données est arrêté, l'espace est insuffisant sur le système de fichiers ou la machine virtuelle ne peut pas accéder au magasin d'objets.

Diagnostic du problème

Dans la console, vous pouvez identifier une opération d'application de correctifs ayant échoué en consultant l'historique des correctifs d'un service Oracle Exadata Database Service on Cloud@Customer ou d'une base de données individuelle.

Un correctif dont l'application n'a pas abouti affiche le statut Failed et présente une brève description de l'erreur à l'origine de l'échec. Si le message d'erreur ne contient pas suffisamment d'informations pour vous orienter vers une solution, vous pouvez utiliser l'interface de ligne de commande et les fichiers journaux de la base de données pour collecter d'autres données. Consultez ensuite la section pertinente de cette rubrique pour trouver la solution.

Dépannage et diagnostic

Diagnostiquez les problèmes les plus courants qui peuvent survenir lors du processus d'application de correctifs à l'un des composants du service Oracle Exadata Database Service on Cloud@Customer.

Problèmes de machine virtuelle du serveur de base de données

Une ou plusieurs des conditions suivantes sur la machine virtuelle du serveur de base de données peuvent provoquer l'échec des opérations d'application de correctifs.

Problèmes de connectivité de machine virtuelle du serveur de base de données

Les outils en nuage reposent sur la bonne configuration de réseau et de connectivité entre les machines virtuelles d'une grappe indiquée. Si la configuration n'est pas correctement définie, cela peut entraîner des échecs sur toutes les opérations nécessitant un traitement inter-noeuds. Par exemple, il peut être impossible de télécharger les fichiers requis pour appliquer un correctif indiqué.

Selon le cas, vous pouvez effectuer les opérations suivantes :

  • Vérifiez que votre configuration DNS est correcte afin que les adresses de machines virtuelles pertinentes puissent être résolues dans la grappe de machines virtuelles.
  • Consultez les journaux des outils en nuage pertinents comme indiqué dans la section Obtention d'une assistance supplémentaire et communiquez avec le soutien technique d'Oracle pour obtenir de l'aide.
Problèmes liés à Oracle Grid Infrastructure

Une ou plusieurs des conditions suivantes sur Oracle Grid Infrastructure peuvent provoquer l'échec des opérations d'application de correctifs.

Oracle Grid Infrastructure est arrêté

Oracle Clusterware permet aux serveurs de communiquer entre eux afin qu'ils puissent fonctionner en tant qu'unité collective. Le programme logiciel de la grappe doit être fonctionnel sur la grappe de MV pour que les opérations d'application de correctifs aboutissent. Vous aurez parfois besoin de redémarrer Oracle Clusterware pour résoudre un échec d'application de correctifs.

Dans de tels cas, vérifiez le statut d'Oracle Grid Infrastructure comme suit :
./crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
Si Oracle Grid Infrastructure est arrêté, redémarrez-le en exécutant les commandes suivantes :
crsctl start cluster -all
crsctl check cluster
Problèmes liés aux bases de données Oracle

Un état incorrect de la base de données peut provoquer l'échec de l'application de correctifs.

La base de données Oracle est hors service

La base de données doit être active et exécutée sur tous les noeuds actifs pour que les opérations d'application de correctifs puissent être exécutées dans l'ensemble de la grappe.

Vérifiez l'état de la base de données à l'aide de la commande suivante et assurez-vous que les problèmes qui ont pu provoquer un état inapproprié sont résolus :
srvctl status database -d db_unique_name -verbose

Le système retourne un message incluant le statut de l'instance de base de données. Le statut de l'instance doit être Ouvert pour que l'opération d'application de correctifs aboutisse.

Si la base de données n'est pas active, utilisez la commande suivante pour la démarrer :
srvctl start database -d db_unique_name -o open

Obtention d'une assistance supplémentaire

Si vous ne parvenez pas à résoudre le problème à l'aide des informations de cette rubrique, suivez les procédures ci-dessous pour collecter les informations de base de données et de diagnostic pertinentes. Après avoir collecté ces informations, communiquez avec le soutien technique d'Oracle.

Rubriques connexes

Collecte des journaux d'outils en nuage

Utilisez les fichiers journaux pertinents qui pourraient aider le soutien technique d'Oracle à examiner en détail un problème particulier et à le résoudre.

Journaux pour DBAASCLI

/var/opt/oracle/log/dbaascli
  • dbaascli.log

Collecte de diagnostics Oracle

Pour collecter les informations de diagnostic et les journaux Oracle pertinents, exécutez la commande dbaascli diag collect.

Pour plus d'informations sur l'utilisation de cet utilitaire, voir Outils DBAAS : Utilisation de dbaascli pour collecter des journaux d'outils en nuage et effectuer une vérification de l'état des outils en nuage.

La mise à jour du système d'exploitation de la MV se bloque pendant le drainage des connexions à la base de données

Description : Il s'agit d'un problème intermittent. Lors de la mise à jour du système d'exploitation de machine virtuelle avec Grid Infrastructure 19c et des bases de données en cours d'exécution, dbnodeupdate.sh attend que RHPhelper draine les connexions, ce qui ne progressera pas en raison d'un bogue connu "DBNODEUPDATE.SH HANGS IN RHPHELPER TO DRAIN SESSIONS AND SHUTDOWN INSTANCE".

Symptômes : Il existe deux résultats possibles en raison de ce bogue :
  1. La mise à jour du système d'exploitation de machine virtuelle est bloquée dans rhphelper
    • Bloque l'automatisation
    • Certaines ou aucune des connexions à la base de données n'auront été vidées, et certaines ou toutes les instances de la base de données continueront de s'exécuter.
  2. La mise à jour du système d'exploitation de machine virtuelle ne draine pas les connexions à la base de données car rhphelper est tombé en panne
    • Ne bloque pas l'automatisation
    • Aboutissement du drainage de certaines connexions à la base de données ou d'aucune

/var/log/cellos/dbnodeupdate.trc affichera cette valeur comme dernière ligne :

(ACTION:) Executing RHPhelper to drain sessions and shutdown instances. 
(trace:/u01/app/grid/crsdata/scaqak04dv0201/rhp//executeRHPDrain.150721125206.trc)
Action :
  1. Mettez à niveau la version de Grid Infrastructure à la version 19.11 ou supérieure.

    (OU)

    Désactivez rhphelper avant la mise à jour et réactivez-le après la mise à jour.

    Pour désactiver avant le démarrage de la mise à jour :
    /u01/app/19.0.0.0/grid/srvm/admin/rhphelper /u01/app/19.0.0.0/grid 19.10.0.0.0 -setDrainAttributes ENABLE=false
    Pour activer après la mise à jour :
    /u01/app/19.0.0.0/grid/srvm/admin/rhphelper /u01/app/19.0.0.0/grid oracle-home-current-version -setDrainAttributes ENABLE=true

    Si vous désactivez rhphelper, aucune connexion à la base de données ne sera drainée avant que les services de base de données et les instances ne soient arrêtés sur un noeud avant la mise à jour du système d'exploitation.

  2. Si vous avez omis de désactiver RHPhelper et que la mise à niveau ne progresse pas et se bloque, il est observé que le drainage des services prend du temps :
    1. Examinez le fichier de suivi /var/log/cellos/dbnodeupdate.trc, qui contient un paragraphe similaire à celui qui suit :
      (ACTION:) Executing RHPhelper to drain sessions and shutdown instances. 
      (trace: /u01/app/grid/crsdata/<nodename>/rhp//executeRHPDrain.150721125206.trc)
    2. Ouvrez le fichier de suivi /var/log/cellos/dbnodeupdate.trc.
      Si rhphelper échoue, le fichier de suivi contient le message suivant :
      "Failed execution of RHPhelper"
      Si rhphelper est bloqué, le fichier de suivi contient le message suivant :
      (ACTION:) Executing RHPhelper to drain sessions and shutdown instances.
    3. Identifiez les processus rhphelper en cours d'exécution au niveau du système d'exploitation et arrêtez-les.

      Il existe deux commandes qui contiennent la chaîne "rhphelper" dans le nom - un interpréteur de commandes Bash et le programme Java sous-jacent, qui est en réalité l'exécution de rhphelper.

      rhphelper s'exécute en tant que root. Il doit donc être arrêté en tant que root (sudo depuis opc).

      Par exemple :
      [opc@<HOST> ~] pgrep –lf rhphelper
      191032 rhphelper
      191038 java
      
      [opc@<HOST> ~] sudo kill –KILL 191032 191038
    4. Vérifiez que le fichier dbnodeupdate.trc est déplacé et que la pile Grid Infrastructure sur le noeud est arrêtée.

    Pour plus d'informations sur RHPhelper, voir Utilisation de RHPhelper pour minimiser les temps d'arrêt pendant la maintenance planifiée sur Exadata (ID document 2385790.1).

Échec de l'ajout d'une machine virtuelle à une grappe de machines virtuelles

Description : Lors de l'ajout d'une machine virtuelle à une grappe de machines virtuelles, le problème suivant peut se produire :
[FATAL] [INS-32156] Installer has detected that there are non-readable files in oracle home.
CAUSE: Following files are non-readable, due to insufficient permission oracle.ahf/data/scaqak03dv0104/diag/tfa/tfactl/user_root/tfa_client.trc
ACTION: Ensure the above files are readable by grid.

Cause : Le programme d'installation a détecté un fichier de suivi non lisible, oracle.ahf/data/scaqak03dv0104/diag/tfa/tfactl/user_root/tfa_client.trc créé par Autonomous Health Framework (AHF) dans le répertoire de base Oracle, ce qui entraîne l'échec de l'ajout d'une machine virtuelle de grappe.

AHF exécuté en tant que root a créé un fichier trc avec la responsabilité root, que l'utilisateur grid ne peut pas lire.

Action : Assurez-vous que les fichiers de suivi AHF sont lisibles par l'utilisateur grid avant d'ajouter des machines virtuelles à une grappe de machines virtuelles. Pour corriger le problème d'autorisation, exécutez les commandes suivantes en tant que root sur toutes les machines virtuelles de grappe de machines virtuelles existantes :
chown grid:oinstall /u01/app/19.0.0.0/grid/srvm/admin/logging.properties
chown -R grid:oinstall /u01/app/19.0.0.0/grid/oracle.ahf*
chown -R grid:oinstall /u01/app/grid/oracle.ahf*

La liste de noeuds n'est pas mise à jour pour les bases de données utilisant Data Guard

Description : L'ajout d'une machine virtuelle à une grappe de machines virtuelles se termine avec succès. Cependant, pour les bases de données utilisant Data Guard, la nouvelle machine virtuelle n'est pas ajoutée à la liste de noeuds dans le fichier /var/opt/oracle/creg/<db>.ini.

Cause : Les bases de données prenant en charge Data Guard ne seront pas étendues à la nouvelle machine virtuelle ajoutée. Par conséquent, le fichier <db>.ini ne sera pas non plus mis à jour, car l'instance de base de données n'est pas configurée dans la nouvelle machine virtuelle.

Action : Pour ajouter une instance aux bases de données principale et de secours et aux nouvelles machines virtuelles (Non-Data Guard) et pour retirer une instance d'un environnement Data Guard, voir la note 2811352.1 sur My Oracle Support.

Échec de l'ajustement hors ligne d'UC

Description : Échec de l'ajustement hors ligne d'UC avec l'erreur suivante :
** CPU Scale Update **An error occurred during module execution. Please refer to the log file for more information

Cause : Après le provisionnement d'une grappe de machines virtuelles, le fichier /var/opt/oracle/cprops/cprops.ini, généré automatiquement par la base de données-service (DBaaS), n'est pas mis à jour avec les paramètres common_dcs_agent_bindHost et common_dcs_agent_port, ce qui entraîne l'échec de l'ajustement hors ligne d'UC.

Action : En tant qu'utilisateur root, ajoutez manuellement les entrées suivantes dans le fichier /var/opt/oracle/cprops/cprops.ini.
common_dcs_agent_bindHost=<IP_Address>
common_dcs_agent_port=7070
Note

La valeur common_dcs_agent_port est toujours 7070.
Exécutez la commande suivante pour obtenir l'adresse IP :
netstat -tunlp | grep 7070
Par exemple :
netstat -tunlp | grep 7070
tcp 0 0 <IP address 1>:7070 0.0.0.0:* LISTEN 42092/java
tcp 0 0 <IP address 2>:7070 0.0.0.0:* LISTEN 42092/java

Vous pouvez spécifier l'une des deux adresses IP, <IP address 1> ou <IP address 2> pour le paramètre common_dcs_agent_bindHost.

Échec du redémarrage de la base de données de secours après la permutation dans la configuration Oracle Data Guard d'Oracle Database 11g

Description : Après la permutation, la nouvelle base de données de secours (ancienne base principale) reste arrêtée et ne peut pas redémarrer.

Action : Après avoir effectué la permutation, procédez de la façon suivante :

  1. Redémarrez la base de données de secours à l'aide de la commande srvctl start database -db <standby dbname>.
  2. Rechargez le module d'écoute en tant qu'utilisateur grid sur tous les noeuds de grappe de base de données principale et de secours.
    • Pour recharger le module d'écoute à l'aide de la haute disponibilité, téléchargez et appliquez le correctif 25075940 dans le répertoire de base de Grid Infrastructure, puis exécutez lsnrctl reload -with_ha.
    • Pour recharger le module d'écoute, exécutez lsrnctl reload.

Après avoir rechargé le module d'écoute, vérifiez que les services <dbname>_DGMGRL sont chargés dans le module d'écoute à l'aide de la commande lsnrctl status.

Pour télécharger le correctif 25075940

  1. Connectez-vous à My Oracle Support.
  2. Cliquez sur Correctifs et mises à jour.
  3. Sélectionnez Numéro de bogue dans la liste déroulante Numéro/nom ou numéro de bogue (simple).
  4. Entrez le numéro de bogue 34741066, puis cliquez sur Rechercher.
  5. Dans les résultats de la recherche, cliquez sur le nom du correctif le plus récent.

    Vous serez redirigé vers la page Correctif 34741066 : LSNRCTL RELOAD -WITH_HA FAILED TO READ THE STATIC ENTRY IN LISTENER.ORA.

  6. Cliquez sur Télécharger.

L'utilisation du port du module d'écoute SCAN personnalisé avec Data Guard sur le réseau de récupération après sinistre entraîne des échecs de vérification de l'association Data Guard

Description : Si le port du module d'écoute SCAN pour le réseau client et le réseau de récupération après sinistre sont différents, la configuration de Data Guard (DG) échoue lors de la phase de vérification de la création de l'association Data Guard.

Action : Utilisez les mêmes ports du module d'écoute SCAN (ou port par défaut) sur tous les réseaux. Pour corriger le port du module d'écoute après la configuration de la grappe, exécutez la commande GI home/bin/srvctl modify listener -listener listener_name -endpoints endpoints. Pour plus d'informations, voir srvctl modify listener dans le guide d'administration et de déploiement d'Oracle Real Application Clusters.

Échec de la création de la base de données enfichable après le déplacement de la base de données vers un nouveau répertoire de base (23ai)

Description : Après le déplacement d'une base de données vers un autre répertoire de base, la création d'une nouvelle base de données enfichable échoue. Le service de base de données enfichable ne peut pas démarrer, ce qui entraîne l'erreur suivante :
[FATAL] [DBAAS-60022] Command '/u02/app/oracle/product/23.0.0.0/dbhome_3/bin/srvctl 'start' 'service' '-db' 'db23ano' '-service' 'db23ano_PDBJULY242.paas.oracle.com'' has failed on nodes [localnode].

Action : Si la version de Grid Infrastructure est 23.4.0.24.05, effectuez une mise à niveau vers la version 23.5.0.24.07 pour résoudre ce problème.

Échec intermittent de la création d'une base de données enfichable lorsque plusieurs bases de données enfichables sont créées en parallèle

Description : La création d'une base de données enfichable peut échouer pour un sous-ensemble de bases de données enfichables lorsque plusieurs bases de données enfichables sont créées en parallèle.

Cause : La création d'une base de données enfichable peut remarquer une erreur par intermittence.
ORA-03113: end-of-file on communication channel

Action : Réessayez la création de la base de données enfichable qui a échoué.