Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2007, 10h15   #1
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 3
Points : 1
Points : 1
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 :
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 :
1
2
3
4
CREATE DATABASE link XE_XXX
connect TO YYYY
IDENTIFIED BY "<pwd>"
USING 'XXX';
Code :
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 :
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
WalschaertsC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 12h34   #2
Membre du Club
 
Inscription : août 2005
Messages : 68
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 68
Points : 68
Points : 68
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.
xavi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 17h43   #3
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
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
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 19h21   #4
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 3
Points : 1
Points : 1
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.
WalschaertsC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 10h40   #5
Invité de passage
 
Inscription : mars 2007
Messages : 3
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 3
Points : 1
Points : 1
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
WalschaertsC est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h10.


 
 
 
 
Partenaires

Hébergement Web