3.1.3日志缓冲区
日志缓冲区是小型的、用于短期存储将写入到磁盘上的重做日志的变更向量的临时区域。"变更向量"是应用于某些对象的修改,执行DML语句会生成应用于数据的变更向量。有了重做日志,数据库就保证数据永不丢失,每当数据块放生变更时,都会将应用于块的变更向量写到重做日志,如果需要还原数据文件,则通过重做日志,可以将变更向量提取并应用于数据文件备份。
会话服务器进程不将重做记录直接写入到重做日志文件,否则,每当执行DML语句时,会话将不得不等待磁盘I/O操作完成。相反,会话将重做记录写入内存中的日志缓冲区。这样做的速度将远比写入磁盘快。此后,日志缓冲区写出到重做日志文件。写操作由日志写入器后台进程(LGWR)完成。
日志缓冲区在启动是实例时分配,如果不重新启动实例,就不能在随后调整其大小。在oracle体系结构中,将日志缓冲区转储到磁盘时基本瓶颈之一。DML的速度不能超过LGER将变更向量转储到联机重做日志文件的速度。如果重做生成是限制数据库性能的因素,唯一的选项是使用RAC,在RAC数据库中,每个实例都有自己的日志缓冲区和自己的LGWR,这是将重做数据并行写入磁盘的唯一方法。
Oracle数据库体系结构详解(3)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:https://www.heiqu.com/9d07de402ca759916b5786e99780dce6.html