Dépannage des systèmes Oracle Exadata Database Service on Cloud@Customer

Ces rubriques présentent des problèmes courants que vous pouvez rencontrer, ainsi que la manière de les résoudre.

Echecs de l'application de patches aux systèmes Oracle Exadata Database Service on Cloud@Customer

Les opérations d'application de patches peuvent é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 parvient pas à accéder à la banque d'objets.

Détermination du problème

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

Un patch n'ayant pas été appliqué a le statut Echec et inclut 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 les fichiers journaux et l'interface de ligne de commande de la base de données afin de collecter davantage de données. Consultez ensuite la section appropriée de cette rubrique pour trouver une solution.

Dépannage et diagnostic

Diagnostiquez les problèmes les plus courants pouvant survenir lors du processus d'application de patches des composants Oracle Exadata Database Service on Cloud@Customer.

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

Si la machine virtuelle de serveur de base de données présente au moins l'une des conditions suivantes, les opérations d'application de patches peuvent échouer.

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

Les outils cloud reposent sur une configuration correcte des fonctions de réseau et de la connectivité entre les machines virtuelles d'un cluster de machines virtuelles donné. Si la configuration n'est pas correctement définie, toutes les opérations nécessitant un traitement inter-noeud risquent d'échouer. Il est par exemple possible que vous ne puissiez pas télécharger les fichiers requis pour appliquer un patch donné.

Selon le cas, vous pouvez effectuer les actions suivantes :

  • Vérifiez que votre configuration DNS est correcte, de sorte que les adresses de machine virtuelle pertinentes puissent être résolues dans le cluster de machines virtuelles.
  • Reportez-vous aux journaux d'outils cloud appropriés, comme indiqué dans Aide supplémentaire, et contactez le support technique Oracle pour obtenir de l'aide.
Problèmes liés à Oracle Grid Infrastructure

Si Oracle Grid Infrastructure présente au moins l'une des conditions suivantes, les opérations d'application de patches peuvent échouer.

Oracle Grid Infrastructure est arrêté

Oracle Clusterware permet aux serveurs de communiquer entre eux de manière à ce qu'ils puissent fonctionner comme une unité collective. Le programme logiciel du cluster doit être en fonctionnement sur le cluster de machines virtuelles pour que les opérations d'application de patches puissent être effectuées. Il peut parfois s'avérer nécessaire de redémarrer Oracle Clusterware pour résoudre un échec d'application de patches.

Dans ce 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é, exécutez les commandes suivantes pour le redémarrer :
crsctl start cluster -all
crsctl check cluster
Problèmes de bases de données Oracle

Un état de base de données incorrect peut entraîner des échecs d'application de patches.

Oracle Database est arrêté

La base de données doit être active et en cours d'exécution sur tous les noeuds actifs afin que les opérations d'application de patches puissent être effectuées dans le cluster.

Utilisez la commande suivante pour vérifier l'état de la base de données et veillez à ce que tous les problèmes ayant pu entraîner un état incorrect de la base de données soient résolus :
srvctl status database -d db_unique_name -verbose

Le système renvoie un message indiquant 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 patches puisse être effectuée.

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

Aide supplémentaire

Si vous n'avez pas pu résoudre le problème à l'aide des informations de cette rubrique, suivez les procédures ci-dessous pour collecter des informations sur la base de données et des informations de diagnostic pertinentes. Après avoir collecté ces informations, contactez le support technique Oracle.

Rubriques connexes

Collecte des journaux des outils cloud

Utilisez les fichiers journaux pertinents susceptibles d'aider le support technique Oracle à examiner et à résoudre un problème donné.

Journaux DBAASCLI

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

Collecte d'Oracle Diagnostics

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

Pour plus d'informations sur l'utilisation de cet utilitaire, reportez-vous à Outils DBaaS : utilisation de dbaascli pour la collecte des journaux d'outils cloud et l'exécution d'une vérification de l'état des outils cloud.

Blocage de la mise à jour du système d'exploitation de machine virtuelle pendant la purge de la connexion à la base de données

Description : ce problème se produit par intermittence. 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 purge les connexions, ce qui ne progresse pas en raison d'un bug connu : "DBNODEUPDATE.SH HANGS IN RHPHELPER TO DRAIN SESSIONS AND SHUTDOWN INSTANCE".

Symptômes : il existe deux résultats possibles générés par ce bug.
  1. La mise à jour du système d'exploitation de machine virtuelle est bloquée dans rhphelper.
    • L'automatisation est bloquée.
    • Certaines connexions à la base de données auront été purgées ou aucune ne l'aura été, et certaines instances de base de données ou toutes resteront en cours d'exécution.
  2. La mise à jour du système d'exploitation de machine virtuelle ne purge pas les connexions à la base de données car rhphelper a planté.
    • L'automatisation n'est pas bloquée.
    • Certaines purges de connexion à la base de données ou toutes sont terminées.

/var/log/cellos/dbnodeupdate.trc affichera ce qui suit à la 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 Grid Infrastructure vers la version 19.11 ou une version supérieure.

    (OU)

    Désactivez rhphelper avant d'effectuer la mise à jour, puis réactivez-le après la mise à jour.

    Pour le désactiver avant le démarrage de la mise à jour, utilisez ce qui suit :
    /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 l'activer une fois la mise à jour effectuée, utilisez ce qui suit :
    /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 purgée avant l'arrêt des instances et des services de base de données sur un noeud avant la mise à jour du système d'exploitation.

  2. Si vous n'avez pas désactivé RHPhelper, et que la mise à niveau ne progresse pas et qu'elle est bloquée, la purge des services prend du temps :
    1. Inspectez le fichier trace /var/log/cellos/dbnodeupdate.trc, qui contient un paragraphe semblable à ce 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 trace /var/log/cellos/dbnodeupdate.trc.
      En cas d'échec de rhphelper, le fichier trace contient le message suivant :
      "Failed execution of RHPhelper"
      En cas de blocage de rhphelper, le fichier trace 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.

      Deux commandes comporteront la chaîne "rhphelper" dans le nom : un shell de type bash et le programme Java sous-jacent, qui est l'exécution réelle de rhphelper.

      rhphelper est exécuté en tant que root. Il doit donc être arrêté en tant que root (sudo à partir d'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, reportez-vous à Using RHPhelper to Minimize Downtime During Planned Maintenance on Exadata (ID de document 2385790.1).

Echec de l'ajout d'une machine virtuelle à un cluster de machines virtuelles

Description : lors de l'ajout d'une machine virtuelle à un cluster de machines virtuelles, le problème suivant peut survenir :
[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é la présence d'un fichier trace non accessible en lecture (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 cluster.

AHF a été exécuté lorsque root a créé un fichier trc avec la propriété root, que l'utilisateur grid ne peut pas lire.

Action : assurez-vous que les fichiers trace AHF sont accessibles en lecture par l'utilisateur grid avant d'ajouter des machines virtuelles à un cluster de machines virtuelles. Pour résoudre le problème de droits d'accès, exécutez les commandes suivantes en tant que root sur toutes les machines virtuelles de cluster 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*

Liste des noeuds non mise à jour pour les bases de données avec Data Guard activé

Description : l'ajout d'une machine virtuelle à un cluster de machines virtuelles est effectué, mais pour les bases de données avec Data Guard activé, la nouvelle machine virtuelle n'est pas ajoutée à la liste des noeuds dans le fichier /var/opt/oracle/creg/<db>.ini.

Cause : les bases de données avec Data Guard activé ne sont pas étendues à la machine virtuelle nouvellement ajoutée. Par conséquent, le fichier <db>.ini n'est 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, ainsi qu'aux nouvelles machines virtuelles (sans Data Guard), et pour enlever une instance d'un environnement Data Guard, reportez-vous à la note My Oracle Support 2811352.1.

Echec du redimensionnement hors ligne de l'UC

Description : le redimensionnement hors ligne de l'UC échoue 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'un cluster de machines virtuelles, le fichier /var/opt/oracle/cprops/cprops.ini, généré automatiquement par l'instance Database-as-a-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 du redimensionnement hors ligne de l'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
Remarque

La valeur de 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 indiquer l'une des deux adresses IP, <adresse IP 1> ou <adresse IP 2>, pour le paramètre common_dcs_agent_bindHost.

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

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

Action : après avoir effectué la permutation, procédez comme suit :

  1. Redémarrez la base de données de secours à l'aide de la commande srvctl start database -db <nom BdD de secours>.
  2. Rechargez le processus d'écoute en tant qu'utilisateur grid sur tous les noeuds de cluster principaux et de secours.
    • Pour recharger le processus d'écoute avec la haute disponibilité, téléchargez le patch 25075940 et appliquez-le au répertoire de base Grid, puis exécutez lsnrctl reload -with_ha.
    • Pour recharger le processus d'écoute, exécutez lsrnctl reload.

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

Procédure de téléchargement du patch 25075940

  1. Connectez-vous au site My Oracle Support.
  2. Cliquez sur Patches et mises à jour.
  3. Sélectionnez Numéro de bug dans la liste déroulante Numéro/nom ou numéro de bug (simple).
  4. Saisissez le numéro de bug 34741066, puis cliquez sur Rechercher.
  5. Dans les résultats de la recherche, cliquez sur le nom du dernier patch.

    Vous allez être redirigé vers la page Patch 34741066 : LSNRCTL RELOAD -WITH_HA FAILED TO READ THE STATIC ENTRY IN LISTENER.ORA.

  6. Cliquez sur Télécharger.

L'utilisation d'un port de processus d'écoute SCAN personnalisé avec Data Guard sur un 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 de processus d'écoute SCAN du réseau client et du réseau de récupération après sinistre est différent, la configuration Data Guard échoue lors de la phase de vérification de la création de l'association Data Guard.

Action : utilisez les mêmes ports de processus d'écoute SCAN (ou port par défaut) sur tous les réseaux. Pour corriger le port de processus d'écoute une fois le cluster configuré, exécutez la commande GI home/bin/srvctl modify listener -listener listener_name -endpoints endpoints. Pour plus d'informations, reportez-vous à srvctl modify listener dans le Guide d'administration et de déploiement Oracle Real Application Clusters.

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

Description : après le transfert d'une base de données vers un autre répertoire de base de base de données, la création d'une base de données pluggable échoue. Le démarrage du service de base de données pluggable a échoué, 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.

Echec intermittent lors de la création de bases pluggables lorsque plusieurs bases pluggables sont créées en parallèle

Description : la création de bases de données pluggables peut échouer pour un sous-ensemble de bases de données pluggables lorsque plusieurs bases de données pluggables sont créées en parallèle.

Cause : la création de base de données pluggable peut rencontrer l'erreur suivante par intermittence.
ORA-03113: end-of-file on communication channel

Action : réessayez la création de la base de données pluggable ayant échoué.