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 :

DB Link au travers d'un Firewall


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut DB Link au travers d'un Firewall
    Bonjour,

    - Sur un Cluster Windows nous avons une base de donnée 'XXX' Oracle version 10.2.0.3.0. Dans cette base de données j'ai créé des tables paramètres et des Snapshots log.

    - Sur un client Windows XP j'ai créé dans une base de donnée 10.2.0.1.0 des materialized views qui se raffraichissent au travers d'un DB link pointant vers ma base 'XXX'.
    La résolution des noms se fait soit par TNSNAMES soit par LDAP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create database link XE_XXX
    connect to YYYY
    identified by "<pwd>"
    using 'XXX';
    Le DB link foncionne très bien et mes vues sont raffraichies correctement.

    - Nos controleurs ont un portable avec une base de données 10.2.0.1.0 locale. Les connections à la base de donnée 'XXX' se font au travers d'un firewall. La résolution des noms est réalisée via le tnsnames. L'adresse IP dans la partie Host reprend l'adresse du firewall.
    J'ai testé la connection à la base de donnée 'XXX' via SQL ==> OK

    (Pour une question de sécurité nous sommes obligés de passé via un firewall pour les portables des controleurs qui se connectent en dehors du réseau.)

    J'ai créé un DB Link j'ai essayé les 2 façons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create database link XE_XXX
    connect to YYYY
    identified by "<pwd>"
    using 'XXX';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create database link XE_XXX
    connect to YYYY
    identified by "<pwd>"
    using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=X.X.X.X)(PORT=1521)))(CONNECT_DATA=(SID=XXX)))';
    (X.X.X.X étant l'adresse du Firewall)


    - Je n'ai pas de message d'erreur lors de la création du DB Link.

    Lorsque j'exécute ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select 1 from dual@XE_XXX
    Je reçois un message d'erreur ORA-12170 TNS connect time out occured.

    Pouvez vous me donner une direction dans laquelle chercher?
    J'ai cherché dans la direction des Global-Names ce n'est pas cela.

    Merci d'avance.
    WalschaertsC

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 68
    Points : 78
    Points
    78
    Par défaut
    Est-ce que déjà les PC contrôleurs peuvent se connecter à la base XXX (sqlplus) ? Cela permettrait déjà de valider que le firewall est correctement configuré pour rediriger les bons ports.

  3. #3
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Salut,
    est-ce que tes contrôleurs se connectent en Dedicated ? c'est probable...

    si oui le problème vient certainement du fait que tu contrôle le port par lequel tu appelle la DB distante (le port 1521 défini dans le TNSNames ou directement dans le DBLink) mais tu n'as aucun contrôle du port par lequel la DB te répond... du coup la config du firewall bloque la réponse de la DB.

    Pour éviter ça, met en place des dispatchers sur la DB cible (en mentionnant leur ports de réponse) de manière à ce que les contrôleurs se connectent en Shared servers. Du coup, tu autorise spécifiquement ces ports dans les firewall et c'est OK...

    Puis pour les connexion "standards" qui ne proviennent pas de portables, tu ajoute juste la mention (SERVER = DEDICATED) dans les TNSNames des serveurs applicatifs (ou les postes clients) dont tu veux qu'ils se connectent toujours en Dedicated.
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour les conseils, je testerai tout cela demain matin.
    Je n'arrive pas à comprendre pourquoi en me connectant directement sur la base 'XXX' à partir du portable j'ai une connection donc je passe le firewall et je reçois une réponse puisque mes select fonctionnent. Par contre si je me connecte sur la base (en local sur le portable) et je fais un select à travers le DBlink je n'y arrive pas?
    Je continue à chercher.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Le problème est résolu : en traçant les échanges de data au niveau du firewall, d'abord en laissant tout passer et ensuite en restreignant les accès, l'équipe système a adapté un paramètre au niveau SQLNET V2 et le port 1521. Maintenant cela marche.
    Merci à vous et à +

    Chantal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Communication java à travers un firewall
    Par peyodroop dans le forum Général Java
    Réponses: 3
    Dernier message: 06/06/2006, 11h48
  2. L'avenir du BDE et des SQL Links révélé ! <officiel>
    Par Merlin dans le forum Bases de données
    Réponses: 12
    Dernier message: 02/06/2006, 10h18
  3. Probleme "linking nonincrementally"
    Par MissParker dans le forum C
    Réponses: 3
    Dernier message: 08/01/2003, 09h52
  4. DirectDrawCreate erreur de link
    Par Ing_Ben dans le forum DirectX
    Réponses: 1
    Dernier message: 01/12/2002, 18h46
  5. [CR] Tranfert de formulaire a travers une page HTMl
    Par LIEU dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 12/09/2002, 08h37

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