Vi har en applikasjon som kjører lokalt der vi opplever følgende feil:
ORA-12514: TNS:lytteren kjenner for øyeblikket ikke til den forespurte tjenesten in connect descriptor
Jeg har testet tilkoblingen ved hjelp av TNSPing
som løste riktig og
Jeg prøvde SQLPlus
for å prøve å koble til, noe som mislyktes med samme feil som ovenfor. Jeg brukte denne syntaksen for SQLPlus
:
sqlplus username/password@addressname[or host name]
Vi har bekreftet det:
Vi kjenner ikke til noen endringer som ble gjort i dette miljøet. Noe annet vi kan teste?
Jeg hadde dette problemet, og løsningen var å sørge for at SERVICE_NAME
i tnsnames.ora
er et gyldig tjenestenavn i databasen din. For å finne ut gyldige tjenestenavn kan du bruke følgende spørring i oracle:
select value from v$parameter where name='service_names'
Når jeg oppdaterte tnsnames.ora
til:
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = *<validhost>*)(PORT = *<validport>*))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = *<servicenamefromDB>*)
)
)
så løp jeg:
sqlplus user@TEST
Suksess! Lytteren forteller deg i utgangspunktet at det tjenestenavnet du bruker, ikke er en gyldig tjeneste i henhold til databasen.
( Jeg kjørte sqlplus fra Win7-klientarbeidsstasjon til ekstern DB og klandrer DBA-ene;) )
Denne feilen kan oppstå når en applikasjon oppretter en ny tilkobling for hver databaseinteraksjon eller tilkoblingene ikke lukkes ordentlig. Et av gratisverktøyene for å overvåke og bekrefte dette er Oracle Sql developer (selv om dette ikke er det eneste verktøyet du kan bruke til å overvåke DB-økter).
Du kan laste ned verktøyet fra oracle-nettstedet Sql Developer.
her er et skjermbilde av hvordan du overvåker øktene dine. (hvis du ser mange økter som hoper seg opp for applikasjonsbrukeren din når du ser ORA-12514-feilen, er det en god indikasjon på at du kan ha problemer med tilkoblingspoolen).
skriv inn bildebeskrivelse her]2