一、重做日志文件組:
1、添加重做日志組的指令:
alter database [數據庫名稱]
add logfile[group 正整數] 文件名稱
[,[group 正整數]文件名稱]]
不是有group選項時oracle系統會自動在當前最大的組號上加1來產生新的組號
ex:alter database add logfile ('D:\REDO04.LOG','D:\REDO05.LOG') size 15m;
增加新的重做日志組並且添加兩個重做日志成員,大小設置為15M
2、刪除重做日志組指令:
alter database[數據庫名稱]
drop logfile{group 正整數|('文件名稱')}
[,{group 正整數|('文件名稱')}]
ex: alter database drop logfile group 4;
注:刪除重做日志組以后對應的重做日志組成員文件並沒有被從物理磁盤上刪除,必須手動刪除日志成員文件,避免垃圾文件過大。
查看重做日志組和對應的重做日志組成員的數據字典分別是v$log,v$logfile;
二、重做日志文件組成員:
oracle 的默認安裝是在每個成員組下面添加一個成員文件,這在生產數據庫上是無法接受的,必須保證oracle系統上最少有兩個重做日志文件組,每個組中最少有兩個組成員文件,以防止重做日志文件的物理錯誤。
1、創建重做日志文件的sql命令:
alter database [數據庫名稱]
add logfile member
['文件名稱'[reuse]
[,'文件名稱'[reuse]]
to {group 組號
|('文件名稱'[,'文件名稱']....)
}
]....
每個日志組中新添加的成員文件的大小默認與原來成員文件的大小相等
2、刪除重做日志文件的sql命令:
alter database[數據庫名稱] drop logfile member '文件名稱'[,'文件名稱']....
不能使用上述命令刪除每個重做日志組的成員,因為當前重做日志組的成員不能刪除。如果要刪除應該使用alter system switch logfile命令切換當前重做日志組。
如果想刪除剛剛新加入的成員可能會比較麻煩,因為當前新加入的成員的status為invalid即不可訪問的狀態。因此在刪除之前要多次使用alter system switch logfile命令切換成員組。或者先shutdown數據庫后startup數據庫。之后就不用頻繁的切換當前日志組了。
注:報警文件中記錄了重做日志組和重做日志組成員的所有的變動信息,維護重做日志時可以通過報警文件查看。