web-dev-qa-db-fra.com

Oracle SQL Developer: Echec - Echec du test: l'adaptateur réseau n'a pas pu établir la connexion?

Problème

Veuillez noter que j'ai modifié les détails pour des raisons de sécurité. Cependant, le problème reste intact. 

J'ai installé une base de données Oracle 11g sur un serveur à l'emplacement situé, par exemple, herp-devDV.derp.edu. Maintenant, j’ai une autre base de données Oracle 11g sur un serveur à l’emplacement, disons derp-db.derp.edu. 

J'ai entré le nom de connexion, le nom d'utilisateur, le mot de passe, le nom d'hôte et le nom du service dans Oracle SQL developer pour herp-devDV.derp.edu et derp-db.derp.edu. Je peux me connecter au schéma dans derp-db.derp.edu, mais pas herp-devDV.derp.edu. Cela me donne ce message: 

Failure - Test failed: The Network Adapter could not establish the connection

Détails

J'ai les informations suivantes: 

  • Le port 1521 n’est ouvert pour aucun des deux serveurs quand je suis telnet
  • Mon auditeur est opérationnel pour les deux. 
  • Je peux accéder à derp-db.derp.edu sur Oracle SQL Developer. 
  • Le client Oracle est sur mon ordinateur local + Oracle SQL Developer 
  • Je peux utiliser le bureau à distance sur les deux serveurs

Ce que j'ai fait

  • Googlé
  • Stackoverflow
  • A arrêté et lancé les commandes lnrctl 
  • Sur herp-devDB.derp.edu j'ai exécuté lsnrctl status

J'ai reçu la sortie suivante

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Start Date                03-JUN-2014 13:37:22
Uptime                    6 days 0 hr. 53 min. 4 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   D:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
Listener Log File         d:\Oracle\diag\tnslsnr\HERP-DEVDB\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=HERP-DEVDB.derp.edu)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "HERPDEVDBXDB" has 1 instance(s).
  Instance "herpdevdb", status READY, has 1 handler(s) for this service...
Service "herpdevdb" has 1 instance(s).
  Instance "herpdevdb", status READY, has 1 handler(s) for this service...
The command completed successfully

Je vérifie ensuite mon auditeur.ora et trouve

  SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (Oracle_HOME = D:\Oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(Host = HERP-DEVDB.derp.edu)(PORT = 1521))
    )
  )

À ce stade, j'avoue que je me gratte la tête, car je ne vois rien qui dépasse et qui me dit pourquoi cela ne devrait pas fonctionner. 

Le seul indice est lorsque je vérifie derp-db.derp.edu et que je lance la commande lsnrctl status. S'il vous plaît Voir extrait ci-dessous: 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=DERP-DB.edu)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.3.0 - Production
Start Date                18-MAY-2014 02:19:01
Uptime                    22 days 12 hr. 23 min. 18 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
---etc----

Alors je me gratte encore la tête. Pourquoi derp-db se connecterait-il au fichier DERP-DB.edu alors que herp-devDB se connecterait à EXTPROC1521? Comment puis-je réparer ça? Le fichier listener.ora et les autres fichiers entre ces deux serveurs sont presque identiques, à l'exception du nom des instances. Hmmm. 

  • EDIT1: J'ai changé le programme auditeur.ora dans herp. Cela n'a pas résolu le problème. 

  • EDIT2: Je ne peux pas connecter telnet à derp-db.derp.edu sur le port 1521. Mais je peux toujours me connecter avec SQL Developer? Avec

  • EDIT3 Je ne peux pas non plus me connecter à telnet par herp-devdb.derp.edu sur le port 1521. 
  • EDIT4 Je ne parviens pas à envoyer une requête ping aux adresses IP de l'un ou l'autre serveur. 

De toute façon, une aide serait grandement appréciée. Merci

Cordialement, Geek

9
GeekyOmega

Je réponds à cela au profit des futurs utilisateurs de la communauté. Il y avait plusieurs problèmes. Si vous rencontrez ce problème, je vous suggère de rechercher les éléments suivants: 

  • Assurez-vous que votre tnsnames.ora est complet et dispose des bases de données auxquelles vous souhaitez vous connecter.
  • Assurez-vous de pouvoir connecter le serveur auquel vous souhaitez vous connecter. 
  • Sur le serveur, assurez-vous qu’il sera ouvert sur le port de votre choix avec l’application spécifique que vous utilisez. 

Une fois que j'ai fait ces trois choses, j'ai résolu mon problème. 

13
GeekyOmega

J'ai eu un problème similaire où j'ai toujours eu la même erreur. J'ai essayé beaucoup de choses, comme changer le numéro de port du programme d'écoute, désactiver le pare-feu, etc. Enfin, j'ai pu résoudre le problème en modifiant le fichier listener.ora. J'ai changé la ligne suivante:

(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))

à 

(ADDRESS = (PROTOCOL = TCP)(Host = hostname)(PORT = 1521)) 

J'ai également ajouté une entrée dans le fichier /etc/hosts

vous pouvez utiliser Oracle Net Manager pour modifier la ligne ci-dessus dans le fichier listener.ora. Consultez le Guide de l'administrateur Oracle Net Services pour plus d'informations sur la procédure à suivre à l'aide de net manager. 

Vous pouvez également utiliser le nom du service (database_name.domain_name) à la place de SID lors de la connexion.

J'espère que ça aide.

9
scv

Je viens d'avoir le même problème lorsque j'ai installé Oracle 11g, puis créé la base de données.

Je ne sais même pas que l'écouteur doit créer manuellement ..___. J'ouvre donc Net Configuration Assistant et crée manuellement l'écouteur.

Et je peux connecter la base de données que j'ai créée localement par le biais de SQL Developer.

3
Pete Ng

J'ai résolu juste par: étant donné l'hôte et le port corrects.

  1. Ouvrez le gestionnaire de réseau Oracle
  2. Local
  3. Auditeur 

dans Listener sur l'adresse 2, puis copiez l'hôte sur Oracle Developer 

enfin connectez-vous à Oracle 

2
Diyar Bakir

Curieusement, j'ai été capable de résoudre le même problème en faisant exactement le mouvement opposé à celui de la SVC! J'ai dû :

1) remplacez le nom d’hôte FQDN dans mes fichiers tnsnames.ora/listener.ora par localhost et redémarrez le service d’écoute, et

2) deux, je devais utiliser "SYS as SYSDBA" comme nom d'utilisateur dans la zone de saisie du développeur SQL

pour pouvoir enfin avoir SQL Developer accroché à mon instance locale.

1
Fabien Haddadi

Je faisais face au même problème… Je devais éteindre mon pare-feu, puis ça fonctionnait.

Vous pouvez également ouvrir le port: http://windows.Microsoft.com/en-in/windows/open-port-windows-firewall#1TC=windows-7

0
Durgesh Gupta

Vous pouvez localiser un fichier nommé listener.ora dans le dossier d'installation oraclexe\app\Oracle\product\11.2.0\server\network\ADMINIl contient les entrées suivantes

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(Host = Codemaker-PC)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

Vous devez vérifier que l'hôte (ici Codemaker-PC) correspond bien au nom de l'ordinateur. Si ce n'est pas correct, changez-le en tant que nom d'ordinateur.

puis essayez la commande suivante dans l'invite de commande, exécutez-la en tant qu'administrateur,

lsnrctl start
0
Codemaker

ne lancez le programme d'écoute que si vous pouvez vous connecter à la base de données . commande exécutée sous l'éditeur:

son travail bien.

its work fine.

0
Mayank Agrawal

Cela a fonctionné pour moi. peut aider quelqu'un. Éteignez le pare-feu. sur RHEL 7

systemctl stop  firewalld
0
malatesh

Pour moi, l'hôte a été défini différemment dans tnsnames.ora et listener.ora. L'un était défini sur le nom complet de l'ordinateur et l'autre sur l'adresse IP . Je les ai synchronisés sur le nom complet de l'ordinateur et cela a fonctionné. N'oubliez pas de redémarrer les services Oracle.

Je ne comprends toujours pas pourquoi ce problème est à l'origine, car je pense que l'adresse IP et le nom de l'ordinateur sont finalement les mêmes.

0
박건도