Oracle重做日誌文件(10g)

        redo log files        重做日誌文件或聯機日誌
        archived log files        歸檔日誌
        alert log files        告警日誌
        trace files        user_dump_dest   用戶        background_dump_dest   進程

重做日誌文件

查詢

        >select * from v$logfile;        status列:invalid該文件不可訪問(不存在或添加到該組的新logfile)|stale內容不完全|deleted不再使用


        >select * from v$log;        status列:unused未寫入|current當前組,活動的|active非當前組,活動的,可能已歸檔也可能沒有|clearing正在重建空日誌(執行了alter database clear logfile),完成後變爲unused狀態


        組1                組2                組3
        current            inactive        inactive
   日誌切換:
        active             current         inactive
   日誌切換:
        active             active          current
   日誌切換(新循環週期,慢)
        current            inactive        inactive

作用


        在數據庫發生故障時,可以重新處理事務
        記錄對數據所做的所有更改,提供恢復機制,可以劃分成組,至少兩個組,每組下至少有一個成員file

        寫日誌時按組順序循環寫,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……
        日誌切換:g1-g2-g3-……   自動切換   手工切換 (alter system  switch logfile)

規劃

        分散原則:每個組多個成員,成員互爲備份,分開到不同的磁盤。例子:

        丨成員組1丨        丨成員組2丨        丨成員組1丨
        丨成員組2丨        丨成員組3丨        丨成員組3丨        
           disk1                       disk2                    disk3

        大小原則:組間切換時間滿足20分鐘左右的業務需求

增減刪

        新建組
        alter database add logfile [group <X0>] ('<logfile path&name>','',……)  size <Y>, [group <X1>] ……
        添加成員
        alter database add logfile member '<logfile path&name>' to group <X0>,'<logfile path&name>' ……

        刪除組
        alter database drop logfile group <X>, group……  active狀態和current狀態不可刪
        刪除成員
        alter database drop logfile member '<logfile path&name>','<logfile path&name>',……;
        
        重命名成員(可以做日誌移動等)
        ho cp <old> <new>
        alter database rename file '<old>' tp '<new>';
                 歸檔模式下 current狀態不可重命名;非歸檔模式下  都可以改

        【alter database noarchivelog|archivelog;】
        
異常處理

        啓動時日誌不一致問題

        alter database clear logfile group <X>; active狀態和current狀態不可用
        alter database clear unarchived logfile group <X>; 

        日誌文件丟失

        alter database clear logfile group <X>;
        歸檔模式下不能clear時,
        recover database using backup controlfile;alter database open resetlog;
        非歸檔模式不能clear時,
        alter system set "_allow_resetlogs_corruption"=true scope=spfile;
        startup;
        alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*';

        
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章