Si vous tombez sur ce lien après une recherche sur google il est fort probable que avez eu affaire au même problème que moi.
Un tnsping sur cet alias montre pourtant que la résolution s'effectue correctement:
Jettons un oeil dans mon TNSNAMES.ora:
Mon TNSNAMES.ora pointe en fait sur un autre fichier tnsnames grâce à la clause IFILE.
L'alias marche très bien lorsqu'on se connecte via SqlPlus mais ça a l'air de poser problème lorsqu'on utilise un DBLink.
Essayons de mettre directement les informations dans le TNSNAMES.ORA du client (la base où se trouve le dblink que j'ai crée):
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:489021635775
Tom Kyte y dit que la clause IFILE n'est en fait pas supporté pour les fichiers de configuration Oracle Net (*.ORA). A la date où Tom Kyte a écrit ces mots il s'agissait de la version 8i.
La note MOS 1339269.1 semble indiquer qu'en 10g ça n'était toujours pas supporté:
Si on effectue une recherche sur la doc Oracle 11g R2 on s'aperçoit que la clause IFILE n'est décrite que pour les fichier de paramétrage d'instance (init.ora).
SQL> create public database link MOX_SOXS12.WORLD 2 connect to MOX$OWNER identified by moxowner 3 using 'OPARSOXS12'; Database link created. SQL> desc mox_change@MOX_SOXS12.WORLD ERROR: ORA-12154: TNS:could not resolve the connect identifier specifiedAprès avoir crée un DB link pointant sur une base dont l'alias est OPARSOXS12 je me suis retrouvé dans l'incapacité d'accéder aux données de ma base distante. Il semble que l'alias OPARSOXS12 ne puisse être résolu.
Un tnsping sur cet alias montre pourtant que la résolution s'effectue correctement:
C:\>tnsping oparsoxs12 TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 09-APR-2013 15:08:06 Copyright (c) 1997, 2010, Oracle. All rights reserved. Used parameter files: C:\oracle\ora11.2\network\admin\sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = SOXDBGDB01.fr.world.socgen) (Port = 1524))) (CONNECT_DATA = (SID = SOXS12))) OK (80 msec)
Jettons un oeil dans mon TNSNAMES.ora:
IFILE =S:\_Tools\ora11201\network\admin\tnsnames.ora
Mon TNSNAMES.ora pointe en fait sur un autre fichier tnsnames grâce à la clause IFILE.
L'alias marche très bien lorsqu'on se connecte via SqlPlus mais ça a l'air de poser problème lorsqu'on utilise un DBLink.
Essayons de mettre directement les informations dans le TNSNAMES.ORA du client (la base où se trouve le dblink que j'ai crée):
IFILE =S:\_Tools\ora11201\network\admin\tnsnames.ora ### MACHINE OPARSOXS12.WORLD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = SOXDBGDB01.fr.world.socgen) (Port = 1524) ) ) (CONNECT_DATA = (SID = SOXS12) ) )Maintenant mon DB link fonctionne correctement:
SQL> desc mox_change@MOX_SOXS12.WORLD Name Null? Type --------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------- ----- --- ------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------- ID NOT NULL NUMBER JOB_ID NUMBER CHANGETYPE_ID NOT NULL NUMBER CHANGE_USER NOT NULL VARCHAR2(200) CHANGE_DATE NOT NULL DATE CHANGE_COMMENT NOT NULL VARCHAR2(2000)En faisant une petite recherche sur google je suis tombé sur la page suivante du site AskTom:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:489021635775
Tom Kyte y dit que la clause IFILE n'est en fait pas supporté pour les fichiers de configuration Oracle Net (*.ORA). A la date où Tom Kyte a écrit ces mots il s'agissait de la version 8i.
La note MOS 1339269.1 semble indiquer qu'en 10g ça n'était toujours pas supporté:
ifiles are not officially supported with Oracle Net admin files
Enhancement request Bug 12676140 Would Like the Use of ifiles to be officially supported for net, is currently outstanding.
Si on effectue une recherche sur la doc Oracle 11g R2 on s'aperçoit que la clause IFILE n'est décrite que pour les fichier de paramétrage d'instance (init.ora).
Aucun commentaire:
Enregistrer un commentaire