Oracle Redo Log Files
Sistem de bulunan 3 redo log dosyasından biri current diğre ikisi inactive durumdadır.LGWR(log writer )process current olan redolog dosyasında yazma işlemini yapar.Yazma işlemi yaptığı redolog dolduğunda current redolog dosyası inactive duruma geçer yazma işleminin yapılacağı yeni redolog dosyası ise current durumuna geçer.Redolog dosyası üzerinde işlem yapılacağı zaman inactive durumda olmalıdır.Örneğin redolog dosyası silinecekse ilk önce inactive durumuna alınmalıdır.
ALTER SYSTEM SWITCH LOGFILE: Bu komutla redologlarda bulunan verileri redolog dosyasının dolmasını beklemeden verileri datafile switch etmek için kullanılır.Bunu aşağıdaki gibi durumlarda kullanabiliriz.
-->Full backup almadan önce redologları datafile a uygulamak isteyebiliriz.
-->Database noarchivelog moddan archivelog moda almak için kullanabiliriz.
select group#, archived, status from v$log; sorgusu ile sistemde bukunana redolog dosyalarının durumunu görürüz.
h# Grp# Seq# BYTES Mem Arc? STATUS Change# Time
--- ---- ----- ------- -------- -------- ------- ------------------
1 1 4,489 1048576 2 NO INACTIVE 719114 15-JUN-97 16:54:23
2 4,490 1048576 2 NO INACTIVE 719117 15-JUN-97 16:56:10
3 4,491 1048576 2 NO CURRENT 719120 15-JUN-97 17:02:22
Add, remove redolog file:
Aktif olan bir redolog dosyasını silmek istediğimizde aşağıdaki hata ile karşılaşırız.
ORA-01624: 2 günlügü, orcl (thread 1) aninin çökme durumunda kurtarilmasi için gerekli
ORA-00312: çevrimiçi günlük 2, thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1)Remove Redolog:Silme işlemini gerçekleştirmeden önce redolog file inactive durumuna almalıyız.Bunu yapmazsak yukarıdaki hata ile karşılaşırız.Redolog file silmek için aşağıdaki adımlar izlenir.
SQL>alter system switch logfile; komutu ile current redolog datafile uygulanır.
SQL>select GROUP#, ARCHIVED, STATUS from v$log;komutu ile silmek istenilen redolog dosyasının numarası öğrenilir.
SQL>alter database drop logfile group 3;istenilen redolog dosyası silinir.
2)Add Redolog:
SQL>alter database add logfile ('/u01/app/oracle/oradata/REDO03.LOG') SIZE 50000K;-->
SQL>select group#,status from v$log; eklenen redololg dosyasının status görülebilir.