ORA-12505, TNS:listener, die derzeit nicht wissen, von SID in connect-Deskriptor. Eclipse und Fedora 20 via JDBC

Habe ich installiert Oracle 11g XE unter einem Fedora 20 Virtuellen Maschine konfiguriert und die enviroment-Variablen (mit der oracle_env.sh). Ich habe diesen Fehler beim Versuch, die Verbindung der Eclipse mit der Datenbank über jdbc mit diesem string "jdbc.databaseurl=jdbc:oracle:thin:@192.168.88.134:1521:XE"

Ich kann eine Verbindung zu der Datenbank in die Virtuelle Maschine via SQL*Plus (sqlplus /as sysdba).

Den $ORACLE_SID variable ok (XE). Ich habe bereits versucht zu stoppen und starten Sie den listener, dann Start der Datenbank, und verwenden Sie die alter system register; Befehl.

Ebenfalls statisch die Datenbank registrieren, ohne Erfolg (ich kann asure habe ich nicht den Fehler, dies zu tun, so dass, wenn jemand denkt, dass dies mein problem lösen könnte, ich würde versuchen Sie es erneut).

Hier ist die listener.ora Datei:

# listener.ora Network Configuration File: 

SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (SID_NAME = PLSExtProc) 
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) 
      (PROGRAM = extproc) 
    ) 
  ) 



LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(PORT = 1521)) 
    ) 
  ) 

DEFAULT_SERVICE_LISTENER = (XE) 

Und die tnsnames.ora Datei:

# tnsnames.ora Network Configuration File: 

XE = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.88.134)(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) 
    ) 
  ) 

Sowie lsnrctl status:

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-MAR-2014 01:22:35 

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) 
STATUS of the LISTENER 
------------------------ 
Alias                     LISTENER 
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production 
Start Date                30-MAR-2014 22:41:35 
Uptime                    0 days 2 hr. 41 min. 1 sec 
Trace Level               off 
Security                  ON: Local OS Authentication 
SNMP                      OFF 
Default Service           XE 
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora 
Listener Log File         /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/192/listener/alert/log.xml 
Listening Endpoints Summary... 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) 
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.88.134)(PORT=1521))) 
Services Summary... 
Service "PLSExtProc" has 1 instance(s). 
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... 
The command completed successfully

Ich bin mir fast sicher, dass das problem ist, dass der Hörer nicht weiß, über die Datenbank. Der Vorherige Befehl sollte zeigen, abgesehen von dem, was er bereits zeigt, so etwas wie

Service XE has 1 instance.
Instance "XE", status READY, has 1 handler for this service

... aber es funktioniert nicht, und ich weiß nicht, wie man dieses Problem lösen.

Ich bin neu in diesem, vor allem auf Linux, also werde ich zu schätzen wissen jedes detail in den Lösungen, die Sie vorschlagen.

Führt Ihre virtuelle Maschine mehr als eine IP-Adresse, und was bedeutet sein name (von uname -n) zu beschließen, in /etc/hosts und über dig? Und genau zu überprüfen, können Sie das Problem alter system register aus der SQL*Plus-Sitzung, dann überprüfen Sie die lsnrctl services Ausgabe wieder, und prüfen Sie, ob show parameters local_listener zeigt einen leeren Wert?
Soweit ich weiß, hat es nur eine IP-Adresse. Ich habe versucht, die "alter system register" ohne Erfolg, die Zuhörer status ramins unverändert.
Ich sah, dass Sie hatte versucht, sich zu registrieren, sorry. Aber was ist Ihr Computer-name (aus uname), und was macht /etc/hosts haben für den Namen?
uname: Linux. Ich weiß nicht, wie zu interpretieren, aber das ist der Inhalt der Datei /etc/hosts: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

InformationsquelleAutor Tony | 2014-03-31

Schreibe einen Kommentar