web-dev-qa-db-fra.com

L'écouteur Oracle ne fonctionne pas et ne démarre pas

Je reçois les erreurs suivantes avec la commande lsnrctl status:

C:\Users\pna105>lsnrctl stat

 LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 17:53
 :55

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 64-bit Windows Error: 61: Unknown error

Cela fonctionnait bien avant de redémarrer, mais maintenant, cela ne fonctionne pas et je ne peux pas non plus accéder à ma page d'accueil Oracle.

Mon tnsnames.ora est:

  Oracle = 
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(Host = Localhost)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME = Oracle)  
    )  
   )

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


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

Mon listener.ora est: (Voici une erreur due à des crochets égarés, l'ajout de quelques espaces a résolu le problème TNS-12518)

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

  LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
  )
  )

  ADR_BASE_LISTENER = C:\app\PNA105

Voici le résultat de la commande lsnrctl start

C:\Users\pna105>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 18:26
:22

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

 Starting tnslsnr: please wait...

  TNS-12560: TNS:protocol adapter error
   TNS-00530: Protocol adapter error

Voici la dernière entrée nécessaire du fichier journal.

 Started with pid=14784
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=1521)))
 Listener completed notification to CRS on start

 09-OCT-2014 15:46:01 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
(SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57389)) * 
establish * Oracle * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error
 64-bit Windows Error: 203: Unknown error
 Dynamic address is already listened on (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) 
 (Host=127.0.0.1)(PORT=1521)))
 09-OCT-2014 15:46:06 * service_register * Oracle * 0
 Thu Oct 09 15:46:11 2014
 09-OCT-2014 15:46:11 * service_update * Oracle * 0
 09-OCT-2014 15:46:12 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57393)) * 
  establish * Oracle * 0
 09-OCT-2014 15:46:12 * service_update * Oracle * 0
 09-OCT-2014 15:46:13 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57394)) * 
 establish * Oracle * 0

J'ai essayé de résoudre TNS-12518 et le programme d'écoute a démarré, mais il n'a toujours pas été en mesure d'accéder à la page d'accueil Oracle.

sortie de la statistique lnsrctl

C:\Users\pna105>lsnrctl stat

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-OCT-2014 17:16
:56

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

 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 - Produ
 ction
 Start Date                09-OCT-2014 15:45:58
 Uptime                    0 days 1 hr. 30 min. 58 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   C:\app\PNA105\product\11.2.0\dbhome_1\network\admin\li
 stener.ora
 Listener Log File         c:\app\pna105\diag\tnslsnr\INL007306\listener\alert\lo
 g.xml
 Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "Oracle" has 2 instance(s).
  Instance "Oracle", status UNKNOWN, has 1 handler(s) for this service...
  Instance "Oracle", status READY, has 1 handler(s) for this service...
  Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "oracleXDB" has 1 instance(s).
  Instance "Oracle", status READY, has 1 handler(s) for this service...

La commande terminée avec succès

13
Pranav Nath

J'ai eu le même problème . Solution dans mon cas: Exécuter CMD en tant qu'ADMINISTRATEUR . Puis tapez et exécutez: "lsnrctl start" Attendez environ 2 minutes, puis devrait fonctionner. (dans mon cas, ce n'était que 50 secondes, mais juste pour être sûr)

18
Imre

1.Vérifiez les variables d'environnement (doivent être définies pour System et non pour l'utilisateur):

Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server
Oracle_SID = XE

2.Vérifiez si vous avez la bonne définition dans listener.ora

XE =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

3. Redémarrez le service (Services> OracleServiceXE)

Après cela, vous pourrez voir un nouveau service appelé OracleXETNSListenerXE.
Il existe déjà un ancien OracleXETNSListener.

J'ai commencé les deux et ensuite j'ai pu établir une connexion avec succès.

Modifier:

Si tout fonctionne mais que vous ne pouvez toujours pas vous connecter, vérifiez s'il n'y a pas d'erreur: ORA-12557: TNS: adaptateur de protocole non chargeable .

Pour corriger l'erreur, retournez aux variables d'environnement et modifiez cette fois celle appelée: Path. Assurez-vous que C:\oraclexe\app\Oracle\product\11.2.0\serveur\bin se situe quelque part au début, certainement avant tout autre chemin pointant vers une autre version de la base de données Oracle.

5
Piotr Kepka

Je l'ai résolu en mettant à jour le fichier listener.ora situé dans le répertoire Oracle oraclexe\app\Oracle\product\11.2.0\serveur\réseau\ADMIN.

Pourquoi est-ce que cela m'est arrivé parce que j'ai changé le nom de mon système mais que dans listener.ora, il y avait un ancien nom pour Host.

C’est peut-être l’une des raisons… pour ceux qui sont toujours confrontés à ce problème, ils pourraient aussi penser à cette possibilité.

4
Muneeb Mirza

Vérifiez que la variable d’environnement Oracle_HOME pointe vers la maison Oracle correcte . Dans mon cas, elle a été modifiée par une autre installation logicielle.

3
MrLymy

La même chose m'est arrivée après avoir changé le nom de l'ordinateur. Pour résoudre ce problème, il suffit de localiser le fichier listener.ora et de remplacer l’ancien nom de l’ordinateur par le nouveau.

2
Mike Alex

Dans mon cas, j'ai essayé de démarrer l'auditeur via la console:

> lsnrctl star

Cette commande imprimait l'erreur suivante:

TNS-12560: TNS:protocol adapter error
TNS-00583: Valid node checking: unable to parse configuration parameters

J'ai donc effectué les actions suivantes:

  1. Vérifier si le fichier listener.ora ou sqlnet.ora Oracle contient des caractères spéciaux
  2. Vérifiez si le fichier Oracle listener.ora ou sqlnet.ora` est dans un format ou une syntaxe incorrect
  3. Vérifiez si les fichiers Oracle listener.ora ou sqlnet.ora ont des parenthèses justifiées à gauche qui ne sont pas acceptées par l’analyseur Oracle.

Examinez ces fichiers et vérifiez la syntaxe appropriée. Si possible, supprimez/renommez sqlnet.ora et essayez de redémarrer l'écouteur. Ou supprimez/renommez le fichier listener.ora ou sqlnet.ora et recréez-le correctement. Celles-ci vont résoudre définitivement le problème.

1
manix

J'ai rencontré le même problème et la raison étant: Le mien est un PC personnel de Windows. Et j'ai modifié le nom de l'ordinateur et le même ne reflète pas dans listener.ora. La mise à jour de Oracle_HOME\network\ADMIN\listener.ora avec le nom d'hôte mis à jour a résolu le problème.

Je rencontre un problème similaire lors de l'installation d'Oracle 11gR2 sur un serveur Windows 2012 . Le problème est résolu lorsque j'exécute cmd.exe en tant que privilège Admistrator et que je lance "lsnrctl start LISTENER".

1
Jaewon Lee

Dans mon cas, le service d'écoute ne démarrerait pas car il était configuré pour écouter une connexion VPN ainsi que d'autres interfaces serveur.

Une fois que je me suis connecté au VPN, cela a juste commencé.

Cependant, le tour de @ Imre avec "lsnrctl start" m'a mis sur la bonne voie.

0
Adi

Dans mon cas, le service d'écoute Windows avait cessé de fonctionner et je ne pouvais donc pas connecter Oracle via sqldeveloper. Cependant, je pouvais me connecter via sqlplus.

La solution ci-dessous a fonctionné pour moi:

Tout d'abord, assurez-vous que votre service d'écoute est en cours d'exécution. 

C:\Documents and Settings\ME> Statut de lsnrctl 

Si le service d'écoute n'est pas en cours d'exécution, redémarrez-le à l'aide du gestionnaire de tâches Windows ou utilisez l'utilitaire de ligne de commande DOS pour redémarrer le service Windows à l'aide de la commande "net start":

C:\Documents and Settings\ME> net start OracleOraDb10g_home1TNSListener 

Essayez de démarrer le service d'écoute à l'aide de lsnrctl à partir de l'invite du DOS. 

lsnrctl start

0
Garima Kushwaha

J'ai réussi à résoudre le problème qui entraînait l'échec de la configuration sur un conteneur de docker exécutant le bac à sable Hortonworks HDP 2.6.

Si la configuration initiale échoue, l'écouteur sera en cours d'exécution et devra être tué en premier:

ps -aux | grep tnslsnr
kill {process id identified above}

L'étape suivante consiste ensuite à résoudre le problème de mémoire partagée, ce qui entraîne l'échec du processus de configuration.

Oracle XE nécessite 1 Go de mémoire partagée et échoue autrement (je n'ai pas essayé 512 Mo) selon https://blogs.Oracle.com/oraclewebcentersuite/implement-Oracle-database-xe-as-docker-containers .

vi /etc/fstab

changer/ajouter la ligne à:

tmpfs    /dev/shm     tmpfs   defaults,size=1024m 0 0

Rechargez ensuite la configuration en:

mount -a

Gardez à l'esprit que la prochaine fois que vous redémarrerez le conteneur de menu fixe, vous devrez peut-être «monter -a».

0
limboy