Domanda ServerFault borderline, ma ho pensato di provare prima qui da quando ho avuto fortuna con le domande Oracle in passato.Che cos'è un TNS: ascoltatore nel contesto di Oracle?
Sto provando a connettermi a un database Oracle da PHP e ho ricevuto il seguente errore.
ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
Questo è l'errore segnalato da PHP e l'errore visualizzato nel listener.log di Oracle.
Il mio problema immediato è la risoluzione di questo errore. La domanda più ampia a cui vorrei rispondere è come funziona il modello di connessione Oracle?
Questo è in un ambiente di sviluppo in esecuzione sul mio computer Windows locale e ha funzionato fino ad ora. Sfortunatamente, l'ambiente mi è stato consegnato (non l'ho configurato) e le persone che hanno effettuato il non sono disponibili per aiutarmi a eseguirne il debug.
Se dovessi ottenere un errore simile con MySQL o PostgreSQL (due sistemi con cui ho più familiarità), controllerei che fosse in esecuzione un processo di database e quindi tentassi di connetterti manualmente al database utilizzando il nome utente/password/stringa di connessione. Sfortunatamente, non ho familiarità con gli strumenti Oracle su Windows (diversi da SQL Developer) e non so cosa sia un TNS: ascoltatore o SID nel contesto di Oracle (ho idee vaghe, ma idee vaghe raramente aiutano quando stai eseguendo il debug di qualcosa del genere)
Qualsiasi consiglio generale sarebbe apprezzato.
Aggiornamenti per Commenti:
C'è un certo numero di interi nel mio file tnsnames.ora, la voce corrispondente essendo
OBS2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = steel-ae39650)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = OBS2)
)
)
Questo non si riflette nella lista dei casi in cui corro
LSNRCTL> services
Quindi penso che la mia prossima domanda sia, come posso provare ad avviare manualmente l'istanza OBS2?
Una voce TNS fa parte della stringa di connessione a Oracle. –