Diyelim ki bir Oracle veritabanım var. Kullanıcı adı = x, şifre = y, veritabanı = z. Ayrıca port = a, SID = b, Hostname = c olduğunu biliyorum.
Peki doğru şekilde nasıl bağlanmam gerekiyor? Gibi birçok seçenek kullandım:
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)))
Bu komut satırlarını göndermek genellikle bana aşağıdaki gibi hata mesajları verir:
ORA-12560: TNS:protokol bağdaştırıcısı hatası
ORA-12514: TNS:listener şu anda hizmetten haberdar değil
Şimdiden çok teşekkürler!!!
denedin mi
sqlplus username/password@host:port/service
sqlplus x/y@c:a/b
sqlplus'ın modern sürümleri (sürüm 11 veya daha yeni) bu sözdizimini anlar ve bir tnsnames.ora dosyasına ihtiyacınız yoktur.
En basit olanı, veritabanına bağlanmak için tnsnames.ora dosyasını kullanmaktır. Bunun için dosyayı düzenleyin ve yeni bir girdi ekleyin: Bu dosya normalde $ORACLE HOME\NETWORK\ADMIN dizininde bulunur.
myDb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = c)(Port =a))
)
(CONNECT_DATA =
(SERVICE_NAME =b)
)
)
ve sonra db'ye bağlanabilirsiniz:
sqlplus x/y@myDb
Belki de veritabanınız açık değildir. Makine yeniden başlatıldıysa ve örnek otomatik başlatmaya ayarlanmadıysa (ve manuel olarak başlatılmadıysa), hizmeti kendiniz başlatmanız gerekebilir.
Hizmetler ekranına erişiminiz varsa, bunu oradan yapabilirsiniz; veya komut satırından yapabilirsiniz.
Komut istemine gidin ve aşağıdaki komutları girin:
set oracle_sid=ORCL
net start oracleserviceORCL
İlki Oracle SID'sini ayarlar; ikincisi ise hizmeti gerçekten başlatır.