26 Eylül 2012 Çarşamba


                                                 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.