TNS-12505: TNS: l'auditeur ne connaît pas actuellement SID indiqué dans le descripteur connect

j'essaie de me connecter à Oracle 10.2.0 à partir de NetBeans, en utilisant la chaîne de connexion suivante:

jdbc:oracle:thin:@localhost:1521:XE

Le plus étrange, c'est que tout fonctionnait bien, jusqu'à ce que l'un des redémarrages. J'ai commencé à avoir ces erreurs TNS-12505 tout le temps; regardez les entrées finales dans mon listener.log:

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-APR-2011 13:46:48

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

System parameter file is D:oraclexeapporacleproduct.2.0servernetworkadminlistener.ora
Log messages written to D:oraclexeapporacleproduct.2.0servernetworkloglistener.log
Trace information written to D:oraclexeapporacleproduct.2.0servernetworktracelistener.trc
Trace level is currently 0

Started with pid=3460
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC_FOR_XEipc)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Brodyaga-PC)(PORT=1521)))
Listener completed notification to CRS on start

TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
14-APR-2011 13:48:54 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Brodyaga))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58458)) * establish * XE * 12505
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor
14-APR-2011 13:49:00 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Brodyaga))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58481)) * establish * XE * 12505
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor
14-APR-2011 13:49:02 * (CONNECT_DATA=(SID=XE)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=Brodyaga))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=58487)) * establish * XE * 12505
TNS-12505: TNS:listener does not currently know of SID given in connect descriptor
14-APR-2011 13:50:23 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Brodyaga))(COMMAND=services)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169869568)) * services * 0

les trois premières entrées sont mes tentatives de me connecter à partir de NetBeans. Le quatrième, la connexion via SQL*Plus, fonctionnait très bien.

Voici le contenu de mon listener.ora:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:oraclexeapporacleproduct.2.0server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:oraclexeapporacleproduct.2.0server)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = Brodyaga-PC)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

Et tnsnames.ora:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = Brodyaga-PC)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

Et de sortie à partir d' > lsnrrctl services

C:UsersBrodyaga>lsnrctl services

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 14-APR-2011 13:59
:45

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0
         LOCAL SERVER
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0
         LOCAL SERVER
The command completed successfully

les deux services Oracle sont démarrés et SQL * Plus se connecte fine.

y a-t-il une solution pour contourner cette erreur?

45
demandé sur Michael Currie 2011-04-14 14:06:12

17 réponses

Vous devez ajouter l'entrée SID pour XE afin d'enregistrer l'instance avec l'auditeur.

après l'installation D'Oracle XE, tout semble bien, mais quand vous émettez

C:\>sqlplus / as sysdba
SQL>shutdown immediate
SQL>startup

TNS-12505: TNS:listener does not currently know of SID given in connect descriptor

l'instance ne s'enregistrera pas avec l'auditeur.

veuillez donc modifier votre auditeur.ora comme ceci:

SID_LIST_LISTENER =
  (SID_LIST =
     (SID_DESC =
       (SID_NAME = XE)
       (ORACLE_HOME = C:\oraclexe\app\oracle\product.2.0\server)
     )
     (SID_DESC =
        (SID_NAME = PLSExtProc)
        (ORACLE_HOME = D:\oraclexe\app\oracle\product.2.0\server)
        (PROGRAM = extproc)
     )
     (SID_DESC =
       (SID_NAME = CLRExtProc)
       (ORACLE_HOME = D:\oraclexe\app\oracle\product.2.0\server)
       (PROGRAM = extproc)
     )
  )

ce problème est apparu lorsque J'ai installé Oracle XE sur Windows 7. Je n'ai pas fait face à ce problème sur Windows XP. En général, ce l'inscription ne devrait pas être nécessaire, car l'instance devrait s'enregistrer automatiquement auprès de l'auditeur. Avec Oracle XE sous Linux (Fedora), il n'est pas nécessaire d'ajouter XE à la liste sid.

65
répondu Bjarte Brandt 2012-05-31 19:38:10

cela a fonctionné pour moi - j'ai fait tout ce qui précède puis changé:

jdbc.databaseurl=jdbc:oracle:thin:@localhost:1521:xe

à:

jdbc.databaseurl=jdbc:oracle:thin:@localhost:1521/xe
38
répondu The Camster 2012-11-06 23:13:39

j'ai rencontré ce problème après un changement de pare-feu pour restreindre l'accès entre notre réseau interne et le serveur de base de données signalant l'erreur localisée dans la DMZ. La Communication fonctionnait bien jusqu'au changement, et les redémarrages du système et de la base de données n'ont été d'aucune aide. Dans mon cas, les deux installations Xe11gr2 D'Oracle sont sur Windows.

Après la journée de lutte, j'ai trouvé http://edstevensdba.wordpress.com/2011/07/30/exploring-the-local_listener-parameter/ et résolu à l' problème avec:

alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=[my server's ip])(PORT=1521))' scope=both;
alter system register;

il se peut que cela ait fonctionné simplement à cause du 'alter system register' comme suggéré par ik_zelf. J'ai déjà mis L'IP à des endroits pertinents dans listener.ora et tnsnames.ora.

4
répondu robm 2013-11-06 10:07:52

après un changement d'adresse ip dans notre machine virtuelle oracle, l'auditeur n'a plus jamais fonctionné. Enfin, cette commande a résolu le problème (où 192.168.10.200 est la nouvelle ip)

[oracle@oracle admin]$ sqlplus / as sysdba

SQL*Plus: Communiqué de 11.2.0.1.0 de Production le Mar 10 Mai à 12:57:37 2016

Copyright (c) 1982, 2009, Oracle. Tous droits réservés.

Connecté à: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0-64bit Production Avec le partitionnement, OLAP, Data Mining et les options de test D'Application réelles

SQL > alter system set local_listener='(ADDRESS=(PROTOCOL=tcp) (HOST=192.168.10.200) (PORT=1521)) ' scope=both;

système modifié.

SQL> alter system register;

système modifié.

SQL> exit

4
répondu Jose Zorrilla 2016-05-10 04:21:33

Étape 1-Vérifier l'état de L'auditeur DB

   lsnrctl status

notez que l'auditeur que vous voulez (dans notre cas "orcl") ne s'affiche pas.

Etape 2-Login via sqlplus

   sqlplus sys/oracle as sysdba

Sqlplus nous a donné ce message d'erreur:

   Writing audit records to Windows Event Log failed

Étape 3 - Allez dans le visualiseur D'événements Windows (eventvwr.exe)

sous" Windows Logs", faites un clic droit sur Application et sélectionnez"Clear Log". Faire de même pour le Système.

il peut aussi être sage de corriger cliquez sur Application et sélectionnez Propriétés. Puis, sous "la Taille du Journal", sélectionner l'option suivante dans "Lors de la taille maximale du journal est atteint": "Remplacer les événements si nécessaire". Cela devrait empêcher le log de maxer et de causer le DB de ne pas démarrer.

sous Windows Vista et supérieur, vous pouvez exécuter la commande suivante pour effacer le journal D'Application:

   wevtutil cl Application

Etape 4-Login via sqlplus

   sqlplus sys/oracle as sysdba

vous devriez maintenant pouvoir vous connecter sans erreur message.

Étape 5-Vérifier l'état de L'auditeur DB

   lsnrctl status

vous devriez maintenant Voir votre auditeur tourner.

Étape 6-Lancer UCM

UCM devrait maintenant démarrer.

pour une réponse plus approfondie à cette question, vous pouvez lire mon intégralité blog.

3
répondu RedstoneCS 2013-03-18 20:45:27

comme mentionné en enlevant le côlon : et remplacer par un slash / avant que le sid travaille pour moi.

j'ai déjà eu ce problème, aussi.

2
répondu Mohit Tilva 2014-11-06 20:10:48

j'exécute oracle Xpress edition 11.2 sur windows 8 et j'ai eu la même erreur en essayant de me connecter à DB en utilisant sqldeveloper.

j'ai édité auditeur.ora selon la réponse de Brandt ci-dessus et même redémarré ma machine le problème n'a pas été corrigé.

j'ai fait ce qui suit: aller à panneau de contrôle - > outils administratifs - > services vous trouverez un service appelé "OracleServiceXE" qui ne fonctionne pas.

j'ai commencé et essayé de se connecter à nouveau, problème résoudre.

2
répondu Hassaan Hassaan 2014-11-12 10:43:53

j'ai eu le même problème sur Windows 7. La cause était, que j'avais été connecté à VPN en utilisant Cisco AnyConnect Secure Mobility Client.

2
répondu kravemir 2016-07-14 09:51:45

votre base de données, qui a apparemment L'ORACLE_SID XE, n'est pas définie dans l'écouteur.ora. Ce n'est pas un problème, puisque lorsque la base de données s'ouvre normalement, elle s'enregistrera elle-même à l'auditeur par défaut, étant celle du port 1521 donc c'est ok.

  1. est ouvert la base de données?
  2. Quel est l'ordre de départ de l'auditeur/de la base de données?
  3. est l'erreur persistante?

Si la base de données commence avant l'écoute, la base de données n'a pas d'écouteur pour vous inscrire à. Il en sera ainsi toutes les quelques minutes, donc après un moment, j'attends l'erreur d'aller, à cause de l'enregistrement a eu lieu. Vous pouvez émettre alter system register; pour la vitesse. Si la base de données est en mode restreint, les connexions utilisant un service échoueront. Vous utilisez ORACLE_SID donc ce n'est pas votre problème.

vérifiez aussi les noms utilisés. Localhost se résout-il à la même adresse que Brodyaga-PC? Dans la chaîne jdbc vous utilisez localhost et l'écouteur écoute om Brodyaga-PC. Est-ce que localhost 127.0.0.1 ?

1
répondu ik_zelf 2012-01-13 08:13:02

commencer OracleServiceHari où "HARI" est le SID, a travaillé pour moi.

D'autres personnes confrontées au même problème peuvent vérifier l'état du service.

1
répondu Hari Chaudhary 2015-06-17 16:07:55

Arrivée LSNRCTL> stat J'ai obtenu comme résultat -

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production 
Start Date                17-APR-2016 10:12:38 
Uptime                    0 days 10 hr. 6 min. 16 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF
Listener Parameter File 
                        C:\product.2.0\dbhome_1\network\admin\listener.ora
Listener Log File        c:\app\admin\diag\tnslsnr\admin-PC\listener\alert\log.xml Listening
Endpoints Summary...  
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\pipe\EXTPROC1522ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1522)))
Services Summary... Service "CLRExtProc" has 1 instance(s).   Instance
 "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
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.

à partir des détails ci - dessus-mon port no is-1522 et je suis capable de créer une connexion en utilisant l'instance "orcl" - donc j'ai utilisé le port comme 1522 et l'instance comme "orcl" -- maintenant L'URL est -

DriverManager.getConnection("jdbc:oracle:thin:@localhost:1522:orcl", "SYS as SYSDBA","password");

Cela a fonctionné pour moi, merci de vérifier LSNRCTL> stat dans la commande invite et configurez votre url de connexion en conséquence.

J'espère que ça aidera Quelqu'un.

1
répondu Anurag_BEHS 2017-06-29 12:06:24

juste pour une autre possibilité de vérifier, j'ai eu exactement le même problème avec un numéro de port incorrect spécifié dans l'URL connect. J'ai créé une nouvelle instance oracle11g et j'ai oublié de tuer l'ancienne qui occupait le même port 1521, donc la nouvelle instance a automatiquement commencé sur le port 1522. Modifier le numéro de port a résolu mon problème.

0
répondu oodograss 2014-08-13 02:01:21

je viens de faire face au même problème juste après avoir installé Oracle XE 11.2. Après avoir lu et consulté un ami de DBA, j'ai exécuté la commande suivante:

C:\>tnsping xe

TNS Ping Utility for 64-bit Windows: Version 11.2.0.2.0 - Production on 11-ENE-2017 14:27:44

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
C:\oraclexe\app\oracle\product.2.0\server\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myLaptop)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))

OK (30 msec)

C:\>

comme vous pouvez le voir, cela prend du temps à résoudre, donc j'ai ajouté une entrée au fichier hosts comme suit:

127.0.0.1       localhost

une Fois cela fait, couru de nouveau la même commande:

C:\>tnsping xe

TNS Ping Utility for 64-bit Windows: Version 11.2.0.2.0 - Production on 11-ENE-2
017 14:40:29

Copyright (c) 1997, 2014, Oracle.  All rights reserved.

Used parameter files:
C:\oraclexe\app\oracle\product.2.0\server\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myLaptop)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SER
VICE_NAME = XE)))
OK (30 msec)

C:\>

Comme le temps de réponse diminue radicalement, j'ai essayé ma connexion sur sqldeveloper réussi.

connection succed

0
répondu Maucho Arellano 2017-01-11 20:59:41

dans Windows dans l'option de recherche Allez à outils administratifs>services composants> OracleServiceXE(démarrer ce service)

0
répondu navis1692 2018-02-16 06:31:56

allez à Gestionnaire des tâches et cochez ci-dessous les services qui sont en cours d'exécution ou non si vous ne démarrez pas les services.

OracleXETNSListener Oraclexecragent OracleServiceXE

0
répondu user9813237 2018-05-18 18:42:31

dans mon cas, je viens de passer par les étapes suivantes de windows 10.

  1. panneau de contrôle goto
  2. cliquez sur administration
  3. cliquez sur services
  4. trouver OracelServeceXE, OracleXEClrAgeng, OracleXETNSListener
  5. clic droit et appuyez sur démarrer / redémarrer
  6. Après Avoir Terminé Le Processus. Vérifier qu'il fonctionne ou qu'il fonctionne ;)
  7. Tout le Meilleur.
0
répondu Kshresthasan 2018-06-02 17:12:37

Cela a fonctionné pour moi comme une magie.

je me suis connecté à la base de données et j'ai enregistré l'auditeur.

alter system set local_listener='(...)';
alter system register;
-1
répondu Rakesh Nunna 2014-09-08 10:44:06