Dépannage des systèmes Exadata Cloud Infrastructure

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

Problèmes connus pour Exadata Cloud Infrastructure

Problèmes connus généraux.

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 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*

Dépannage de la connectivité réseau

Afin de déterminer si un cluster de machines virtuelles est correctement configuré pour accéder au réseau de services Oracle Cloud Infrastructure (OCI), vous devez effectuer les étapes suivantes sur chaque machine virtuelle du cluster de machines virtuelles.

Vérification de validation pour la connectivité à Identity and Access Management :

  • Accédez à ssh sur une machine virtuelle sur le cluster ExaDB-D en tant qu'utilisateur opc.
  • Exécutez la commande suivante : curl https://identity.<region>.oci.oraclecloud.com ici <region> correspond à la région OCI dans laquelle votre cluster de machines virtuelles est déployé. Si votre cluster de machines virtuelles est déployé dans la région Ashburn, vous devez utiliser us-ashburn-1 pour <region>. La commande CURL ressemble désormais à curl https://identity.us-ashburn-1.oci.oraclecloud.com.
  • Si votre réseau cloud virtuel (VCN) est correctement configuré pour accéder au réseau de services OCI, vous obtiendrez une réponse immédiate comme suit : { "code" : "NotAuthorizedOrNotFound", "message" : "Authorization failed or requested resource not found." }
  • La session SSH se bloque et finit par expirer si votre réseau n'est pas configuré pour accéder aux services OCI
  • Selon la configuration du réseau cloud virtuel, vous devez suivre les étapes décrites dans la section Action ci-dessous pour configurer l'accès au réseau de services OCI.

Vérification de validation pour la connectivité à Object Storage Service (OSS) :

  • Accédez à ssh sur une machine virtuelle sur le cluster ExaDB-D en tant qu'utilisateur opc.
  • Exécutez la commande : curl https://objectstorage.<region>.oraclecloud.com. Ici, <region> correspond à la région OCI dans laquelle le cluster de machines virtuelles est déployé. Si votre cluster de machines virtuelles est déployé dans la région Ashburn, vous devez utiliser us-ashburn-1 pour <region>. La commande curl ressemble désormais à curl https://objectstorage.us-ashburn-1.oraclecloud.com.
  • Si votre réseau cloud virtuel (VCN) est correctement configuré pour accéder au réseau de services OCI, vous obtiendrez une réponse immédiate comme suit : { "code" : "NotAuthorizedOrNotFound", "message" : "Authorization failed or requested resource not found." }
  • La session SSH se bloque et finit par expirer si votre réseau n'est pas configuré pour accéder aux services OCI
  • Selon la configuration du réseau cloud virtuel, vous devez suivre les étapes décrites dans la section Action ci-dessous pour configurer l'accès au réseau de services OCI.

Action :

  • Cette action est applicable aux clients qui ont déployé leur cluster de machines virtuelles sur un sous-réseau privé.

    Si vous n'avez pas déjà configuré de passerelle de service pour accéder au réseau des services OCI, suivez les instructions de la documentation permettant d'accéder aux services OCI afin de configurer une passerelle de service à utiliser par le cluster de machines virtuelles. Pour plus d'informations, reportez-vous à Option 2 : sous-réseaux privés.

  • Cette action est applicable aux clients qui ont déployé leur cluster de machines virtuelles sur un sous-réseau public.

    Si vous n'avez pas déjà configuré une passerelle Internet pour accéder au réseau des services OCI, suivez les instructions de la documentation qui permet de configurer la passerelle Internet devant servir au cluster de machines virtuelles afin d'accéder aux services OCI. Pour plus d'informations, reportez-vous à Option 1 : sous-réseau client public avec passerelle Internet.

Une fois que vous avez configuré votre réseau cloud virtuel pour accéder au réseau de services OCI en suivant les instructions ci-dessus, exécutez les étapes des sections de vérification de validation pour vous assurer que vous avez établi la connectivité au réseau de services OCI à partir de votre cluster de machines virtuelles.

Informations supplémentaires :

Vous trouverez des instructions sur la mise à jour d'une passerelle de service ici (https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/servicegateway.htm#switch_label).

Echecs de sauvegarde dans Exadata Database Service on Dedicated Infrastructure

Si la sauvegarde gérée Exadata ne s'exécute pas correctement, vous pouvez suivre les procédures de cette rubrique pour résoudre le problème.

Les causes d'échec de sauvegarde les plus courantes sont les suivantes :

  • L'hôte ne parvient pas à accéder à Object Storage.
  • La configuration de base de données sur l'hôte est incorrecte.

Les informations suivantes sont organisées par condition d'erreur. Si vous connaissez déjà la cause, vous pouvez passer directement à la section présentant la suggestion de solution. Sinon, suivez la procédure décrite dans Détermination du problème pour commencer.

Détermination du problème

Dans la console, une sauvegarde de base de données ayant échoué affiche le statut En échec, ou se bloque sur l'état Sauvegarde en cours ou Création.

Si le message d'erreur ne contient pas suffisamment d'informations pour vous orienter vers une solution, vous pouvez collecter plus d'informations à l'aide de dbaascli et en affichant les fichiers journaux. Consultez ensuite la section appropriée de cette rubrique pour trouver une solution.

Les sauvegardes de base de données peuvent échouer pendant l'étape de configuration RMAN ou pendant un travail de sauvegarde RMAN en cours d'exécution. Les tâches de configuration RMAN incluent la validation de la connectivité à la destination de sauvegarde, l'installation du module de sauvegarde et les modifications de configuration RMAN. Les fichiers journaux à examiner dépendent de l'étape à laquelle l'échec s'est produit.

  1. Connectez-vous à l'hôte en tant qu'utilisateur oracle.
  2. Consultez le fichier journal applicable :
    • Pour identifier l'ID de travail d'une sauvegarde automatisée, utilisez la commande dbaascli database backup --dbname <dbname> --showHistory. Cela affiche l'historique de tous les travaux de sauvegarde, y compris leurs ID de travail correspondants.
    • Les journaux de travail sont disponibles dans /var/opt/oracle/log/dtrs/jobs/, nommés selon le format <job_id>.log. En cas d'échec d'un travail, un journal de débogage correspondant <job_id>.debug est également généré au même emplacement.
    • Vous pouvez trouver les journaux d'exécution de commande RMAN correspondants pour les opérations de sauvegarde, de récupération et de configuration dans le répertoire /var/opt/oracle/log/<dbname>/dtrs/rman/bkup.
Remarque

Veillez à vérifier les fichiers journaux sur tous les noeuds de calcul du système de base de données Exadata.

Problèmes d'agent de service de base de données

La base de données Oracle Cloud Infrastructure utilise une structure d'agent vous permettant de gérer votre base de données via la plate-forme cloud. Suivez cette procédure pour vérifier et redémarrer dbcsagent.

Parfois, vous pouvez avoir besoin de redémarrer le programme dbcsagent s'il a le statut Arrêté ou en attente afin de résoudre un échec de sauvegarde. Consultez le fichier /opt/oracle/dcs/log/dcs-agent.log pour identifier les problèmes liés à l'agent.

  1. Dans l'invite de commande, vérifiez le statut de l'agent :
    systemctl status dbcsagent.service
  2. Si l'agent est arrêté ou en attente, essayez de le redémarrer :
    systemctl start dbcsagent.service
  3. Vérifiez à nouveau le statut de l'agent pour vous assurer qu'il est arrêté ou en cours d'exécution :
    systemctl status dbcsagent.service

Problèmes de connectivité à la banque d'objets

La sauvegarde de la base de données vers Oracle Cloud Infrastructure Object Storage exige que l'hôte puisse se connecter à l'adresse Swift applicable.

Bien qu'Oracle contrôle les informations d'identification utilisateur Swift réelles du bucket de stockage pour les sauvegardes gérées, la vérification de la connectivité générale à Object Storage dans votre région est un bon indicateur que le problème ne vient pas de la connectivité à la banque d'objets. Vous pouvez tester cette connectivité à l'aide d'un autre utilisateur Swift.

  1. Créez un utilisateur Swift dans votre location. Reportez-vous à Utilisation des jetons d'authentification.
  2. Avec l'utilisateur créé à l'étape précédente, exécutez la commande suivante pour vérifier que l'hôte peut accéder à la banque d'objets.
    curl -v -X HEAD -u <user_ID>:'<auth_token>' https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
    Reportez-vous à FAQ sur Object Storage pour connaître la région à utiliser. Reportez-vous à Présentation des espaces de noms Object Storage pour plus d'informations sur votre espace de noms Object Storage.
  3. Si vous ne parvenez pas à vous connecter à la banque d'objets, reportez-vous à Prérequis pour les sauvegardes sur Exadata Cloud Service afin d'obtenir plus d'informations sur la configuration de la connectivité à la banque d'objets.

Problèmes d'hôte

Si l'hôte de base de données présente au moins l'une des conditions suivantes, les sauvegardes peuvent échouer.

Si une commande interactive telle que oraenv, ou toute commande pouvant renvoyer un message d'erreur ou d'avertissement, a été ajoutée au fichier .bash_profile pour l'utilisateur grid ou oracle, les opérations du service de base de données, comme les sauvegardes automatiques, peuvent être interrompues et ne pas aboutir. Recherchez ces commandes dans le fichier .bash_profile et enlevez-les.

Les opérations de sauvegarde requièrent de l'espace dans le répertoire /u01 sur le système de fichiers hôte. Utilisez la commande df -h sur l'hôte afin de vérifier l'espace disponible pour les sauvegardes. Si l'espace disponible sur le système de fichiers est insuffisant, vous pouvez enlever les anciens fichiers trace ou journaux pour libérer de l'espace.

Votre système ne dispose peut-être pas de la version requise du module de sauvegarde (opc_installer.jar). Pour plus de détails sur ce problème connu, reportez-vous à Utilisation impossible des sauvegardes gérées dans votre système de base de données. Pour résoudre ce problème, vous pouvez suivre la procédure décrite dans cette section ou simplement mettre à jour le système de base de données et la base de données avec le dernier package de patches.

La personnalisation du fichier de profil de site ($ORACLE_HOME/sqlplus/admin/glogin.sql) peut entraîner l'échec des sauvegardes gérées dans Oracle Cloud Infrastructure. Les commandes interactives peuvent notamment entraîner des échecs de sauvegarde. Oracle recommande de ne pas modifier ce fichier pour les bases de données hébergées dans Oracle Cloud Infrastructure.

Problèmes de base de données

Une configuration ou un état de base de données incorrect peut entraîner l'échec des sauvegardes.

La base de données doit être active et en cours d'exécution (idéalement sur l'ensemble des noeuds) pendant la sauvegarde.

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 open pour que la sauvegarde 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
Si la base de données est montée mais que son statut n'est pas défini sur open, utilisez les commandes suivantes pour accéder à l'invite de commande SQL*Plus et définir le statut sur open :
sqlplus / as sysdba
alter database open;

Lors du provisionnement d'une nouvelle base de données, le mode d'archivage est défini par défaut sur ARCHIVELOG. Il s'agit du mode d'archivage requis pour les opérations de sauvegarde. Vérifiez le paramètre de mode d'archivage de la base de données et définissez-le sur ARCHIVELOG, si nécessaire.

Ouvrez une invite de commande SQL*Plus et saisissez la commande suivante :
select log_mode from v$database;
Si vous devez définir le mode d'archivage sur ARCHIVELOG, démarrez la base de données avec le statut MOUNT (et non OPEN), puis utilisez la commande suivante dans l'invite de commande SQL*Plus :
alter database archivelog;

Vérifiez que le paramètre db_recovery_file_dest pointe vers +RECO et que le paramètre log_archive_dest_1 est défini sur USE_DB_RECOVERY_FILE_DEST.

Pour les bases de données RAC, une instance doit avoir le statut MOUNT lors de l'activation du mode ARCHIVELOG. Afin d'activer le mode ARCHIVELOG pour une base de données RAC, procédez comme suit :

  1. Arrêtez toutes les instances de base de données :
    srvctl stop database -d
  2. Démarrez l'une des instances de base de données ayant l'état MOUNT :
    srvctl start instance -d <db_unique_name> -i <instance_name> -o mount
  3. Accédez à l'invite de commande SQL*Plus :
    sqlplus / as sysdba
  4. Activez le mode ARCHIVELOG :
    alter database archivelog; 
    exit;
  5. Arrêtez la base de données :
    srvctl stop instance -d <db_unique_name> -i <instance_name>
  6. Redémarrez toutes les instances de base de données :
    srvctl start database -d <db_unqiue_name>
  7. Dans l'invite de commande SQL*Plus, vérifiez que le mode d'archivage est défini sur ARCHIVELOG :
    select log_mode from v$database;
Les sauvegardes peuvent échouer lorsqu'un processus d'archivage de l'instance de base de données est bloqué. Par exemple, cela peut se produire lorsque la zone de récupération rapide est pleine. Vous pouvez vérifier cette condition à l'aide de la commande srvctl status database -db <db_unique_name> -v. Si la commande renvoie la sortie suivante, vous devez résoudre le problème de blocage du processus d'archivage pour pouvoir effectuer les sauvegardes :
Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Stuck Archiver

Reportez-vous à ORA-00257 : Archiver Error (ID de document 2014425.1) pour plus d'informations sur la résolution du blocage du processus d'archivage.

Une fois le blocage du processus résolu, la commande doit renvoyer la sortie suivante :
Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Open

Si le statut de l'instance ne change pas après la résolution du problème sous-jacent (appareil ou ressource saturé ou indisponible), essayez de redémarrer la base de données à l'aide de la commande srvctl pour mettre à jour son statut dans le clusterware.

La modification de certains paramètres de configuration RMAN peut entraîner des échecs de sauvegarde dans Oracle Cloud Infrastructure. Pour vérifier votre configuration RMAN, utilisez la commande show all dans l'invite de ligne de commande RMAN.

Reportez-vous à la liste des paramètres suivante pour plus de détails sur les paramètres de configuration RMAN à ne pas modifier pour les bases de données dans Oracle Cloud Infrastructure.


CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 5 BACKUP TYPE TO COMPRESSED BACKUPSET;

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS  'SBT_LIBRARY=/var/opt/oracle/dbaas_acfs/<db_name>/opc/libopc.so, ENV=(OPC_PFILE=/var/opt/oracle/dbaas_acfs/<db_name>/opc/opc<db_name>.ora)';

CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;

CONFIGURE ENCRYPTION FOR DATABASE ON;

Les sauvegardes RMAN échouent lorsqu'un fichier de portefeuille de banque d'objets est perdu. Le fichier de portefeuille est nécessaire pour permettre la connectivité à la banque d'objets.

  1. Recherchez le nom de la base de données présentant l'échec de sauvegarde à l'aide de SQL*Plus :
    show parameter db_name
  2. Déterminez le chemin du fichier de paramètres de configuration de sauvegarde qui contient les informations sur le portefeuille RMAN dans la ligne de commande Linux :

    locate opc_<database_name>.ora
    Par exemple :
    
    find / -name "opctestdb30.ora" -print /var/opt/oracle/dbaas_acfs/testdb30/opc/opctestdb30.ora
  3. Recherchez le chemin du fichier de portefeuille dans le fichier de paramètres de configuration de sauvegarde en examinant la valeur stockée dans le paramètre OPC_WALLET. Pour ce faire, accédez au répertoire contenant le fichier de paramètres de configuration de sauvegarde et utilisez la commande cat suivante :
    cat opc<database_name>.ora
    Par exemple :
    
    cd /var/opt/oracle/dbaas_acfs/testdb30/opc/
    ls -altr *.ora
    opctestdb30.ora
    cat opctestdb30.ora
    OPC_HOST=https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/dbbackupphx
    OPC_WALLET='LOCATION=file:/var/opt/oracle/dbaas_acfs/testdb30/opc/opc_wallet CREDENTIAL_ALIAS=alias_opc'
    OPC_CONTAINER=bUG3TFsSi8QzjWfuTxqqExample
    _OPC_DEFERRED_DELETE=false
  4. Vérifiez que le fichier cwallet.sso se trouve dans le répertoire indiqué dans le paramètre OPC_WALLET, puis assurez-vous que le fichier dispose des droits d'accès appropriés. Les droits d'accès au fichier doivent avoir une valeur octale de "600" (-rw-------). Pour ce faire, utilisez la commande suivante :

    ls -ltr /var/opt/oracle/dbaas_acfs/<database_name>/opc/opc_wallet
    Par exemple :
    
    ls -altr /var/opt/oracle/dbaas_acfs/testdb30/opc/opc_wallet
    -rw------- 1 oracle oinstall 0 Oct 29 01:59 cwallet.sso.lck
    -rw------- 1 oracle oinstall 111231 Oct 29 01:59 cwallet.sso
    

Portefeuille TDE et échecs de sauvegarde

Découvrez comment identifier la cause première des échecs de sauvegarde liés au portefeuille TDE.

Pour que les opérations de sauvegarde puissent être effectuées, le fichier $ORACLE_HOME/network/admin/sqlnet.ora doit contenir le paramètre ENCRYPTION_WALLET_LOCATION formaté exactement comme suit :
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet)))
Utilisez la commande cat pour vérifier l'indication de l'emplacement du portefeuille TDE. Par exemple :
$ cat $ORACLE_HOME/network/admin/sqlnet.ora 
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet)))

Les sauvegardes de base de données échouent si le portefeuille TDE n'est pas dans l'état approprié. Les scénarios suivants peuvent entraîner ce problème :

Si la base de données a été démarrée à l'aide de SQL*Plus et si la variable d'environnement ORACLE_UNQNAME n'a pas été définie, le portefeuille n'est pas ouvert correctement.

Pour résoudre le problème, démarrez la base de données à l'aide de l'utilitaire srvctl :
srvctl start database -d <db_unique_name>

Dans un environnement colocatif pour les versions d'Oracle Database prenant en charge le fichier de clés au niveau de la base de données pluggable, chaque base de données pluggable possède sa propre clé de cryptage maître. Pour les bases de données Oracle 18c, cette clé de cryptage est stockée dans un fichier de clés unique utilisé par tous les conteneurs. (Oracle Database 19c ne prend pas en charge les fichiers de clés au niveau de la base de données pluggable.) Une fois que vous avez créé ou connecté une base de données pluggable, vous devez créer et activer une clé de cryptage maître pour celle-ci. Si vous ne le faites pas, la colonne STATUS de la vue v$encryption_wallet indique la valeur OPEN_NO_MASTER_KEY.

Pour vérifier le statut de la clé de cryptage maître et créer une clé maître, procédez comme suit :

  1. Examinez la colonne STATUS dans la vue v$encryption_wallet, comme indiqué dans l'exemple suivant :
    
    SQL> alter session set container=pdb2;
    Session altered.
    
    SQL> select WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE from v$encryption_wallet;
    
    WRL_TYPE   WRL_PARAMETER                                   STATUS             WALLET_TYPE
    ---------- ----------------------------------------------- ------------------ -----------
    FILE       /var/opt/oracle/dbaas_acfs/testdb30/tde_wallet/ OPEN_NO_MASTER_KEY AUTOLOGIN
  2. Vérifiez que la base de données pluggable est en mode d'ouverture READ WRITE et qu'elle n'est pas restreinte, comme indiqué dans l'exemple suivant :
    
    SQL> show pdbs
    
    CON_ID CON_NAME     OPEN MODE              RESTRICTED
    ------ ------------ ---------------------- ---------------
    2      PDB$SEED     READ ONLY              NO
    3      PDB1         READ WRITE             NO
    4      PDB2         READ WRITE             NO

    La base de données pluggable ne peut pas être ouverte en mode restreint (la colonne RESTRICTED doit afficher NO). Si la base de données pluggable est actuellement en mode restreint, examinez les informations contenues dans la vue PDB_PLUG_IN_VIOLATIONS et résolvez le problème avant de poursuivre. Afin d'avoir plus d'informations sur la vue PDB_PLUG_IN_VIOLATIONS et sur le statut restreint, reportez-vous à la section relative aux bases de données pluggables pour votre version d'Oracle Database dans le guide de l'administrateur Oracle Multitenant.

  3. Créez et activez une clé de cryptage maître pour la base de données pluggable :

    • Définissez le conteneur sur la base de données pluggable :
      ALTER SESSION SET CONTAINER = <pdb>;
    • Créez et activez une clé de cryptage maître dans la base de données pluggable en exécutant la commande suivante :
      ADMINISTER KEY MANAGEMENT SET KEY USING TAG '<tag>' 
      FORCE KEYSTORE IDENTIFIED BY <keystore-password> WITH BACKUP USING '<backup_identifier>';

    Prenez en compte les points suivants :

    • La clause USING TAG est facultative et peut être utilisée pour associer une balise à la nouvelle clé de cryptage maître.
    • La clause WITH BACKUP est facultative et peut être utilisée pour créer une sauvegarde du fichier de clés avant la création de la clé de cryptage maître.

    Vous pouvez également utiliser deux commandes dbaascli (dbaascli tde status et dbaascli tde rotate masterkey) pour examiner et gérer vos clés.

  4. Vérifiez que le statut du portefeuille est passé de OPEN_NO_MASTER_KEY à OPEN en interrogeant la vue v$encryption_wallet comme indiqué à l'étape 1.

Certains paramètres de configuration liés au portefeuille TDE peuvent entraîner l'échec des sauvegardes.

Vérifiez que le statut du portefeuille est OPEN et que le type de portefeuille est AUTOLOGIN en examinant la vue v$encryption_wallet. Par exemple :

SQL> select status, wrl_parameter,wallet_type from v$encryption_wallet;

STATUS  WRL_PARAMETER                                  WALLET_TYPE
------- ---------------------------------------------- --------------
OPEN   /var/opt/oracle/dbaas_acfs/testdb30/tde_wallet/ AUTOLOGIN
Pour les bases de données pluggables, veillez à basculer sur le conteneur approprié avant d'interroger la vue v$encryption_wallet. Par exemple :

$ sqlplus / as sysdba

SQL> alter session set container=pdb1;

Session altered.

SQL> select WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE from v$encryption_wallet;

WRL_TYPE  WRL_PARAMETER                                   STATUS   WALLET_TYPE
--------- ----------------------------------------------- -------- -----------
FILE      /var/opt/oracle/dbaas_acfs/testdb30/tde_wallet/ OPEN     AUTOLOGIN
Le fichier de portefeuille TDE (ewallet.p12) peut entraîner l'échec des sauvegardes s'il est manquant, ou s'il comporte un propriétaire ou des droits d'accès au système de fichier incompatibles. Vérifiez le fichier comme indiqué dans l'exemple suivant en tant qu'utilisateur root :
# ls -altr /var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet/ewallet.p12
total 76
-rw------ 1 oracle oinstall 5467 Oct 1 20:17 ewallet.p12

Le fichier de portefeuille TDE doit disposer de droits d'accès au fichier ayant une valeur octale de "600" (-rw-------) et le propriétaire de ce fichier doit faire partie du groupe de système d'exploitation oinstall.

Le fichier de portefeuille de connexion automatique (cwallet.sso) peut entraîner l'échec des sauvegardes s'il est manquant, ou s'il comporte un propriétaire ou des droits d'accès au système de fichier incompatibles. Vérifiez le fichier comme indiqué dans l'exemple suivant en tant qu'utilisateur root :

# ls -altr /var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet/cwallet.sso
total 76
-rw------ 1 oracle oinstall 5512 Oct 1 20:18 cwallet.sso

Le fichier de portefeuille de connexion automatique doit disposer de droits d'accès au fichier ayant une valeur octale de "600" (-rw-------) et le propriétaire de ce fichier doit faire partie du groupe de système d'exploitation oinstall.

Dépannage d'Oracle Data Guard

Découvrez comment identifier et résoudre les problèmes liés à Oracle Data Guard.

Lors du dépannage d'Oracle Data Guard, vous devez d'abord déterminer si le problème se produit lors de la configuration et de l'initialisation de Data Guard ou lors de son fonctionnement après la saisie de commandes de cycle de vie. Les étapes d'identification et de résolution des problèmes diffèrent en fonction du scénario d'utilisation.

Il existe trois opérations de cycle de vie : la permutation, le basculement et le rétablissement. Le broker Data Guard est utilisé pour toutes ces commandes. L'interface de ligne de commande du broker (dgmgrl) est l'outil principal utilisé pour identifier et résoudre les problèmes. Bien que vous puissiez utiliser les fichiers journaux pour identifier les causes premières, dgmgrl permet de vérifier et d'identifier les problèmes plus facilement et rapidement.

La configuration et l'activation de Data Guard impliquent plusieurs étapes. Les fichiers journaux sont créés pour chaque étape. En cas d'échec de l'une des étapes, consultez le fichier journal approprié pour identifier et résoudre le problème.

  • Validation du cluster de machines virtuelles cloud principal et de la base de données
  • Validation du cluster de machines virtuelles cloud de secours
  • Recréation et copie de fichiers vers la base de données de secours (fichier de mots de passe et portefeuilles)
  • Création de Data Guard via le réseau (commande de duplication RMAN)
  • Configuration du broker Data Guard
  • Finalisation de la configuration

Dépannage de Data Guard à l'aide des fichiers journaux

Les outils utilisés pour identifier le problème et les emplacements des fichiers journaux pertinents diffèrent selon le scénario d'utilisation.

Suivez les procédures ci-après pour collecter les fichiers journaux pertinents et enquêter sur les problèmes. Si vous ne parvenez pas à résoudre le problème après avoir examiné les fichiers journaux, contactez My Oracle Support.

Remarque

Lors de la préparation des fichiers collectés pour le support technique Oracle, regroupez-les dans une archive compressée, telle qu'un fichier ZIP.

Sur chaque noeud de calcul associé à la configuration Data Guard, rassemblez les fichiers journaux correspondant au problème que vous avez rencontré.

  • Fichiers journaux de l'étape d'activation (comme ceux détaillant l'opération de création d'une base de données de secours) ainsi que ceux du système principal ou de secours correspondant.
  • Fichiers journaux d'ID de travail d'activation. Par exemple : 23.
  • Emplacement des fichiers journaux d'activation par étape d'activation et système Exadata (principal ou de secours).
  • Fichiers journaux de nom de base de données (db_name ou db_unique_name, selon le chemin du fichier).
Remarque

Vérifiez tous les noeuds des systèmes Exadata principal et de secours correspondants. Les commandes effectuées sur un système peuvent avoir été exécutées sur l'un de ses noeuds.

Le processus qui effectue la configuration est appelé Data Guard Deployer (DGdeployer). Lors de la configuration de la base de données principale, le fichier /var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.log est créé.

Ce journal contient généralement la cause première de l'échec de la configuration de la base de données principale.

  • Le journal principal de l'utilitaire de ligne de commande dbaasapi est /var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Recherchez les entrées qui contiennent dg_api.
  • L'un des journaux de secours de l'utilitaire de ligne de commande dbaasapi est /var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Dans ce journal, recherchez les entrées qui contiennent dg_api.
  • L'autre journal de secours est /var/opt/oracle/log/<dbname>/dgcc/dgcc.log. Il s'agit du journal de configuration Data Guard.
  • Le moteur de déploiement Oracle Cloud crée le fichier /var/opt/oracle/log/<dbname>/ocde/ocde.log. Ce journal contient généralement la cause de l'échec de la création de la base de données de secours.
  • L'utilitaire de ligne de commande dbaasapi crée le fichier var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Recherchez les entrées qui contiennent dg_api.
  • Le fichier journal de configuration Data Guard est /var/opt/oracle/log/<dbname>/dgcc/dgcc.log.
  • Le processus qui effectue la configuration est appelé DGdeployer. Il crée le fichier /var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.log. Ce journal contient généralement la cause première de l'échec de la configuration de la base de données de secours.
  • L'utilitaire de ligne de commande dbaasapi crée le fichier /var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Recherchez les entrées qui contiennent dg_api.
  • Le journal de configuration Data Guard est /var/opt/oracle/log/<dbname>/dgcc/dgcc.log.

Le processus qui effectue la configuration est appelé DGdeployer. Lors de la configuration de Data Guard, il crée le fichier /var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.log. Ce journal contient généralement la cause première de l'échec de la configuration de la base de données principale.

Sur chaque noeud des sites principal et de secours, collectez les fichiers journaux du nom de base de données associé (db_name).

Remarque

Vérifiez tous les noeuds sur les systèmes Exadata principal et de secours. Une opération de gestion du cycle de vie peut avoir une incidence sur les systèmes principal et de secours.
  • Journal d'alertes de base de données : /u02/app/oracle/diag/rdbms/<dbname>/<dbinstance>/trace/alert_<dbinstance>.log
  • Journal du broker Data Guard : /u02/app/oracle/diag/rdbms/<dbname>/<dbinstance>/trace/drc<dbinstance>.log
  • Fichier journal des outils cloud pour Data Guard : /var/opt/oracle/log/<dbname>/odg/odg.log

Dépannage du processus de configuration Data Guard

Les erreurs suivantes peuvent survenir lors des différentes étapes du processus de configuration Data Guard. Bien que certaines erreurs soient affichées dans la console, vous trouverez la plupart des causes premières dans les fichiers journaux.

Le mot de passe saisi afin d'activer Data Guard ne correspond pas au mot de passe administrateur principal pour l'utilisateur SYS. Cette erreur peut survenir lors de l'étape d'activation consistant à valider le site principal.

La base de données n'est peut-être pas en cours d'exécution. Cette erreur peut survenir lors de l'étape d'activation consistant à valider le site principal. Effectuez une vérification sur l'hôte à l'aide de srvctl et de sql pour vous assurer que la base de données est démarrée sur tous les noeuds.

La base de données principale n'a pas pu être configurée. Cette erreur peut être due à des commandes Data Guard non valides ou à l'échec de la reconfiguration du processus d'écoute.

Le portefeuille TDE n'a pas pu être créé. Les fichiers du fichier de clés (portefeuille) Oracle TDE (Transparent Database Encryption) n'ont pas pu être préparés en vue du transport vers le site de secours. Cette erreur peut survenir lors de l'étape d'activation consistant à créer un portefeuille TDE. Un échec à cette étape peut être dû aux éléments suivants :

  • Accès impossible aux fichiers de portefeuille TDE
  • Création impossible d'une archive contenant les fichiers de portefeuille à l'aide des commandes d'activation

Procédure de dépannage :

  1. Assurez-vous que le cluster est accessible. Pour vérifier le statut d'un cluster, exécutez la commande suivante :
    crsctl check cluster -all
  2. Si le cluster est arrêté, exécutez la commande suivante pour le redémarrer :
    crsctl start crs -wait
  3. Si cette erreur survient alors que le cluster est accessible, consultez les journaux de l'étape de création d'un portefeuille TDE (étape d'activation) pour déterminer la cause et la méthode de résolution de l'erreur.

L'archive contenant le portefeuille TDE n'a probablement pas été transmise au site de secours. Il suffit généralement de faire une nouvelle tentative pour résoudre le problème.

  • Les sites principal et de secours peuvent ne pas parvenir à communiquer entre eux pour configurer la base de données de secours. Ces erreurs peuvent survenir lors de l'étape d'activation consistant à configurer la base de données de secours. A cette étape, les configurations sont effectuées sur la base des données de secours, y compris la duplication de RMAN de la base des données principale. Pour résoudre ce problème, procédez comme suit :
    1. Vérifiez le statut de connectivité des sites principal et de secours.
    2. Assurez-vous que l'hôte peut communiquer à partir du port 1521 avec tous les autres ports. Vérifiez la configuration réseau, y compris les groupes de sécurité réseau, les listes de sécurité réseau et la configuration de l'appairage à distance de réseaux cloud virtuels (le cas échéant). La meilleure façon de tester la communication entre l'hôte et les autres noeuds consiste à accéder aux bases de données à l'aide de SQL*PLUS à partir de la base de données principale vers la base de données de secours, puis inversement.
  • Les processus d'écoute ou les adresses IP virtuelles SCAN ne sont peut-être pas en cours d'exécution. Utilisez le test ci-dessus pour identifier le problème.

Causes possibles :

  • Les processus d'écoute ou les adresses IP virtuelles SCAN ne sont peut-être pas en cours d'exécution. Vous pouvez vérifier la présence de ce problème à l'aide des commandes suivantes sur n'importe quel noeud de cluster.
    • [grid@exa1-****** ~]$ srvctl status
                  scan
    • [grid@exa1-****** ~]$ srvctl status
                    scan_listener
  • Les bases de données ne sont peut-être pas accessibles. Pour vérifier la présence de ce problème, essayez de vous connecter à l'aide d'un alias Oracle Net existant.

Procédure de dépannage :

  1. En tant qu'utilisateur du système d'exploitation oracle, vérifiez que l'alias Oracle Net existe pour la base de données Conteneur. Recherchez un alias dans le fichier $ORACLE_HOME/network/admin/<dbname>/tnsnames.ora.

    L'exemple suivant présente l'entrée d'une base de données Conteneur nommée db12c :

    cat $ORACLE_HOME/network/admin/db12c/tnsnames.ora 
    DB12C = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = exa1-*****-scan.********.******.******.com)(PORT = 1521)) 
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db12c.********.******.******.com) 
    (FAILOVER_MODE = (TYPE = select) (METHOD = basic))))
  2. Vérifiez que vous pouvez utiliser l'alias pour vous connecter à la base de données. Par exemple, en tant que sysdba, saisissez la commande suivante :
    sqlplus sys@db12c

Une cause possible de cette erreur est que le mot de passe utilisateur Oracle Database sys ou system pour la base de données et le portefeuille TDE ne soient peut-être pas identiques. Pour comparer les mots de passe, procédez comme suit :

  1. Connectez-vous à la base de données avec le nom utilisateur sys et vérifiez le statut TDE dans V$ENCRYPTION_WALLET.
  2. Connectez-vous à la base de données en tant qu'utilisateur system, puis vérifiez le statut TDE dans V$ENCRYPTION_WALLET.
  3. Mettez à jour les mots de passe applicables afin qu'ils correspondent. Connectez-vous à l'hôte du système en tant qu'utilisateur opc, puis exécutez les commandes suivantes :
    1. Pour modifier le mot de passe SYS, utilisez la commande suivante :
      sudo dbaascli database changepassword --dbname <database_name>
    2. Pour modifier le mot de passe du portefeuille TDE, utilisez la commande suivante :
      sudo dbaascli tde changepassword --dbname <database_name>

Pour connaître les causes et les résolutions possibles des problèmes de portefeuille TDE, reportez-vous à Portefeuille TDE et échecs de sauvegarde.

Plusieurs messages d'erreur peuvent survenir lors de l'exécution des commandes de permutation, de basculement et de rétablissement. Pour en savoir plus sur ces messages d'erreur, reportez-vous à la documentation Oracle Database.

Remarque

Oracle recommande d'utiliser l'interface de ligne d'ordre du broker Data Guard (dgmgrl) pour valider les configurations.

  1. En tant qu'utilisateur oracle, connectez-vous à la base de données principale ou de secours avec dgmgrl, et vérifiez la configuration et la base de données :
    dgmgrl sys/<pwd>@<database>
    DGMGRL> VALIDATE CONFIGURATION VERBOSE
    DGMGRL> VALIDATE DATABASE VERBOSE <PRIMARY>
    DGMGRL> VALIDATE DATABASE VERBOSE <STANDBY>
  2. Reportez-vous à la documentation Oracle Database pour trouver le message d'erreur correspondant. Par exemple :
    • ORA-16766 : Redo Apply est arrêté.
    • ORA-16853 : le décalage d'application a dépassé le seuil défini.
    • ORA-16664 : impossible de recevoir le résultat d'un membre (sous la base de données de secours).
    • ORA-12541 : TNS : aucun processus d'écoute (sous la base de données principale).

Pour connaître la cause et la méthode de résolution, consultez la liste des erreurs dans Messages d'erreur de la base de données.

Echecs de l'application de patches aux systèmes Exadata Cloud Infrastructure

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, pour identifier une opération d'application de patches ayant échoué, vous pouvez consulter l'historique des patches d'un système Exadata Cloud Infrastructure 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 Exadata Cloud Infrastructure.

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 de diagnostics Oracle

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.

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.

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é.