Online Redo Log File(联机重做日志)
一.Online Redo Log File作用
1.记录对数据所做的所有更改。
2.提供恢复机制。
二.Redo Log File Groups(联机重做日志组)
Oracle把Redo Log Files划分不同的组,要正常运行Oracle至少需要两个组,所以Oracle至少要有两个联机重做日志,而同一组的Redo Log File文件内容是一样的,由LGWR后台进程负责把相关信息写入Redo Log File(由于LGWR是对同组的所有Log文件进行写操作,所以同组的Log文件的内容都是一致的),而Redo Log File中的每条记录(entries)都有一个Log sequence numbers(LSN:相当于一个流水号)。
三.Online Redo Log File相关
1.Online Redo Log File是以循环方式使用的(一旦某个重做日志文件被写满,LGWR就会切换到下一个日志组)。
2.LGWR会在以下情况下进行写Redo Log File文件:
(1).当提交事务处理时(Transaction commit)。
(2).每3秒钟写一次。
(3).当重做日志缓冲区(Redo Log Buffer )被写满三分之一时。
(4).当重做日志缓冲区(Redo Log Buffer )内的已更改记录超过1MB时。
(5).在DBWn将数据库缓冲区高速缓存中修改的块写入数据文件之前(写Data file之前)。
3.LGWR在切换日志组时,还会触发:
(1).执行检查点(checkpoint:writing of dirty/mdified block from the buffer cache to disk)操作。
(2).将信息写入控制文件(Control file)。
4.Redo Log File的相关命令
(1).增加Redo Log File Group及其相应Redo Log Files:
alter database add logfile group 3
('$HOME/Oradata/u01/log3a.rdo',
'$HOME/Oradata/u02/log3b.rdo')
复制代码
(2).对某个Group增加Redo Log File文件:
alter database add logfile member
'$HOME/Oradata/u04/log1c.rdo' to group 1,
'$HOME/Oradata/u04/log2c.rdo' to group 2,
'$HOME/Oradata/u04/log3c.rdo' to group 3,
复制代码
(3).删除Redo Log File Member(每个Redo Log File Group中的每个Log文件都称为一个Member)
alter database drop logfile member
'$HOME/Oradata/u04/log3c.rdo';
复制代码
(4).删除Redo Log File Group
alter database drop logfile group 2;
5.Redo Log File建议用“.rdo”结尾。
6.可通过动态性能视图(Dynamic Performance View)查询Redo Log File的相关信息。
(1).v$log:Display the redo log fileinformation from the control file.
Select * from v$logfile;
(2).v$logfile:Identifies redo log froups and menbers an menbers status.
select group# ,thread#,sequence#,status from v$log;
7.只有一个Group中还有一个Redo Log File是正常的,Oracle就可以正常运行。这和Control File不同,如果其中一个Control File损坏,Oracle就不能正常运行