dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Hata Teşhis Kütüphanesi/oracle-ora-12541-12514-tns-no-listener-unknown-service
Oracle
Oracle 19c - 23aiListener & Servis
5 dk okuma
ORA-12541: TNS:no listener / ORA-12514: TNS:listener does not currently know of service requested

Oracle Dinleyici Çalışmıyor veya Servis Bilinmiyor: lsnrctl Kontrolü, PMON Dinamik Kayıt ve Statik Servis Tanımı

1521 portunda dinleyicinin kapalı olması (12541) veya veri tabanı servisinin henüz dinleyiciye bildirilmemiş olması (12514); ALTER SYSTEM REGISTER ve listener.ora çözümleri.

İnceleyen:Kıdemli Veritabanı Mimarı & SRE (dataiotech Labs)
Test Edilen Sürümler: Oracle Database 19c / 21c / 23ai

Operasyonel Doğrulama & Güvenilirlik Standardı

Son Teknik İnceleme: 2 Kasım 2026
Test Edilen SürümlerOracle 19c, 23ai
Gerekli Yetkilsnrctl komutları ve ALTER SYSTEM yetkisi
Risk Seviyesi
HighListener durduğunda hiçbir istemci veritabanına bağlanamaz
Beklenen Çıktılsnrctl status çıktısında hedef servisin READY durumunda listelenmesi
Geri Dönüş (Rollback) Planı:lsnrctl reload
Oracle Docs: Managing the Oracle Net Listener
İlk 60 Saniye Teşhis Protokolü:

Hata mesajı semptomdur, kök neden değildir. Sunucuyu yeniden başlatmadan veya rastgele ayar değiştirmeden önce aşağıdaki "Nedeni ayırt eden tek sorgu"yu çalıştırarak gerçek senaryoyu netleştirin.

▸Belirti

İstemci Oracle'a bağlanırken iki yaygın dinleyici hatasından birini alır:

plaintext
ORA-12541: TNS:no listener ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

▸Sahada Ne Görürsün?

  • •ORA-12541: Port 1521'de dinleyen hiçbir süreç yoktur; bağlantı anında reddedilir.
  • •ORA-12514: Listener açıktır ancak veritabanı instance'ı henüz servisini listener'a bildirmemiştir (dynamic registration gecikmesi).

▸Kök Neden Matrisi

HataOlasılıkKök Neden
ORA-12541%80Listener servisi durmuştur (lsnrctl start gerekir).
ORA-12541%20Firewall port 1521'i engellemektedir.
ORA-12514%70Veritabanı yeni açılmıştır ve PMON/LREG henüz dinamik kaydı yapmamıştır (60sn gecikme).
ORA-12514%30Bağlantı dizesindeki SERVICE_NAME ile veritabanının gerçek servis adı farklıdır.

▸ACİL RUNBOOK (0-5dk)

bash
# 1. Listener durumunu kontrol et ve kapalıysa başlat lsnrctl status lsnrctl start
sql
-- 2. ORA-12514 için: Veritabanına yerel bağlanıp anında dinamik kaydı tetikle sqlplus / as sysdba ALTER SYSTEM REGISTER; -- 3. Veritabanının broadcast ettiği gerçek servis adını gör SHOW PARAMETER service_names; SHOW PARAMETER local_listener;

▸KALICI BLUEPRINT

  1. 1Statik Servis Kaydı (SID_LIST_LISTENER): Dinamik kaydın gecikmesiyle oluşacak ORA-12514 kesintilerini önlemek için listener.ora içinde statik servis tanımı yapılmalıdır:
plaintext
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = PROD_SERVICE) (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1) (SID_NAME = PROD) ) )
  1. 1LOCAL_LISTENER Parametresi: Veritabanının doğru dinleyici portunu hedeflediğinden emin olunmalıdır.

▸Doğrulama

bash
lsnrctl status | grep -i "Service \"PROD_SERVICE\" has 1 instance(s)" # READY durumunda görülmelidir

Diğer Veritabanı Hata Teşhisleri

Kriz anında başvurabileceğiniz diğer doğrulanmış hata rehberleri.

Tüm Hatalar (82)