İçindekiler

    Yazıyı Dinle

    Hazır
    Tarayıcınızın yerleşik ses sentezi özelliğini kullanır.

    Yazı Boyutu

    Küçük Aa
    Normal Aa
    Büyük Aa
    Çok Büyük Aa

    Kaydet

    📑

    Bu makaleyi daha sonra okumak için kaydedin

    Veritabanı Denetimi: Günlük, Haftalık ve Aylık Kontroller

    Yazıyı dinlemek için oynat butonuna tıklayın

    Veritabanı güvenliği ve performansı, herhangi bir kuruluş için kritik öneme sahiptir. Veritabanı aktivitelerini düzenli olarak denetlemek, olası güvenlik risklerini ve performans sorunlarını tespit etmek için oldukça önemlidir. Bu yazıda, SQL ve Shell scriptleri kullanarak veritabanı aktivitelerini nasıl denetleyebileceğinizi adım adım anlatacağız.

    ## SQL Scriptleri ile Denetim

    SQL scriptleri, veritabanınızda gerçekleşen aktiviteleri günlük, haftalık ve aylık olarak gözden geçirmenizi sağlar. Bu scriptleri, belirli kullanıcıları, tabloları veya saklı prosedürleri filtrelemek gibi ihtiyaçlarınıza göre özelleştirebilirsiniz. Ayrıca, bu scriptleri kullanarak ekip üyelerinizle paylaşabileceğiniz raporlar da oluşturabilirsiniz.

    ### Günlük Denetim

    - **Bugün giriş yapan kullanıcıların listesi:**
     ```sql
     SELECT user_name, login_time
     FROM sys.dm_exec_sessions
     WHERE login_time >= CURRENT_DATE - 1
     ORDER BY login_time DESC;
     ```

    - **Bugün değiştirilen tabloların listesi:**
     ```sql
     SELECT table_name, last_update
     FROM information_schema.tables
     WHERE last_update >= CURRENT_DATE - 1
     ORDER BY last_update DESC;
     ```

    - **Bugün çalıştırılan saklı prosedürlerin listesi:**
     ```sql
     SELECT procedure_name, last_execution
     FROM sys.procedures
     WHERE last_execution >= CURRENT_DATE - 1
     ORDER BY last_execution DESC;
     ```

    - **Bugün başarısız olan girişlerin listesi:**
     ```sql
     SELECT login_name, failed_login_attempts
     FROM sys.logins
     WHERE failed_login_attempts > 0
     ORDER BY failed_login_attempts DESC;
     ```

    ### Haftalık Denetim

    - **Bu hafta giriş yapan kullanıcıların listesi:**
     ```sql
     SELECT user_name, login_time
     FROM sys.dm_exec_sessions
     WHERE login_time >= CURRENT_DATE - 7
     ORDER BY login_time DESC;
     ```

    - **Bu hafta değiştirilen tabloların listesi:**
     ```sql
     SELECT table_name, last_update
     FROM information_schema.tables
     WHERE last_update >= CURRENT_DATE - 7
     ORDER BY last_update DESC;
     ```

    - **Bu hafta çalıştırılan saklı prosedürlerin listesi:**
     ```sql
     SELECT procedure_name, last_execution
     FROM sys.procedures
     WHERE last_execution >= CURRENT_DATE - 7
     ORDER BY last_execution DESC;
     ```

    - **Bu hafta başarısız olan girişlerin listesi:**
     ```sql
     SELECT login_name, failed_login_attempts
     FROM sys.logins
     WHERE failed_login_attempts > 0
     ORDER BY failed_login_attempts DESC;
     ```

    ### Aylık Denetim

    - **Bu ay giriş yapan kullanıcıların listesi:**
     ```sql
     SELECT user_name, login_time
     FROM sys.dm_exec_sessions
     WHERE login_time >= CURRENT_DATE - 30
     ORDER BY login_time DESC;
     ```

    - **Bu ay değiştirilen tabloların listesi:**
     ```sql
     SELECT table_name, last_update
     FROM information_schema.tables
     WHERE last_update >= CURRENT_DATE - 30
     ORDER BY last_update DESC;
     ```

    - **Bu ay çalıştırılan saklı prosedürlerin listesi:**
     ```sql
     SELECT procedure_name, last_execution
     FROM sys.procedures
     WHERE last_execution >= CURRENT_DATE - 30
     ORDER BY last_execution DESC;
     ```

    - **Bu ay başarısız olan girişlerin listesi:**
     ```sql
     SELECT login_name, failed_login_attempts
     FROM sys.logins
     WHERE failed_login_attempts > 0
     ORDER BY failed_login_attempts DESC;
     ```

    ## Shell Scriptleri ile Denetim

    SQL scriptlerini kullanmanın yanı sıra, bu scriptleri Linux shell scriptleri ile de çalıştırabilirsiniz. Bu yöntem, scriptleri bir cron job veya başka bir zamanlama mekanizması ile otomatik olarak çalıştırmanıza olanak tanır.

    ### Günlük Denetim Scripti

    ```bash
    # Bugün giriş yapan kullanıcıların listesi
    echo "Bugün giriş yapan kullanıcıların listesi alınıyor..."
    sqlplus -S user/password @daily_audit.sql

    # Bugün değiştirilen tabloların listesi
    echo "Bugün değiştirilen tabloların listesi alınıyor..."
    sqlplus -S user/password @daily_audit_tables.sql

    # Bugün çalıştırılan saklı prosedürlerin listesi
    echo "Bugün çalıştırılan saklı prosedürlerin listesi alınıyor..."
    sqlplus -S user/password @daily_audit_procedures.sql

    # Bugün başarısız olan girişlerin listesi
    echo "Bugün başarısız olan girişlerin listesi alınıyor..."
    sqlplus -S user/password @daily_audit_logins.sql
    ```

    ### Haftalık Denetim Scripti

    ```bash
    # Bu hafta giriş yapan kullanıcıların listesi
    echo "Bu hafta giriş yapan kullanıcıların listesi alınıyor..."
    sqlplus -S user/password @weekly_audit.sql

    # Bu hafta değiştirilen tabloların listesi
    echo "Bu hafta değiştirilen tabloların listesi alınıyor..."
    sqlplus -S user/password @weekly_audit_tables.sql

    # Bu hafta çalıştırılan saklı prosedürlerin listesi
    echo "Bu hafta çalıştırılan saklı prosedürlerin listesi alınıyor..."
    sqlplus -S user/password @weekly_audit_procedures.sql

    # Bu hafta başarısız olan girişlerin listesi
    echo "Bu hafta başarısız olan girişlerin listesi alınıyor..."
    sqlplus -S user/password @weekly_audit_logins.sql
    ```

    ### Aylık Denetim Scripti

    ```bash
    # Bu ay giriş yapan kullanıcıların listesi
    echo "Bu ay giriş yapan kullanıcıların listesi alınıyor..."
    sqlplus -S user/password @monthly_audit.sql

    # Bu ay değiştirilen tabloların listesi
    echo "Bu ay değiştirilen tabloların listesi alınıyor..."
    sqlplus -S user/password @monthly_audit_tables.sql

    # Bu ay çalıştırılan saklı prosedürlerin listesi
    echo "Bu ay çalıştırılan saklı prosedürlerin listesi alınıyor..."
    sqlplus -S user/password @monthly_audit_procedures.sql

    # Bu ay başarısız olan girişlerin listesi
    echo "Bu ay başarısız olan girişlerin listesi alınıyor..."
    sqlplus -S user/password @monthly_audit_logins.sql
    ```

    ## Sonuç

    Veritabanı denetimi, güvenlik ve performans açısından büyük önem taşır. SQL ve Shell scriptleri kullanarak düzenli denetimler yapmak, olası sorunları önceden tespit etmenize ve gerekli önlemleri almanıza yardımcı olacaktır. Bu scriptleri ihtiyaçlarınıza göre özelleştirerek, veritabanınızın güvenliğini ve performansını daha etkin bir şekilde yönetebilirsiniz.

    Unutmayın, düzenli denetimler yapmak ve sonuçları dikkatlice incelemek, veritabanınızın sağlıklı bir şekilde çalışmasını sağlamak için atabileceğiniz en önemli adımlardan biridir.

    Önceki Yazı
    Veritabanı Yöneticilerinin İlk Sorguladığı Şeyler

    Veritabanı Yöneticileri (DBAlar), genellikle iş günlerine veya sorun giderme...

    Sonraki Yazı
    Debian Tabanlı Sistemlerde Kurulu Paketleri Görüntüleme ve Kaldırma

    Debian tabanlı sistemler (örneğin, Debian, Ubuntu, Linux Mint), paket yöneti...