等待事件
由来:指标体系
以命中模型为参考弊端很大,等待事件对于优化意义很大,时间模型具有概括性,侧重于整体 系统性的了解数据库的运行状态
分类
空闲与非空闲
非空闲:管理类,应用程序类,集群类,提交确认类,并发类,配置类,
视图: v$event_name v$system_event v$system_wait_class v$session_event
v$session_wait_history
常见的等待事件
buffer busy waits
当会话将数据块从磁盘读取到内存时,内存没有足够的空间存放数据块就会发生此等待事件 优化方向:数据块 优化sql减少物理读和逻辑读 减小单块的存储数据规模;数据段头
buffer latch
在内存中查找数据时会先搜索一个Hash列表,从列表中获取数据块的地址,通过地址访问该数据块。当会话访问该列表时会获取一个latch来保证其完整性 如果列表过长就慢了,其他会话只能处于等待状态。 优化方向:多个buffer pool来创建更多的buffer caches 或者使用参数 db_bolk_lru_latches来增加latch的数量。db_bolk_lru_latches
db file sequential read
读取单个数据块的时间,例如读取一个引索块或者通过引索读取一个数据块的时间。优化方向 修改应用避免出现大量io的sql 怎加data buffer 提高命中率 采用更好的磁盘系统减少单个IO的响应速度
db file scattered read
用户发出每次I/O需要读取多个数据块的sql操作会出现此类事件 优化方向:查看全表扫描是否必要,索引是否是最佳索引。
direct path read
此类事件发生在会话将数据直接读取到PGA中出现,发生情况是磁盘上有大量临时数据产生或者PGA空闲空间不足时
优化方向:增大排序区,减少读取IO量或判断是否通过缓冲区读的方式更高效。
direct path write
发生在pga中的数据直接写入数据文件中时 优化方向:减少IO写入的规模
library cache lock
在shared pool中不同用户并发操作数据对象导致资源的争用。优化方向:查看锁定对象,减少争用。
library cache pin
类似于lock 对象换为pl/sql或者视图
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




