会话通常不将数据写入磁盘,会话将数据写入数据库缓冲区缓存中的缓冲区。由数据库写入器负责在随后将缓冲区写入磁盘。一个实例可能有多个数据库写入器(最多不超过20个),依次称为DBW0和DBW1等。默认数量是8个cpu对应一个数据库写入器
DBWn在以下4种情况下执行写操作:
*没有任何可用缓存区
*脏缓冲区过多
*三秒超时
*遇到检查点(当遇到检查点时,会写入所有脏缓冲区。)在关闭数据库,关闭实例,检查点会将所有脏缓冲区写入磁盘。
LGWR进程在以下三种情况下写入重做日志文件:
*会话发出commit
*日志缓冲区占有率达1/3
*DBWn要写入脏缓冲区
DBWn在以下4种情况下执行写操作:
*没有任何可用缓存区
*脏缓冲区过多
*三秒超时
*遇到检查点(当遇到检查点时,会写入所有脏缓冲区。)在关闭数据库,关闭实例,检查点会将所有脏缓冲区写入磁盘。
LGWR进程在以下三种情况下写入重做日志文件:
*会话发出commit
*日志缓冲区占有率达1/3
*DBWn要写入脏缓冲区