IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

DBLink - erreur ORA12154


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut DBLink - erreur ORA12154
    Bonjour, je tente de mettre en place un DB Link entre 2 bases.

    Source (base distante) = baseS
    Destination (base locale) = baseL

    Pour se faire, j'ai créé le DBLink suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    CREATE DATABASE LINK sourceID connect to login identified by pwd using 'alias1';
     
    Extrait du TNS_NAMES.ora :
     
    alias1.world= 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
            (ADDRESS = 
              (COMMUNITY = tcp.world)
              (PROTOCOL = TCP)
              (Host = oratoto1)
              (Port = 1521)
            )
     
        )
        (CONNECT_DATA = (SID = sourceID)
        )
      )
    Cet alias est utilisé par ailleurs pour se connecter à la base distante, ca fonctionne sans aucun souci donc les infos du TNS_NAMES sont valides.

    Et pourtant lorsque je lance une requête sur une table via le DB_Link:

    select * from table1@sourceID;

    Toad me remonte la traditionelle erreur :
    ORA-12154 TNS : could not resolve service name
    A l'aide…………..

  2. #2
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut
    En complément, sur ma base de création du DBLink, mon Global_Name est positionné à : NomDB

    et non à NomDB.Nomdomain

    comme cela est prêché dans quelques post de ce forum. Malheureusement je n'ai pas les droits pour modifier cette variable.

    Est ce que cela peut jouer ?

  3. #3
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    L'erreur liée au global-name viendra peut etre plus tard mais pour l'instant ça plante avant.

    Quand on crée un DB-LINK, il faut bien avoir en tete que la base devient un client d'une autre base. C'est à dire qu'il faut que les paramètres client tels que les fichiers tnsnames.ora et sqlnet.ora soient corrects sur la machine contenant la premiere base (base locale). Il faut aussi faire attention à la valeurs des variables d'environnement ORACLE_HOME et TNS_ADMIN au moment ou la base est démarrée, car c'est d'elles dont dépend le chemin ou oralce va chercher les 2 fichiers de paramétrages cités plus haut.

    D'autre part, étant donné que l'alias du DBLINK est sans suffixe et que l'alias du tnsnames.ora est suffixé par ".world", il faut vérifier que le fichier sqlnet.ora contient bien la ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NAMES.DEFAULT_DOMAIN = world
    Si tel n'est pas le cas, alors il faut créer le DBLINK en utilisant 'alias1.world'

  4. #4
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 8
    Par défaut
    merci Remi mais apres differents tests, le pb ne semble pas provenir du domain_name

    ce qui me surprend le plus c'est surtout que ca fonctionne sans pb lorsque je me connecte à la base distante avec le meme TNS NAME

  5. #5
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par michael.mazuk
    merci Remi mais apres differents tests, le pb ne semble pas provenir du domain_name

    ce qui me surprend le plus c'est surtout que ca fonctionne sans pb lorsque je me connecte à la base distante avec le meme TNS NAME
    depuis la machine de ta base locale ? avec les memes variable d'environement que lors du lancement de ta base locale ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 74
    Par défaut
    En fait le problème provient sans doute du fait que quand tu te connectes directement depuis ton client tu utilises ton tnsnames client (celui dont tu nous parles).

    Mais ce n'est pas le cas quand tu es connecté à baseS via ton client et que tu veux faire une requête sur baseL via un dblink.
    A ce moment tu utilises en fait le tnsnames qui est présent sur le serveur hebergeant baseS, c'est à dire le serveur (Unix, Windows ...) distant.

    Es-tu sûr que baseS soit bien renseigné dans le tnsnames distant ?

Discussions similaires

  1. drop dblink erreur
    Par pwd75 dans le forum Administration
    Réponses: 4
    Dernier message: 12/02/2013, 12h01
  2. DBLINK + BLOB + ERREUR
    Par chebramdou dans le forum SQL
    Réponses: 1
    Dernier message: 24/10/2011, 15h57
  3. Erreur PLS-00103 :exécution DBLink
    Par lamyruth dans le forum Oracle
    Réponses: 2
    Dernier message: 19/10/2009, 15h50
  4. Exception lorsque le dblink est en erreur
    Par Sargon dans le forum PL/SQL
    Réponses: 7
    Dernier message: 12/11/2008, 18h54
  5. Réponses: 1
    Dernier message: 05/03/2008, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo