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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das klingt wie Ihre Datenbank zu registrieren versucht mit der falschen IP-Adresse, um Kontakt mit dem Hörer. Ihre Zuhörer Abhören konfiguriert ist 192.168.88.134, aber vielleicht ist die DB ist unter der Annahme localhost (127.0.0.1), oder ein Alter IP-Wert, wenn die Konfiguration hat sich je geändert.
Standardmäßig wird die Datenbank versucht zu registrieren, die gegen die server externer host-name (die Standardeinstellung bei der local_listener leer ist), aber Sie werden immer einen unerwarteten Wert aus, - also, was ist in
/etc/hosts
für den Namen der Maschine ankommt. Was verursacht hat, dass, die Anmeldung scheint zu scheitern.Können Sie explizit sagen, die DB zu registrieren, mit der eigentlichen listener-Adresse:
Wenn das funktioniert und
lsnrctl services
jetzt zeigtXE
, dann wiederholen Sie dieset
Befehl mitscope=both
zu machen, stick auf der nächsten DB neu starten.wow, das hat mich gerettet
InformationsquelleAutor Alex Poole
Fehlerbehebung:
oder
hinzufügen XE zu Ihrem SID_LIST wie:
lsnrctl reload
überprüfen Sie die alert-log für Nachrichten.
InformationsquelleAutor Bjarte Brandt
In Ihrem Hörer.ora:
Hier in der Regel standardmäßig gibt es ein hostname anstelle der IP-Adresse. Haben Sie etwas besonderes machen, so dass Sie haben, dass die IP dort (192.168.88.134)?
InformationsquelleAutor Yavor