it-swarm.com.de

Oracle-SID und Servicename; Verbindungsprobleme

Ich versuche, über SQL-Entwickler eine Verbindung zu Oracle DB auf Remote-Servern herzustellen. Ich habe die Verbindungsdetails in tnsnames kopiert und ich kann eine Verbindung zur Datenbank herstellen. 

Ich habe jedoch eine andere Datenbankanwendung, die mit sqldeveloper identisch ist, und wenn ich versuche, eine Verbindung herzustellen, erhalte ich diesen Fehler. Diese Anwendung verwendet den Oracle-Jdbc-Thin-Client, für den Hostname und SID erforderlich sind. 

Ich habe den folgenden Fehler erhalten:

Java.sql.SQLException: Listener hat die Verbindung mit dem folgenden Fehler abgelehnt: ORA-12505, TNS: Der Listener kennt derzeit keine SID, die in der Verbindungsbeschreibung angegeben ist

Bei der Fehlerbehebung habe ich die Option tns in sqldeveloper geändert. Ich habe die Grundoption ausgewählt, um herauszufinden, was schiefgegangen ist. Ich habe festgestellt, dass ich aufgrund des korrekten Dienstnamens eine Verbindung herstellen kann und keine Verbindung zur Datenbank über SID herstellen kann Name sogar durch sqldeveloper. 

Ich habe einige Db-Abfragen verwendet, um den SID-Namen herauszufinden, aber ich bekomme immer noch den gleichen Fehler. Bitte helfen Sie mir bei der Fehlerbehebung. 

Vielen Dank für Ihre Zeit..

6
user1751356

ORA-12505 bedeutet, dass Ihr Client eine SID übergeben hat, die der Listener auf der Serverseite Überhaupt nicht erkannt hat.

In 10G und höher können Sie EZ connect verwenden, ohne die serverseitige Wie folgt zu konfigurieren:

sqlplus [email protected]:1521/DEMO

hr is the user name
liverpool is the server name
1521 is the port the listener for the DB is listening on
DEMO is the database SID

(ODER)

Wenn Sie weiterhin tnsnames.ora verwenden möchten, führen Sie tnsping SID auf Ihrem Client aus.

Unter LINUX können Sie auch eine Datei tnsnames.ora von einem lokalen Pfad Aus lesen. Setzen Sie TNS_ADMIN nur auf das Verzeichnis, in dem sich die Datei tnsnames.ora befindet.

Andernfalls müssen Sie tnsnames.ora auf dem Client in $ Oracle_HOME/network/admin Konfigurieren 


Wenn Sie die Datenbank-SID kennen müssen, verwenden Sie Folgendes:

wählen Sie sys_context ('userenv', 'db_name') aus dual aus.

Diese URL anzeigen:

Oracle-Sid und Datenbanknamen überprüfen

11
A B

Ich stehe auch vor diesem Problem. Linux mit Oracle 11.2.0.1.

Was ich gefunden habe war, dass die Verbindungszeichenfolge sein muss:

sqlplus [email protected]:1521:DEMO

und nicht 

sqlplus [email protected]:1521/DEMO
0