dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Hata Teşhis Kütüphanesi/oracle-ora-01017-invalid-username-password-logon-denied
Oracle
Oracle 19c - 23aiKimlik & Güvenlik
3 dk okuma
ORA-01017: invalid username/password; logon denied

Oracle Giriş Reddi: Büyük/Küçük Harf Şifre Duyarlılığı, FAILED_LOGIN_ATTEMPTS ile Hesap Kilitlenmesi ve Kilit Açma

SEC_CASE_SENSITIVE_LOGON ayarı, hatalı şifre denemeleriyle kilitlenen kullanıcılar (ACCOUNT LOCKED); dba_users sorgusu ve ALTER USER ACCOUNT UNLOCK adımları.

İ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 YetkiALTER USER ve SELECT on dba_users
Risk Seviyesi
LowHesap kilitlendiğinde ilgili servisin tüm istekleri kesilir
Beklenen Çıktıdba_users.account_status değerinin OPEN olması
Geri Dönüş (Rollback) Planı:ALTER USER username ACCOUNT UNLOCK;
Oracle Docs: Managing User Authentication & Lockouts
İ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

Uygulama bağlanırken kimlik doğrulaması reddedilir:

plaintext
ORA-01017: invalid username/password; logon denied ORA-28000: the account is locked

▸Sahada Ne Görürsün?

Şifre doğru bilinmektedir ancak bağlantı kurulamaz. Arka arkaya denemeler yapıldığında hesap LOCKED durumuna düşer.


▸Kök Neden Matrisi

OlasılıkKök NedenAçıklama
%50Büyük/Küçük Harf Şifre Duyarlılığı (`SEC_CASE_SENSITIVE_LOGON`)Oracle 11g+ şifrelerde büyük/küçük harf duyarlıdır. İstemci küçük harfle bağlanırken şifre büyük harf içerir.
%35FAILED_LOGIN_ATTEMPTS ile Hesap KilitlenmesiBir servis yanlış şifreyle 10 kez denemiş ve hesabı kilitlemiştir.
%15Şifre Süresinin Dolması (`EXPIRED`)Kullanıcı profiline bağlı şifre geçerlilik süresi (PASSWORD_LIFE_TIME) dolmuştur.

▸ACİL RUNBOOK (0-5dk)

sql
-- 1. Kullanıcının hesap durumunu ve kilitlenme tarihini gör SELECT username, account_status, lock_date, expiry_date FROM dba_users WHERE username = 'APP_USER'; -- 2. Hesabın kilidini aç ve yeni şifre belirle ALTER USER app_user ACCOUNT UNLOCK; ALTER USER app_user IDENTIFIED BY "GucluSifre2026!"; -- 3. Hangi profilin kullanıldığını gör SELECT username, profile FROM dba_users WHERE username = 'APP_USER';

▸KALICI BLUEPRINT

  1. 1Servis Kullanıcıları İçin Özel Profil: Uygulama servis hesaplarının şifre süresinin dolmaması için sınırsız profil tanımlanmalıdır:
sql
CREATE PROFILE app_service_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED FAILED_LOGIN_ATTEMPTS 20 PASSWORD_LOCK_TIME 1; ALTER USER app_user PROFILE app_service_profile;
  1. 1Kasa / Secret Manager Entegrasyonu: Şifreler kod içine yazılmamalı, HashiCorp Vault veya AWS Secrets Manager ile otomatik döndürülmelidir.

▸Doğrulama

sql
SELECT username, account_status FROM dba_users WHERE username = 'APP_USER'; -- Çıktı: OPEN olmalıdır

Diğer Veritabanı Hata Teşhisleri

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

Tüm Hatalar (82)