Oracle 日志文件的使用

Oracle 日志文件的使用

数据在块在数据缓冲区被修改,单不会立即写入到物理文件中,Oracle先将数据块的变动情况写入日志文件中去,再写入表的物理文件。日志文件有两个记录方式逻辑记录物理记录

逻辑记录方法

用描述性语言记录整个数据的变化。如:在日志中记录delete的旧值和Updat的新值。当大量更新时中途断电,许多脏数据被写入到表中。这时需要多数据进行undo处理。需要将已更新的数据找到,并还原,这个过程非常费时,且占用缓存。节省空间

物理记录方法

将每个数据块的变动前后记录(一个数据块中可能存在多条记录),直接回复数据块就行了
但是十分浪费空间耗费空间

使用

在Oracle中采用逻辑和物理结合的方式:
更新量较小的时候才用逻辑记录方式,节省空间(如:50个数据块)
更新量较大的时候使用物理记录方式,提升恢复速度。

为了存放日志信息,Oracle在SGA中用一个*日志缓冲区(log_buffer)*系统在某些条件下使用LGWR进程写入日志数据。
一般设置多个日志文件,用于写入log_buffer中的数据,当一个文件写满后,切换到下一个文件日志切换

你可能感兴趣的:(随笔)