SQL Veritabanı İzleme Scriptleri Nasıl Yazılır

NocturneX

Astsubay Başçavuş
Admin
Katılım
23 Kasım 2025
Mesajlar
984
Reaksiyon puanı
56
SQL veritabanı izleme scriptleri, sistem yöneticileri ve veritabanı geliştiricileri için kritik bir araçtır. Veritabanı sisteminin performansını, sağlığını ve güvenliğini sürekli kontrol altında tutmak için bu scriptlerin yazılması şart. Öyleyse, veri tabanının kalp atışlarını dinlemek için nasıl scriptler yazabileceğinizi keşfetmeye başlayalım. Her şeyden önce, bir izleme scripti yazmak için temel SQL komutlarına hâkim olmanız gerekiyor. SELECT, FROM, WHERE gibi temel komutları kullanarak, veritabanınızdaki önemli bilgileri çekebilir ve bu bilgileri analiz edebilirsiniz. Örneğin, bir sorgu ile aktif bağlantıların sayısını belirlemek için şu şekilde bir komut yazabilirsiniz:

```sql
SELECT COUNT(*) FROM pg_stat_activity WHERE state = 'active';
```
Bu komut, PostgreSQL veritabanında aktif olan bağlantıların sayısını döndürür. İhtiyacınıza göre bu komutu özelleştirebilir ve daha fazla detay almak için WHERE koşullarını genişletebilirsiniz...

Veritabanı performansını izlemek için bir başka önemli metrik de sorgu süreleridir. Sorguların ne kadar sürdüğünü takip etmek, en yavaş çalışan sorguları tespit etmenizi sağlar. Bu noktada, `pg_stat_statements` gibi bir sistem görünümü kullanarak SQL sorgularının ne kadar süreyle çalıştığını görebilirsiniz. Aşağıdaki gibi bir sorgu ile en yavaş 5 sorguyu bulabilirsiniz:

```sql
SELECT query, total_time FROM pg_stat_statements ORDER BY total_time DESC LIMIT 5;
```
Bu komut, en çok zaman alan beş sorguyu listeler ve size hangi sorguların optimizasyon gerektirdiğini gösterir. Unutmayın ki, sorgu sürelerinin izlenmesi, uygulamanızın genel kullanıcı deneyimini doğrudan etkiler...

Veritabanı hatalarını izlemek de oldukça önemlidir. Hatalar, sistemin kararlılığını tehdit edebilir. İşte bu noktada, hata günlüklerini analiz etmek için bir script yazmak, sorunun kök nedenini bulmanıza yardımcı olur. Örneğin, SQL Server’da son 24 saatte meydana gelen hataları şu şekilde sorgulayabilirsiniz:

```sql
SELECT * FROM sys.dm_exec_requests WHERE start_time >= DATEADD(DAY, -1, GETDATE()) AND error_number IS NOT NULL;
```
Bu sorgu, son bir gün içinde meydana gelen tüm hataları listeler. Hataların kaynağını bulmak için bu verileri incelemek, bir sonraki adımda ne yapmanız gerektiğini anlamanıza yardımcı olur...

Bir diğer izleme alanı da disk kullanımıdır. Disk alanının ne kadarının kullanıldığını bilmek, olası sorunların önüne geçmenizi sağlar. Aşağıdaki sorgu ile veritabanınızdaki disk alanı kullanımını kontrol edebilirsiniz:

```sql
SELECT pg_size_pretty(pg_database_size(current_database())) AS size;
```
Bu komut, mevcut veritabanınızın ne kadar yer kapladığını gösterir. Alanın dolması, performans düşüklüğüne sebep olabilir. Eğer bu değer kritik seviyelere ulaşıyorsa, yeni bir önlem almakta fayda var...

Son olarak, scriptlerinizi otomatikleştirmek ve düzenli raporlar almak, izleme sürecinin vazgeçilmez bir parçasıdır. Cron job veya Windows Task Scheduler gibi araçlar kullanarak, belirli aralıklarla bu scriptlerinizi çalıştırabilirsiniz. Örneğin, her gün saat 02:00’de veritabanı performansını izleyen bir script çalıştırmak, size güncel raporlar sunar...

Bu teknik detayları uygulamak, SQL veritabanınızın sağlığını korumanıza ve performansını artırmanıza yardımcı olacaktır. Unutmayın, veritabanınızı izlemek, sadece sorunları ortadan kaldırmakla kalmaz, aynı zamanda performansını en üst düzeye çıkarmanıza da olanak tanır. Her zaman güncel ve sağlıklı bir veritabanı için bu adımları ihmal etmeyin!
 
Geri
Üst Alt