archived log files 歸檔日誌
alert log files 告警日誌
trace files user_dump_dest 用戶 background_dump_dest 進程
重做日誌文件
查詢
>select * from v$logfile; status列:invalid該文件不可訪問(不存在或添加到該組的新logfile)|stale內容不完全|deleted不再使用
組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='*';