web-dev-qa-db-fra.com

Erreur ORA-12560 lors de la tentative de connexion du client Windows SQL * Plus au serveur Oracle 11g Linux

J'ai installé 11g sur Centos VM sur mon mac. J'ai tout en place et travaille sur le serveur. J'ai inclus la commande suivante que j'ai exécutée sur cenos.

Statut $ lsnrctl

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-JUN-2014 14:49:41

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hayer)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                23-JUN-2014 14:03:58
Uptime                    0 days 0 hr. 45 min. 42 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/Oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/Oracle/diag/tnslsnr/hayer/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=hayer)(PORT=1522)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

Mon fichier tnsnames.ora est le suivant:

# tnsnames.ora Network Configuration File: /u01/app/Oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(Host = hayer)(PORT = 1522))


ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = hayer)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
      (SID = orcl)
    )
  )

~                                                                               
~                                                                               
~                                                                               
~   

Sur le serveur Centos, je peux également me connecter en utilisant sqlplus. J'ai changé tnsnames.ora sur Windows pour le même que le serveur.J'ai ajouté des informations sur l'hôte Oracle dans le fichier hôte Windows et je peux envoyer une requête ping à l'hôte Oracle et à l'hôte Telnet sur le port 1522.

J'ai désactivé le service iptables donc aucun type de pare-feu n'existe sur centos.

Mais j'obtiens toujours l'erreur suivante sur le client Windows:

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 23 14:51:31 2014

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Enter user-name: system as sysdba
Enter password:
ERROR:
ORA-12560: TNS:protocol adapter error


Enter user-name: system as sysdba
Enter password:
ERROR:
ORA-12560: TNS:protocol adapter error
3
Auguster

Sur votre client Windows, vous devez spécifier l'alias TNS @ORCL, ou bien il suppose que vous essayez de vous connecter à une base de données locale exécutée sur votre client Windows, qui n'existe pas. Aussi, system as sysdba n'est généralement pas utilisé, même pas sûr que cela ait du sens. SYS as sysdba et simplement system sont utilisés.

Enter user-name: system@ORCL
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning option

Si vous n'avez pas tnsnames.ora configuré sur votre client Windows, vous pouvez toujours vous connecter via la chaîne EZCONNECT @"hayer:1522/orcl" au lieu de configurer des tnsnames (oui, les guillemets sont nécessaires).

Enter user-name: system@"hayer:1522/orcl"
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning option
8
Joshua Huber