web-dev-qa-db-fra.com

Client Oracle lançant ORA-12541: TNS: aucun écouteur

quand j'essayais de connecter mon serveur distant

sqlplus SYSTEM/[email protected]:1521/kannel

ça me montre cette erreur-

SQL*Plus: Release 11.2.0.2.0 Production on Fri Nov 15 15:36:52 2013
copyright (c) 1982, 2010, Oracle.  All rights reserved.

ERROR:
ORA-12541: TNS:no listener

J'ai vérifié mon auditeur, il fonctionne

[root@roracle bin]# ./lsnrctl status

 LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 15-NOV-2013 15:42:24

 Copyright (c) 1991, 2011, 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
 Linux Error: 111: Connection refused
 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
 Linux Error: 111: Connection refused

le fichier tnsnames.ora contient -

KANNEL =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
     (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = kannel)
     )
 )

le fichier listener.ora contient

SID_LIST_LISTENER =
(SID_LIST =
 (SID_DESC =
   (GLOBAL_DBNAME = kannel)
   (Oracle_HOME = /opt/u01/app/product/11.2.0/dbhome_1)
   (SID_NAME = kannel)
 )
)

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

fichier sqlnet.ora contenant-

SQLNET.AUTHENTICATION_SERVICES= (ALL)

NAMES.DIRECTORY_PATH= (TNSNAMES,ONAMES,HOSTNAME)

Chemin d'origine d'Oracle -

$Oracle_HOME=/opt/u01/app/product/11.2.0/dbname_1

Chemin de base Oracle -

$Oracle_BASE=/opt/u01/app

j'ai défini une variable d'environnement

[root@roracle bin]# env | sort

}
_=/bin/env
CVS_RSH=ssh
G_BROKEN_FILENAMES=1
HISTCONTROL=ignoredups
HISTSIZE=1000
HOME=/root
HOSTNAME=roracle
LANG=en_IN
LESSOPEN=|/usr/bin/lesspipe.sh %s
LOADEDMODULES=
LOGNAME=root
LS_COLORS=rs=<......something........>:
MAIL=/var/spool/mail/root
module=() {  eval `/usr/bin/modulecmd bash $*`
MODULEPATH=/usr/share/Modules/modulefiles:/etc/modulefiles
MODULESHOME=/usr/share/Modules
OLDPWD=/root
Oracle_BASE=/opt/u01/app/
Oracle_HOME=/opt/u01/app/product/11.2.0/dbhome_1
Oracle_SID=kannel
PATH=/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/opt/u01/app/product/11.2.0/dbhome_1/bin
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QTLIB=/usr/lib64/qt-3.3/lib
Shell=/bin/bash
SHLVL=1
SSH_CLIENT=192.168.0.83 35604 22
SSH_CONNECTION=192.168.0.83 35604 192.168.0.171 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=root

Lorsque j'accède à la base de données en tant qu'hôte local -

./sqlplus / as sysdba[Oracle@roracle bin]$ ./sqlplus / as sysdba

 SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 15 16:04:02 2013

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

 Connected to an idle instance.

 SQL> select v$database;
 select v$database
 *
 ERROR at line 1:
 ORA-01034: Oracle not available
 Process ID: 0
 Session ID: 0 Serial number: 0

Je ne comprends pas où je me trompe ..... Quelqu'un peut-il m'aider?

5
Saagar

Se pourrait-il que vous ayez démarré le processus d'écoute en tant que root? Je peux voir que vous essayez le statut lsnrctl en tant qu'utilisateur root, alors assurez-vous de démarrer le processus d'écoute en tant qu'utilisateur Oracle, puis de démarrer la base de données (également en tant qu'utilisateur Oracle)

De plus, si vous obtenez "Connecté à une instance inactive", cela signifie que vous vous connectez à une instance qui n'est pas en cours d'exécution ou que vous avez défini un environnement incorrect pour la connexion à l'instance à laquelle vous souhaitez vous connecter.

Assurez-vous d'avoir le répertoire du logiciel Oracle dans votre chemin, tel que /u01/app/Oracle/product/11.0/dbhome_1/bin

et Oracle_SID défini sur le nom d'instance de base de données.

4

Veuillez vous connecter en tant qu'utilisateur Oracle et essayez ces étapes.

Définissez votre environnement Oracle

$ . oraenv # note the dot!
$ <input your SID>

Connectez-vous et lancez.

$ sqlplus / as sysdba 
SQL>startup
SQL>exit;

Démarrez l'écouteur, assurez-vous que la base de données s'enregistre.

$ lsnrctl start
$ lsnrctl status
3
Bjarte Brandt

Pour le

ORA-12541: TNS: pas d'auditeur:

Votre écouteur est configuré pour se lier uniquement à localhost bien que vous essayiez d'y accéder en utilisant 192.168.0.171, vous devrez donc ajouter cette interface à votre listener.ora:

(ADRESSE = (PROTOCOLE = TCP) (Hôte = 192.168.0.171) (PORT = 1521))

Pour le

Connecté à une instance de veille. ... ORA-01034: Oracle non disponible

Votre instance de base de données n'est pas démarrée, exécutez d'abord la commande startup; et vérifiez la sortie.

2
Dieter DHoker