BASE DE CONNAISSANCES

Résolution des problèmes de connexions à Oracle


Date de publication : 03 May 2017
Date de dernière modification : 13 Nov 2020

Problème

Comment résoudre les problèmes liés aux connexions Oracle.

Les pilotes Oracle nécessitent des instructions de connexion très spécifiques dans un format unique, bien qu'un fichier TNSNames.ora ne soit pas toujours nécessairement requis. Par exemple, si vous avez installé uniquement les fichiers Oracle fournis par Tableau et que vous n'avez pas de client Oracle autonome, les messages d'erreur Oracle continueront de référer au fichier TNSNames.ora, ce qui rend difficile la résolution des problèmes.

    Environnement

    • Tableau Desktop
    • Oracle

    Résolution

    Il est fréquent que la correction de la syntaxe de routage ou d'appellation dans la boîte de dialogue Advanced Oracle Connection (Connexion Oracle avancée) ou l'utilisation de votre nom de base de données .WORLD complet permette de résoudre la plupart des problèmes de connexion Oracle. Si votre erreur de connexion nécessite une résolution de problèmes supplémentaire, consultez les erreurs de connexion courantes répertoriées ci-dessous.

    • ORA-03113 : end-of-file on communication channel (fin de fichier sur canal de communication)
    • ORA-12154 : TNS: could not resolve the connect identifier specified (TNS : impossible de résoudre l'identificateur de connexion spécifié) : HOST value incorrect or Global name incorrect or unknown (valeur HOST inconnue ou nom global incorrect ou inconnu)
    • ORA-12514 : TNS listener does not currently know of service requested in connect descriptor (l'écouteur TNS n'a actuellement pas connaissance du service demandé dans le descripteur de connexion) : SERVICE value incorrect (Valeur SERVICE incorrecte)
    • ORA-12541 : TNS: no listener (aucun écouteur) : PORT value incorrect (Valeur PORT incorrecte)
    • ORA-00932 : inconsistent data types (types de données incohérents)

      ORA-03113 : end-of-file on communication channel (fin de fichier sur canal de communication)

      ORA-03113 est une erreur générale pour tout problème causant l'interruption d'une session Oracle. Elle peut avoir de très nombreuses causes. Veuillez vous référer à la liste ci-dessous pour une aide à la résolution des problèmes.

      • Reportez-vous à la documentation Oracle spécifique à cette erreur. Mon support Oracle.
      • Oracle recommande de vérifier les problèmes réseau et de revoir la configuration de SQL*Net.
      • Si vous vous connectez à Oracle 9.2.0.5, dans de nombreux cas, la cause principale de cette erreur est le bogue Oracle 3010227. Demandez à votre administrateur de base de données Oracle d'appliquer le correctif Oracle 9.2.0.6 ou un autre correctif adapté à votre serveur.
      • Définissez le paramètre d'initialisation Oracle « STAR_TRANSFORMATION_ENABLED » sur FALSE.
      • Test de modification de l'heure programmée de l'actualisation d'extrait
      • Vous pouvez aussi effectuer d'autres tests en suivant les étapes optionnelles ci-dessous.

      Étape 1

      Sur la page de démarrage de Tableau Desktop, sélectionnez Se connecter aux données.

      Étape 2

      Dans la page Connexion, cliquez sur Oracle, puis sur OK.

      Pour plus d'informations sur la procédure de connexion, consultez la rubrique Base de données Oracle dans l'aide de Desktop.

      Étape 3

      1. Dans la zone de liaison, survolez la table SQL personnalisé jusqu'à ce que l'icône de modification apparaisse, puis cliquez sur cette dernière.
      2. Copiez la requête dans la boîte de dialogue Modifier une instruction SQL personnalisée.
      SELECT "NumericBins", "Key" as "Key",
      "NumericBins", "Measure E-2" AS "Measure E-2",
      "NumericBins", "Measure E-1" AS "Measure E-1",
      "NumericBins", "Measure E+0" AS "Measure E+0",
      "NumericBins", "Measure E+1" AS "Measure E+1",
      "NumericBins", "Measure E+4" AS "Measure E+4",
      "NumericBins", "Measure E+7" AS "Measure E+7"
      FROM "TestV1", "NumericBins" "NumericBins"

       
      Où « TestV1 » est le nom de votre connexion dans Tableau.

      Étape 4 

      Dans une session SQL connectée à cette base de données, collez la requête et exécutez-la. La réponse attendue est l'erreur ORA-7445 : exception encountered: core dump (exception trouvée : vidage cœur), qui confirme que le problème est bien ORA-3113, comme attendu.

      ORA-12154 : TNS: could not resolve the connect identifier specified (TNS : impossible de résoudre l'identificateur de connexion spécifié)

      L'erreur ORA-12154 survient quand le Transparent Network Substrate (TNS) ne peut résoudre le nom du service.Le nom de service est spécifié dans le fichier TNSNames.ora, situé dans votre dossier %ORACLE_HOME%\network\admin\. La plupart du temps, cette erreur survient lorsque les informations contenues dans le fichier TNSNames.ora sont incorrectes. Par exemple :

      • L'extension .world n'est pas incluse dans le nom de la base de données.
      • Les variables SERVICE_NAME ou HOST sont incorrectes.

      Pour résoudre ce problème, essayez l'une des solutions suivantes dans l'ordre indiqué ci-dessous.

      Option 1 : Modifier TNSNames.ora

      Saisissez le nom complet de la base de données, y compris l'extension .world aux deux emplacements suivants :

      • Fichier TNSNames.ora.

        Et

      • Zone de texte du serveur dans la page Connexion.

      Option 2 : Assurez-vous que le compte utilisateur Exécuter comme de Tableau Server dispose des permissions pour accéder à TNSNames.ora (Tableau Server uniquement)

      Si Tableau Server est installé, suivez la procédure ci-dessous pour veiller à ce que le compte utilisateur Exécuter en tant que de Tableau Server dispose des autorisations d'accès au fichier TNSNames.ora. Si le compte utilisateur Exécuter en tant que ne dispose pas des autorisations, Tableau Server ne peut pas accéder aux détails de la source de données Oracle.

      Étape 1

      Vérifiez l'emplacement du fichier TNSNames.ora, ou des fichiers équivalents SQLNET.ora et LDAP.ora sur l'ordinateur.

      Remarque : par défaut, le fichier TNSNames.ora se situe dans le répertoire <répertoire-oracle>\network\admin. Par exemple, C:\Oracle_Client\network\admin.

      Étape 2

      Vérifiez que la variable TNS_ADMIN pointe vers l'emplacement du ou des fichiers décrits à l'étape 1.

      Remarque : pour vérifier la variable TNS_ADMIN, cliquez sur le bouton Démarrer, puis sélectionnez Panneau de configuration > Système. Cliquez sur Paramètres systèmes avancés, puis sur l'onglet Avancé et sur le bouton Variables d'environnement.
      Le chemin d'accès du fichier variable système doit être au format UNC.

      Étape 3

      À partir du bouton Démarrer de Windows, sélectionnez Tableau Server <version> > Configurer Tableau Server.

      Étape 4 

      Sous Serveur exécuté en tant qu’utilisateur, copiez les informations de la zone de texte Utilisateur.

      Étape 5 

      Allez dans le dossier dans lequel est situé le fichier TNSNames.ora.

      Étape 6 

      Cliquez avec le bouton droit de la souris sur le dossier, puis sélectionnez Propriétés. Cliquez sur l'onglet Propriétés et cliquez sur le bouton Modifier.

      Étape 7 

      Dans Noms de groupe ou d'utilisateur, cliquez sur le bouton Ajouter.

      Étape 8

      Dans la zone de texte Entrez les noms d'objets à sélectionner, collez les informations du compte Exécuter en tant qu'utilisateur que vous avez copiées à l'étape 6.

      Étape 9 

      Lorsque vous avez terminé, cliquez sur OK.

      Étape 10

      Dans la zone Autorisations, veillez à ce que les cases Contrôle total et Modifier soient bien cochées.

      Étape 11 

      Cliquez sur OK pour fermer les boîtes de dialogue.

         

        Option 3 : Vérifiez que toutes les informations contenues dans TNSNames.ora sont correctes

        Si les étapes ci-dessus ne résolvent pas le problème, poursuivez votre lecture et suivez la procédure indiquée afin de vérifier que les autres informations du fichier TNSNames.ora sont fournies correctement.

        Voici un exemple du fichier TNSNames.ora :

        QAORCL10.world =

        (DESCRIPTION =

        (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_NAME)(PORT = 1521))

        )

        (CONNECT_DATA =

        (SERVICE_NAME = MY_SERVICE_NAME)

        )

        )

        Les trois variables qui nous intéressent dans ce fichier sont HOST, PORT et SERVICE_NAME. Copiez ces variables à partir du fichier TNSNames.ora et conservez-les à portée de main. Ces variables sont sensibles à la casse. Les étapes suivantes décrivent comment les saisir pour votre connexion.

        Étape 1

        Sur la page de démarrage de Tableau Desktop, sélectionnez Se connecter aux données.

        Étape 2

        Dans la page Connexion, cliquez sur Oracle.

        Étape 3

        Fournissez les informations suivantes à partir du fichier TNSNames.ora :

        • Dans la zone de texte Nom du serveur, saisissez le nom d'hôte (HOST).
        • Dans la zone de texte Service, saisissez le nom du service (SERVICE_NAME).
        • Dans la zone de texte Port, saisissez le numéro de PORT.
        • Indiquez si vous voulez utiliser l'Authentification Windows ou un nom d'utilisateur et un mot de passe spécifiques, puis cliquez sur Connexion.

        Remarque : les variables sont sensibles à la casse.

        Étape 4 

        Sélectionnez un schéma dans la liste déroulante Schéma, faites glisser une table vers une zone de liaison, puis cliquez sur Accéder à la feuille de calcul.

        Étape 5 

        Effectuez la procédure décrite dans l'article Configuration d'une connexion Oracle pour utiliser TNSNames.ora ou LDAP.ora.

        Important : 

        • Assurez-vous d'enregistrer le fichier TNSNames.ora que vous utilisez en encodage ASCII.Tout autre encodage, par exemple UTF-8 ou Unicode, génère le message d'erreur ORA-12154.
        • Cette procédure est généralement obligatoire, même si le logiciel Oracle est déjà installé sur votre machine.

        Étape 6

        Téléchargez et installez les pilotes Oracle appropriés depuis la page Pilotes de Tableau. Même si un pilote Oracle est installé sur votre ordinateur, il pourrait être incompatible avec Tableau et nécessiter la version spécifiée dans la page Pilotes.

        ORA-12514 : TNS listener does not currently know of service requested in connect descriptor (TNS : le processus d'écoute ne connaît pas actuellement le service demandé dans le descripteur de connexion)

        Cette erreur survient en général lorsque la valeur SERVICE est incorrecte.

        Pour résoudre cette erreur, trouvez la valeur correcte de SERVICE et ouvrez le fichier TNSNames.ora situé dans votre dossier %ORACLE_HOME%\network\admin\. Consultez la procédure décrite sous ORA_12154, si nécessaire.

        ORA-12541 : TNS: no listener (TNS : pas de processus d'écoute)

        Cette erreur survient en général lorsque la valeur PORT est incorrecte.

        Pour résoudre ce problème, remplacez la valeur PORT par 1521 ou 1526. Essayez la valeur non utilisée actuellement.

        ORA-00932 : inconsistent data types (types de données incohérents)

        Cette erreur survient lors de la connection à Oracle ou lors de la création d'un extrait à partir d'une source de données Oracle. Cette erreur est généralement causée par l'installation de pilotes Oracle incorrects.

        Pour résoudre ce problème, installez les pilotes Oracle corrects à partir de la page Pilotes de la version de Tableau que vous utilisez.

          Informations supplémentaires

          Suggestions

          Si vous ne disposez d'aucun client Oracle sur votre ordinateur, demandez à l'administrateur de votre base de données de vous fournir les fichiers nécessaires.Si les erreurs de connexion de données Oracle persistent, procédez comme suit :

          • Vérifiez le chemin du fichier TNSNames.ora utilisé pour créer la variable TNS_ADMIN.
          • Redémarrez votre ordinateur pour vous assurer que la variable TNS_ADMIN est reconnue.
          • Vérifiez que le nom de connexion Oracle utilisé dans Tableau soit exactement le même que l'entrée Net Service Name dans TNSNames.ora. Ce nom est sensible à la casse.
          • Dans certains cas, vous devrez redémarrer Windows avant que le pilote Oracle ne récupère la variable système TNS_ADMIN
          • Contactez votre équipe informatique locale afin de vérifier que le fichier TNSNames.ora est à jour.
          • Si la connexion Oracle utilise LDAP, veillez à inclure le fichier SQLNet.ora ainsi que le fichier TNSNames.ora.

          ORA-12154 : TNS n'a pas pu résoudre les conseils de noms de service

          Remarque : bien que nous fassions tous les efforts possibles pour que les références au contenu tiers soient précises et à jour, les informations fournies ici peuvent changer sans préavis.


          Discuter de cet article...Forum de commentaires
          Cet article vous a-t-il permis de résoudre le problème ?