Oracle重做日志分为联机重做日志和归档重做日志。LGWR进程负责将数据操作情况写入联机重做日志。ARCH进程生成所有联机重做日志副本。
Redo是发生数据库中的事件以及事件发生顺序的记录。几乎所有的DML(insert,update,delete),DDL(create,drop,alter),事物提交都会创建Redo。
在日志切换期间,LGWR寻找可写入的联机重做日志文件。如果找到可用的联机重做日志文件,LGWR将打开该文件并开始写入Redo。如果LGWR不能找到可用文件,则等待联机重做日志文件,直到有可用的为止。此时数据库的操作被挂起,也就是说数据库暂时停止工作。
每个创建的联机重做日志文件分配给一个联机重做日志组,在非集群的配置环境下,Oracle在同一时间下仅向一个重做日志组写入日志。如果允许在RAC环境中,每个RAC实例将Redo写入到它自己的重做日志组中。
联机重做日志组状态:
Current:正在使用的联机重做日志。
Active:处于该状态的联机重做日志不在当前重做日志文件组中,它正在等待归档进程将重做日志复制到归档重做日志中。
Inactive:已经被归档的不活跃的联机重做日志。
Unused:未被使用过的。