Borderline ServerFault Frage, aber ich dachte, ich würde hier zuerst versuchen, da ich in der Vergangenheit mit Oracle-Fragen Glück hatte.Was ist ein TNS: Listener im Kontext von Oracle?
Ich versuche, eine Verbindung zu einer Oracle-Datenbank von PHP herzustellen, und ich bekomme den folgenden Fehler.
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
Dies ist der Fehler, den PHP meldet, und der Fehler, der in Oracles Listener.log angezeigt wird.
Mein direktes Problem ist die Behebung dieses Fehlers. Die größere Frage, die ich beantworten möchte, ist, wie Oracle Verbindungsmodell funktioniert?
Dies ist in einer Entwicklungsumgebung, die auf meinem lokalen Windows-Rechner läuft und hat bis jetzt gearbeitet. Leider wurde mir die Umgebung übergeben (ich habe es nicht eingerichtet) und die Leute, die eingerichtet haben, sind nicht verfügbar, um mir beim Debuggen zu helfen.
Wenn ich einen ähnlichen Fehler mit MySQL oder PostgreSQL (zwei Systeme, mit denen ich vertraut bin) bekomme, würde ich überprüfen, dass ein Datenbankprozess ausgeführt wurde, und dann versuchen, manuell mit der Datenbank zu verbinden Benutzername/Passwort/Verbindungszeichenfolge. Leider sind mir die Oracle-Tools unter Windows (außer SQL Developer) nicht vertraut und ich weiß nicht, was ein TNS: Listener oder SID im Kontext von Oracle ist (ich habe vage Ideen, aber vage Ideen helfen selten wenn Sie debuggen etwas wie das)
Jeder allgemeine Hinweis wäre willkommen.
Updates pro Kommentare:
eine Reihe von entires in meiner Datei tnsnames.ora Es ist der entsprechende Eintrag
seinOBS2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = steel-ae39650)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = OBS2)
)
)
Dies ist nicht in der Liste der Instanzen reflektiert wird, wenn ich
laufenAlso ich denke meine nächste Frage ist, wie versuche ich, die OBS2-Instanz manuell zu starten?
Ein TNS-Eintrag ist Teil der Verbindungszeichenfolge zu Oracle. –