Bağlantı dizesini kullanarak sql plus komut satırından bağlanın


41

Diyelim ki bir Oracle veritabanım var. Bir kullanıcı adı var = x, şifre = y, veritabanı = z. Ayrıca port = a, SID = b, Ana bilgisayar adı = c olduğunu da biliyorum.

Peki doğru şekilde nasıl bağlanmam gerekir? 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 şöyle hata mesajları verir:

ORA-12560: TNS: protokol bağdaştırıcı hatası
ORA-12514: TNS: dinleyici şu anda servis bilmiyor

Şimdiden çok teşekkürler!!


3
Doğru ana makine / bağlantı noktanız olduğunu varsayarsanız, örnek çalışmıyorsa veya dinleyiciye kaydedilmemiş gibi geliyor.
Colin 't Hart

1
ezconnect'i kullanarak:sqlplus x/y@c:a/b
Dieter DHoker, 14:14

1
kayıt için, ikinci örneğiniz (en azından) alıntılarla çevreliysem benim için çalışıyor. x @ "gibi (AÇIKLAMA = (ADRES = (PROTOKOL = TCP)) (HOST = c) (PORT = a)) (CONNECT_DATA = (SID = b)))"
rogerdpack

Aç -> penceresindeki hizmetler Başlat-> oracleservicexe Bu benim için çalışıyor.
Prakash

Yanıtlar:


74

denedin mi

sqlplus username/password@host:port/service
sqlplus x/y@c:a/b

sqlplus'ın modern versiyonları (versiyon 11 veya daha yeni) bu sözdizimini anlar ve bir tnsnames.ora dosyasına ihtiyacınız yoktur.


2
Mükemmel çalışıyor
Gajotres

4
hangi versiyon? Benim için CentOS
ERROR'da çalışmıyor

Varsayılan Bağlantı Noktası Numarası: 1521
Ivan Chau

4
Hizmet yerine SID'im var, bu yüzden "/" yerine ":" kullanarak benim için çalıştı sqlplus kullanıcı adı / password @ host: port: sid
Pratik Goenka

1
Birlikte verilen sqlplus sözdizimini v11.2.0.1.0desteklemiyor host:port. 11.2.0.4.0Zaten destekler gibi görünüyor ...
gavenkoa

12

En basit veri tabanına bağlanmak için tnsnames.ora dosyasını kullanmaktır. Bunun için düzenleyin ve yeni bir giriş 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


Komut satırında bir parola bulundurmamak için buradaki açıklamalara verilen bağlantıları inceleyin: serverfault.com/a/87038/27813
rogerdpack

7

Orijinal afişe ... ilk seçenek olarak kapanış parantezini kaçırdınız

Yanlış: (Dizeniz)

sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'

Doğru:

sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED))))'

2

Sqlplus hattınız doğru görünüyor, aşağıdakileri doğrulayın:

  1. Veritabanı sunucusunda kendi sysdba olarak bağlanabilirsiniz.
  2. Veri tabanı sunucusunda, denediğiniz kullanıcı olarak bağlanabilirsiniz.
  3. Veritabanı sunucusuna bağlanmaya çalıştığınız bilgisayardan ping işlemi yapabilirsiniz.
  4. Dinleyiciyi, bağlanmaya çalıştığınız bilgisayardan tnsping yapabilirsiniz.

Tüm bunlar kontrol edilirse yazım hatası olmadığından emin olmak için yeni bir bağlantı hattı oluşturmak isteyebilirsiniz.


1

Belki de veritabanınız çalışmıyor. Makine yeniden başlatıldıysa ve örnek otomatik başlatmaya ayarlanmadıysa (ve el ile başlatılmadıysa), hizmeti kendiniz başlatmanız gerekebilir.

Hizmetler ekranına erişiminiz varsa, oradan yapabilirsiniz; veya komut satırından yapabilirsiniz.

Komut istemine gidin ve aşağıdaki komutları girin:

set oracle_sid=ORCL

net start oracleserviceORCL

İlk olarak Oracle SID'yi ayarlar; ikincisi aslında hizmeti başlatır.


0

sqlplus yardımından ayıkla:

Net Servis Adı veya Kolay Bağlantı şeklinde olabilir.

  @[<net_service_name> | [//]Host[:Port]/<service_name>]

-2

Uzak masaüstü bağlantısı yapmanın ve Komut İstemi'ni açmanın kolay olduğunu buldum ve bağlanın:

sqlplus sys/YourPassword as sysdba


-3

Veritabanlarınızın servislerini başlatmalısınız. Bunun için Başlat menüsüne gidin -> Çalıştır ve başlat services.mscSonra veritabanı servislerini arayın ve başlatın. Bundan sonra çalışmaya başlayacaktır.


-4

Bu benim için Oracle 11G'de çalışıyor

sqlplus orcl_usr/orcl_usr_pass@host/sid
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.