La oss si at jeg har en Oracle-database. Jeg har et brukernavn = x, passord = y, database = z. Jeg vet også porten = a, SID = b, vertsnavn = c.
Så hvordan trenger jeg å koble til riktig? Jeg brukte mange alternativer som:
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'
sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b)))
Å sende inn disse kommandolinjene gir meg vanligvis feilmeldinger som:
ORA-12560: TNS:protocol adapter error
ORA-12514: TNS:listener kjenner for øyeblikket ikke til tjenesten
Mange takk på forhånd!!!
har du prøvd
sqlplus username/password@host:port/service
sqlplus x/y@c:a/b
moderne versjoner av sqlplus (versjon 11 eller nyere) forstår denne syntaksen, og du trenger ikke en tnsnames.ora-fil.
Det enkleste er å bruke filen tnsnames.ora for å koble til databasen. Rediger den og legg til en ny oppføring: Denne filen ligger normalt i katalogen $ORACLE HOME\NETWORK\ADMIN.
myDb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = c)(Port =a))
)
(CONNECT_DATA =
(SERVICE_NAME =b)
)
)
og deretter kan du koble til db:
sqlplus x/y@myDb
Kanskje databasen din ikke er oppe. Hvis maskinen ble startet på nytt og instansen ikke er satt til autostart (og den ikke ble startet manuelt), må du kanskje starte tjenesten selv.
Hvis du har tilgang til skjermbildet Tjenester, kan du gjøre det derfra, eller du kan gjøre det fra kommandolinjen.
Gå til Ledetekst og skriv inn følgende kommandoer:
set oracle_sid=ORCL
net start oracleserviceORCL
Den første angir Oracle SID; den andre starter faktisk tjenesten.