什么是日志记录区缓冲区
日志记录区缓冲区(redo log buffer)是数据库系统中的一个重要概念。
它用于记录数据块的地址、更改的时间以及对数据块所做的改变。在执行任何DML和DDL操作改变数据之前,数据库系统会将恢复所需的信息先写入redo log buffer,然后再写入database buffer cache。当事务提交时,会产生一个提交的redo record,这个redo record写入log buffer后,服务器进程(server process)会触发LGWR进行日志写操作,将重做日志缓冲区中的数据写入重做日志文件中。
此外,LGWR的触发条件还包括:
1. 事务提交时;
2. Log buffer中的数据超过1m时;
3. 当log buffer中的数据超过_log_io_size隐含值时;
4. 每隔3s。
这样就保证了数据的及时写入,防止了数据的积压和丢失风险。