ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle DBWR进程

Oracle DBWR进程

原创 Linux操作系统 作者:tolywang 时间:2007-03-30 00:00:00 0 删除 编辑

触发DBWR进程的事件:


1.当用户进程在LRU列表中搜索了一定数量的缓存块后,仍然没有找到可用的空闲缓存块,DBWR进程将启动,把脏缓存块写入数据文件。
2.Checkpoint发生时,DBWR进程把所有的脏缓存块从LRU列表中移入到写入列表,并写入到数据文件。
3.数据库缓存块中的写入列表的长度达到一定值的时候,DBWR将写入列表中的脏缓存块写入数据文件。
4.每过3秒钟,DBWR把脏缓存块从LRU列表移到写入列表,一旦写入列表长度达到一定值,DBWR便将数据写入数据文件。
5.当表空间offline时,DBWR把所有属于该表空间的脏缓存块从LRU列表移到写入列表,并且开始写入数据文件。
6.当表空间开始热备时,DBWR把所有属于该表空间的脏缓存块从LRU列表移到写入列表,并且开始写入数据文件。


-----------------------------------------------------------

我们已经知道DBWR进程负责将脏数据块写入磁盘。这些条件包括:1) 当进程在辅助LRU链表和主LRU链表上扫描以查找可以覆盖的buffer header时,如果已经扫描的buffer header的数量到达一定的限度(由隐藏参数:_db_block_max_scan_pct决定)时,触发DBWR进程。2) 当DBWR在主LRUW链表上查找已经更新完而正在等待被写入数据文件的buffer header时,如果找到的buffer header的数量超过一定限度(由隐藏参数:_db_writer_scan_depth_pct决定)时,DBWR就不再继续往下扫描了,而转到辅助LRUW链表上将其上的脏数据块写入数据文件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-84550/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle LGWR进程
请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13379108