Oracle veritabanlarında archive logging (arşiv günlükleme), veritabanı günlüklerinin bir yedeğini alarak sistemdeki veri kaybı riskini en aza indirir. Ancak, bazı durumlarda bu özelliği devre dışı bırakmanız gerekebilir. Örneğin:
- Performans optimizasyonu yaparken,
- Geliştirme veya test ortamlarında disk alanı kullanımını azaltmak amacıyla,
- Yedekleme stratejisinde değişiklik yapılırken.
Bu yazıda, Oracle’da archive logging’i devre dışı bırakmanın adımlarını ve neden bu işlemi dikkatle yapmanız gerektiğini ele alacağız. SQLPlus kullanarak bu işlemi nasıl gerçekleştireceğinizi adım adım öğrenebilirsiniz.
Archive Logging Nedir ve Neden Durdurulmak İstenebilir?
Oracle Archive Logging, bir veritabanının ARCHIVELOG modunda çalışıp çalışmadığını ifade eder. Bu mod, redo log dosyalarının (yeniden yapım günlükleri) bir kopyasını saklar ve yedekleme ile kurtarma işlemlerini destekler.
Avantajları:
- Veri kaybını önler.
- Kurtarma işlemleri için kritik önem taşır.
Dezavantajları:
- Disk alanı kullanımı artar.
- Performansı olumsuz etkileyebilir, özellikle yoğun işlem yüküne sahip sistemlerde.
Eğer sisteminiz bir geliştirme veya test ortamıysa ya da arşiv günlüklerine ihtiyacınız yoksa bu özelliği devre dışı bırakabilirsiniz.
Archive Logging Nasıl Devre Dışı Bırakılır?
1. SQLPlus’a Bağlanın
Oracle veritabanınıza bağlanmak için sysdba yetkisiyle giriş yapmanız gerekir. Bu yetki, veritabanı üzerindeki tüm yönetimsel işlemleri yapmanıza olanak tanır.
SQL> conn sys as sysdba
2. Archive Logging’i Durdurun
Aşağıdaki komut, archive logging’i geçici olarak durdurur. Bu işlem, sistemin log dosyalarını arşivlemeyi bırakmasını sağlar.
SQL> alter system archive log stop;
3. Veritabanını Kapatın
Veritabanını güvenli bir şekilde kapatmak için aşağıdaki komutu kullanın:
SQL> shutdown immediate
4. Veritabanını Özel Mount Modunda Başlatın
Bu adımda veritabanını mount restrict (özel mount modu) ile başlatmanız gerekiyor. Böylece veritabanı yalnızca yönetim işlemleri için erişilebilir hale gelir.
SQL> startup mount restrict
5. Archive Logging’i Devre Dışı Bırakın ve Veritabanını Açın
Arşiv modunu devre dışı bırakmak için aşağıdaki komutları kullanın:
SQL> alter database noarchivelog;
SQL> alter database open;
6. Archive Logging Durumunu Kontrol Edin
Arşiv modunun başarıyla devre dışı bırakıldığından emin olmak için durumu kontrol edin:
SQL> archive log list
Beklediğiniz çıktı şu şekilde olmalıdır:
Database log mode NOARCHIVELOG
Automatic archival DISABLED
Archive destination /mount_point/oradata/SID/ARCHIVE/arch
Oldest online log sequence 2
Current log sequence 3
Bu çıktıda “NOARCHIVELOG” ve “DISABLED” ifadelerini görüyorsanız, işlem başarılı olmuştur.
7. Veritabanını Normal Şekilde Yeniden Başlatın
Son olarak, veritabanını normal modda başlatın:
SQL> shutdown immediate
SQL> startup
Dikkat Edilmesi Gereken Noktalar
- Yedekleme Stratejisi: Archive logging’i devre dışı bırakmadan önce mevcut yedekleme stratejinizi gözden geçirin. NOARCHIVELOG modunda çalışan veritabanlarında yalnızca soğuk yedekleme yapılabilir. Bu, sistemin kapalı olduğu bir anda tam bir yedek almayı gerektirir.
- Performans Kazançları: Archive logging’i devre dışı bırakmak, disk I/O yükünü azaltabilir. Ancak, bu avantaj yalnızca belirli durumlarda geçerlidir. Örneğin, test ortamlarında veya geçici veriyle çalışan sistemlerde.
- Kurtarma Yeteneği: Archive logging devre dışı bırakıldığında, yalnızca son tam yedekten itibaren kurtarma yapılabilir. Bu, özellikle kritik sistemlerde büyük veri kaybına neden olabilir.
Archive Logging’in Devre Dışı Bırakılmasının Alternatifleri
Eğer archive logging’i devre dışı bırakmak istemiyorsanız ancak performansı optimize etmek istiyorsanız şu seçenekleri düşünebilirsiniz:
- Redo Log Boyutunu Artırma: Daha büyük log dosyaları, daha az sık yazma işlemi gerektirir.
- Disk Yapılandırmasını İyileştirme: Arşiv loglarını hızlı bir depolama alanında saklamak performansı artırabilir.
- Flashback Özelliklerini Kullanma: Archive logging olmadan veri kurtarma seçeneklerini artırmak için kullanılabilir.
Sonuç
Oracle Archive Logging’i devre dışı bırakmak, özellikle test ve geliştirme ortamlarında disk kullanımını azaltmak ve performansı artırmak için etkili bir yöntemdir. Ancak, bu işlem dikkatli planlama ve yedekleme stratejisi gerektirir. Yukarıdaki adımları izleyerek archive logging’i kolayca devre dışı bırakabilir ve veritabanınızı ihtiyaçlarınıza göre optimize edebilirsiniz.