当前位置: 首页 > java >正文

Oracle中如何解决FREE BUFFER WAITS

基于性能上的考虑,服务器进程在扫描LRU主列的同时,会将脏块移至LRU-W列,如果发现没有足够可用(可替换)的BUFFER CACHE,进程并不会无止尽地扫描整条LRU主列,而是在扫描到某个阀值(该阀值由隐含参数_db_block_max_scan_pct决定。不同的版本,该隐含参数值可能会不同,在Oracle 10g中默认值为40)后就停止扫描。这时,前台进程会通知DBWR进程将相关脏块写进数据文件中,以得到空闲缓冲区。DBWR进程写脏块完成之前,服务器进程等待空闲缓冲区时会出现FREE BUFFER WAITS等待事件。FREE BUFFER WAITS等待事件通常是由以下原因引起的:
低效的SQL。低效的SQL会过多请求空闲缓冲区,因此FREE BUFFER WAITS等待也会响应增加。
BUFFER CACHE过小。这个比较好理解。
DBWR进程写脏块的速度不够快。可以通过改善存储性能、使用多个DBWR进程来加快DBWR进程写脏块的速度。
DBWR进程将脏块写到数据文件时,将会以EXCLUSIVE模式占有脏缓冲区。此时,如果有其他进程要读取或修改缓冲区,则需要等待DBWR进程写数据块结束,并出现WRITE COMPLETE WAITS等待事件。当出现WRITE COMPLETE WAITS事件时,存储存在性能问题的可能性比较高。
提示 请读者仔细体会FREE BUFFER WAITS等待事件和WRITE COMPLETE WAITS等待事件的区别。根据经验,FREE BUFFER WAITS等待事件常由应用引起,而WRITE COMPLETE WAITS等待事件则常由存储性能问题引起。

http://www.xdnf.cn/news/7673.html

相关文章:

  • Modbus通信协议详解
  • 字典和哈希表(javascript版)
  • 水利数据采集MCU水资源的智能守护者
  • 使用VMWare安装的ubuntu虚拟机,突然无法上网.
  • 鸿蒙应用开发:应用运行到设备报错,可能是版本问题,可通过hdc查询设备API版本
  • 第8天-Python趣味绘图:用Turtle库开启绘画编程之旅
  • tcpdump抓包
  • Nuxt的SEO实践
  • 基于MakeReal3D的虚拟预装系统:飞机装配效率与精度的双重突破
  • 告别蜘蛛池!PHP 打造你的网站专属蜘蛛导航仪
  • UDP协议简介
  • Runtime Suspend 专项训练
  • Apollo10.0学习——planning模块(8)之scenario、Stage插件详解二
  • 第二届帕鲁杯screenshot
  • 【AS32X601驱动系列教程】MCU启动详解
  • 力扣热题——零数组变换 |
  • 使用Dockerfile构建含私有Maven仓库依赖包的Java容器
  • 软件设计师考试三大核心算法考点深度解析(红黑树 / 拓扑排序 / KMP 算法)真题考点分析——求三连
  • 进阶知识:无参的函数装饰器之深入理解@wraps()
  • Vue-cli搭建项目
  • RISC-V 开发板 MUSE Pi Pro USB 测试(3.0 U盘,2.0 UVC摄像头)
  • NW842NW854美光固态芯片NX685NX744
  • 谁在用AI掘金?——近屿智能教你掌握AI时代的生存密码
  • 边缘智能与量子计算双轮驱动:IVX 开启实时 AI 开发新维度
  • Linux系统中,Ctrl+C的运行过程是什么?
  • 【Qt】在OrinNX上,使用命令安装qtmultimedia5-dev时报错
  • 【ABAP SAP】开发-报错:SAP激活表时报错“指定参考表和参考字段”
  • 【TCGA-CRC】TCGA数据读取
  • OD 算法题 B卷 【需要打开多少监视器】
  • Unity 喷烟喷气特效:喷快消失慢