Database cylinder with a stethoscope and a checklist

Veritabanı Sağlık Kontrolü Nedir? SQL Server, Oracle ve PostgreSQL İçin Health Check Rehberi

Veritabanı sağlık kontrolü neleri kapsamalı, ne sıklıkla yapılmalı ve iyi bir rapor nasıl olmalı? SQL Server, Oracle ve PostgreSQL için sekiz alanlık kontrol çerçevesi ve platforma özgü kontroller.

Kasım 3, 2026

Veritabanı sağlık kontrolü (database health check), bir veritabanı ortamının yapılandırmasını, yedekleme ve kurtarma hazırlığını, güvenliğini, performansını ve yüksek erişilebilirlik durumunu sistematik olarak inceleyen ve bulguları risk sırasına koyan bir değerlendirmedir. Amaç, sorunları bir kesinti veya veri kaybına dönüşmeden önce görmek ve hangi iyileştirmenin önce yapılacağını netleştirmektir.

Bu rehber; SQL Server, Oracle veya PostgreSQL kullanan kurumların BT yöneticileri ve veritabanı ekipleri için hazırlandı. Sağlık kontrolünün neleri kapsaması gerektiğini, platformlara göre nelerin değiştiğini, ne sıklıkla yapılması gerektiğini ve iyi bir raporun nasıl görünmesi gerektiğini özetliyoruz.

Veritabanı Sağlık Kontrolü

Veritabanlarınızın gerçek durumunu birlikte görelim

Aryasoft'un kıdemli uzmanları SQL Server, Oracle ve PostgreSQL ortamlarınızı yapılandırma, yedekleme, güvenlik, performans ve yüksek erişilebilirlik açısından inceler; bulguları öncelik sırasıyla raporlar.

Sağlık Kontrolü Talep Et

Kısaca: Veritabanı Sağlık Kontrolü

Soru Kısa yanıt
Ne zaman yapılır? Yılda en az bir kez; ayrıca büyük bir sürüm yükseltmesi, taşıma veya kesintiden sonra ve DBA değişikliğinde.
Neleri kapsar? Yedekleme ve kurtarma, yapılandırma, güvenlik, performans, yüksek erişilebilirlik, kapasite, bakım ve sürüm durumu.
Sistemi etkiler mi? Doğru yapıldığında hayır. Kontroller salt okunur sorgularla, iş yükünü etkilemeden yapılır.
Ne kadar sürer? Ortamın büyüklüğüne göre birkaç gün; veri toplama genellikle birkaç saattir, asıl süre analiz ve raporlamadır.
Sonunda ne alırsınız? Her bulgunun riskini, kanıtını ve önerilen çözümünü içeren, öncelik sırasına konmuş bir rapor.

Sağlık Kontrolü Neden Gereklidir?

Veritabanı sorunlarının büyük kısmı bir anda ortaya çıkmaz; aylarca sessizce birikir. Dolmaya yaklaşan bir disk, hiç test edilmemiş bir yedek, artık izlenmeyen bir replikasyon ya da ay sonu yükünde kilitlenen bir rapor, ancak bir kesinti yaşandığında fark edilir.

Sahada en sık karşılaştığımız kök nedenler şunlardır:

  • Üçüncü taraf uygulamaların verimsiz sorguları
  • Bağlantı havuzu yönetiminin olmaması: açılan bağlantıların kapatılmaması ve boşta beklemesi
  • Hatalı işlem (transaction) yönetiminin yol açtığı deadlock’lar
  • Yedekleme politikasının olmaması; buna bağlı olarak log dosyalarının dolması veya replikasyonun durması
  • Replikasyon ve Always On performansının izlenmemesi
  • En iyi uygulamalara uymayan disk yapılandırmaları; yoğun saatlerde dolan diskler ve hatalı otomatik büyüme ayarları
  • Eksik indeks bakımı ve tutarlılık kontrolü; bu yüzden veri bozulmasının çok geç fark edilmesi

Bu sorunların hiçbiri tek başına karmaşık değildir. Tehlikeli olan, kimsenin bakmadığı yerde birikmeleridir. Sağlık kontrolü, bu birikimi düzenli aralıklarla görünür kılar.

Sağlık Kontrolü Neleri Kapsamalı?

Platform ne olursa olsun, kapsamlı bir sağlık kontrolü aşağıdaki sekiz alanı incelemelidir:

Alan Ne kontrol edilir? Bulunmazsa ne olur?
1. Yedekleme ve kurtarma Son başarılı yedekler, log yedeklerinin sürekliliği, yedeklerin sunucu dışında tutulması, geri yükleme testleri, RPO/RTO uyumu Bir arızada veri geri getirilemez veya hedeflenenden çok daha geç getirilir.
2. Veri bütünlüğü Tutarlılık kontrollerinin (SQL Server’da DBCC CHECKDB) düzenli çalışması, sayfa doğrulama ayarları Veri bozulması aylar sonra, yedekler de bozuk hale geldikten sonra fark edilir.
3. Yapılandırma Bellek, paralellik, dosya yerleşimi, otomatik büyüme, tempdb ve işletim sistemi ayarları Donanım kapasitesinin tamamı kullanılamaz; beklenmedik yavaşlamalar yaşanır.
4. Güvenlik Yüksek yetkili hesaplar, kullanılmayan hesaplar, parola politikası, şifreleme, denetim (audit) kayıtları, yamalar Tek bir sızdırılmış hesap tüm veriyi açığa çıkarabilir; denetimde bulgu çıkar.
5. Performans En pahalı sorgular, bekleme istatistikleri, eksik ve kullanılmayan indeksler, blocking ve deadlock’lar Kullanıcılar yavaşlığı fark ettiğinde sorun zaten iş kaybına dönüşmüştür.
6. Yüksek erişilebilirlik Replikasyon gecikmesi, failover hazırlığı, senkronizasyon durumu, son failover testi Kâğıt üzerinde var olan yedek sunucu, ihtiyaç anında devreye girmez.
7. Kapasite Disk doluluğu ve büyüme hızı, log büyümesi, CPU ve bellek eğilimleri Disk bir gece yarısı dolar ve sistem durur.
8. Sürüm ve destek durumu Ana sürüm, güncel yama seviyesi, destek bitiş tarihleri Bilinen güvenlik açıkları ve hatalar kapatılmaz; denetimde bulgu çıkar.

Platforma Göre Öne Çıkan Kontroller

Sekiz alan her platformda aynıdır; ancak her veritabanının kendine özgü riskleri vardır.

Platform Özellikle bakılması gerekenler
SQL Server Recovery model ile log yedeklerinin uyumu, DBCC CHECKDB geçmişi, max server memory ve MAXDOP ayarları, tempdb dosya yapısı, VLF sayısı, Agent işlerinin hataları, Always On senkronizasyon durumu, sysadmin üyeleri
Oracle RMAN yedekleri ve arşiv log yönetimi, tablespace doluluğu, alert log hataları, geçersiz (invalid) nesneler, yama seviyesi, Data Guard gecikmesi. AWR ve ASH raporlarının ek lisans (Diagnostics Pack) gerektirdiğini unutmayın.
PostgreSQL WAL arşivleme ve PITR hazırlığı, autovacuum davranışı ve tablo şişmesi, işlem numarası yaşı (wraparound), unutulmuş replication slot’lar, bağlantı sayısı ve havuz kullanımı, pg_stat_statements ile en pahalı sorgular

SQL Server için 12 başlıklık ayrıntılı kontrol listesini SQL Server Health Check rehberimizde, PostgreSQL için on temel kuralı PostgreSQL Best Practices yazımızda bulabilirsiniz.

Hızlı Bir Başlangıç: Yedekler Gerçekten Alınıyor mu?

Sağlık kontrolünün ilk sorusu her zaman yedeklemedir. Aşağıdaki sorgu, SQL Server’da her veritabanı için son tam, fark (differential) ve log yedeğinin ne zaman alındığını gösterir. Recovery model’i FULL olduğu halde log yedeği hiç alınmayan veya son yedeği günler önce kalmış veritabanları, raporun ilk satırlarına yazılmalıdır.

SELECT d.name AS database_name,
       d.recovery_model_desc,
       MAX(CASE WHEN b.type = 'D' THEN b.backup_finish_date END) AS last_full,
       MAX(CASE WHEN b.type = 'I' THEN b.backup_finish_date END) AS last_diff,
       MAX(CASE WHEN b.type = 'L' THEN b.backup_finish_date END) AS last_log
FROM sys.databases AS d
LEFT JOIN msdb.dbo.backupset AS b
       ON b.database_name = d.name
WHERE d.name <> 'tempdb'
GROUP BY d.name, d.recovery_model_desc
ORDER BY last_full;

PostgreSQL’de aynı soru WAL arşivlemenin çalışıp çalışmadığıyla başlar. Başarısız arşivleme, belirli bir ana geri dönüş imkânını sessizce ortadan kaldırır:

SELECT archived_count, last_archived_time,
       failed_count, last_failed_time
FROM pg_stat_archiver;

Uyarı

Yedek tablosunda kayıt görmek, yedeğin geri yüklenebildiği anlamına gelmez. Sağlık kontrolünün bir parçası olarak en kritik veritabanını ayrı bir sunucuya geri yükleyin ve süresini ölçün. Geri yüklenemeyen bir yedek, en pahalı sağlık kontrolü bulgusudur.

İyi Bir Sağlık Kontrolü Raporu Nasıl Olmalı?

Sağlık kontrolünün değeri raporun kalitesiyle ölçülür. Yüzlerce sayfalık bir ham veri dökümü, kimsenin okumadığı bir dosya olarak kalır. İyi bir rapor şu özellikleri taşır:

Özellik Neden önemli?
Yönetici özeti Karar verecek kişi, ilk sayfada en büyük üç riski ve gereken aksiyonu görmelidir.
Risk seviyesi Her bulgu kritik, yüksek, orta veya düşük olarak sınıflandırılmalıdır.
Kanıt Her bulgunun dayandığı sorgu sonucu veya ayar değeri raporda yer almalıdır.
Somut öneri “İndeksleri gözden geçirin” değil; hangi ayarın hangi değere çekileceği veya hangi işin ekleneceği.
Kesinti gerektirip gerektirmediği Hangi düzeltmenin canlı sistemde, hangisinin bakım çalışmasında yapılacağı.
Tarih ve kapsam Hangi sunucuların hangi tarihte incelendiği; sonraki kontrolle karşılaştırma yapılabilmesi için.

Sağlık Kontrolü Ne Sıklıkla Yapılmalı?

Durum Önerilen sıklık
Kritik üretim sistemleri Yılda en az iki kez, ayrıca sürekli izleme
Diğer sistemler Yılda bir kez
Sürüm yükseltmesi veya taşıma Öncesinde (hazırlık) ve sonrasında (doğrulama)
Ciddi bir kesinti sonrası Kök neden analiziyle birlikte
DBA veya hizmet sağlayıcı değişikliği Devir teslimin bir parçası olarak
Fidye yazılımı veya güvenlik olayı sonrası Hemen; özellikle yedek ve yetki kontrolleri

Sağlık kontrolü, sürekli izlemenin yerini tutmaz. İzleme, bugün olan sorunu gösterir; sağlık kontrolü ise sistemin yapısal risklerini ortaya koyar. İkisi birbirini tamamlar. Hangi metriklerin sürekli izlenmesi gerektiğini SQL Server izleme kontrol listemizde anlattık.

Kendiniz mi Yapmalısınız, Uzmana mı Yaptırmalısınız?

Temel kontrolleri, örneğin yedeklerin alınıp alınmadığını, disk doluluğunu ve hata loglarını, kurum içi ekibiniz düzenli olarak yapabilir ve yapmalıdır. Bağımsız bir uzman değerlendirmesi ise şu durumlarda fark yaratır:

  • Ekip, kendi kurduğu sistemdeki hataları görmekte zorlanıyorsa; dışarıdan bir göz, alışkanlıkla kabul edilmiş riskleri fark eder.
  • Ortamda birden fazla veritabanı platformu varsa ve her biri için ayrı uzmanlık gerekiyorsa.
  • Sonuçlar bir denetim, yatırım kararı veya hizmet sağlayıcı seçimi için kullanılacaksa.
  • Veritabanı yöneticisi ayrılmış ve sistemin gerçek durumunu bilen kimse kalmamışsa.

Not

Sağlık kontrolü yapacak araç veya hizmet sağlayıcıya şu soruyu mutlaka sorun: “Sistemimizde hangi sorguları çalıştıracaksınız ve bunları önceden görebilir miyiz?” Güvenilir bir sağlık kontrolü salt okunur çalışır, sistemde değişiklik yapmaz ve çalıştırdığı her sorguyu şeffaf biçimde gösterir.

Aryasoft Sağlık Kontrolünü Nasıl Yapıyor?

Aryasoft, SQL Server sağlık kontrollerinde kendi geliştirdiği HELT360 aracını kullanır. GarajX TEKMER bünyesinde Ar-Ge projesi olarak geliştirilen HELT360, salt okunur çalışır, yalnızca yapılandırma kontrolleri yapar ve sisteme yük bindirmez. Çalıştırdığı tüm script’ler panelinde görüntülenebilir; talep edilirse tüm trafiği metin dosyalarına kaydedilir. Bulgular zaman damgasıyla raporlanır.

Oracle ve PostgreSQL ortamlarında ise aynı sekiz alanı kıdemli uzmanlarımız platforma özgü kontrollerle inceler. Sonuçta, yönetici özeti ve öncelik sırasıyla birlikte, kesinti gerektirmeyen düzeltmelerden başlayan bir iyileştirme planı teslim edilir. Ortamınızın düzenli takibini istiyorsanız, sağlık kontrolü yönetilen veritabanı hizmetlerimizin de başlangıç adımıdır.

Sıkça Sorulan Sorular

Doğru yapıldığında hayır. Kontroller sistem görünümlerinden okuma yapan hafif sorgularla yapılır ve veri tablolarına yük bindirmez. Yine de ilk veri toplamayı yoğun olmayan saatlerde yapmak iyi bir uygulamadır.
Gerekmez. Sağlık kontrolü yapılandırma, istatistik ve sistem kataloglarını inceler; iş verilerinin içeriğini okumaz. Bu ayrımı hizmet sağlayıcınızla yazılı olarak netleştirin.
Hayır. Sağlık kontrolü sorunları tespit eder ve önceliklendirir; performans iyileştirme ise belirli bir sorunu çözmeye odaklanan uygulamalı bir çalışmadır. Genellikle sağlık kontrolü, hangi iyileştirmenin önce yapılacağını belirler.
Evet. Azure SQL veya Amazon RDS gibi servislerde donanım ve yedeklemenin bir kısmını sağlayıcı yönetir; ancak sorgu performansı, indeksler, yetkiler, maliyet ve yapılandırma kararları sizin sorumluluğunuzdadır.

Kaynaklar

Bu rehberdeki teknik bilgiler Kasım 2026’da aşağıdaki resmi dokümantasyonla karşılaştırıldı.

  1. Microsoft Learn: backupset (Transact-SQL)
  2. Microsoft Learn: DBCC CHECKDB
  3. PostgreSQL dokümantasyonu: The Cumulative Statistics System (pg_stat_archiver)
  4. PostgreSQL dokümantasyonu: Routine Vacuuming
  5. Oracle Database Licensing Information (Diagnostics Pack)

Veritabanı Sağlık Kontrolü

Sorunları kesintiye dönüşmeden görün

Aryasoft’un kıdemli uzmanları SQL Server, Oracle ve PostgreSQL ortamlarınızı inceler ve bulguları kanıtları ve önerileriyle, öncelik sırasıyla raporlar.

4.7/5