重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 18|回复: 0
打印 上一主题 下一主题

[性能调整] [等待事件]enq: KO - fast object checkpoint

[复制链接]
跳转到指定楼层
楼主
发表于 前天 18:59 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
enq: KO - fast object checkpoint
=====================

是 Oracle 数据库中的一种队列等待事件(Enqueue Wait Event)。

简单来说,当数据库需要将内存(Buffer Cache)中属于特定对象(如某个表或索引)的修改过的数据块(Dirty Blocks)立即写入磁盘,而多个进程同时在请求或执行这个动作时,就会产生这个等待。

----------------------------------------------------------
1. 为什么会产生这个等待?


传统的检查点(Checkpoint)是针对整个数据库或数据文件的,而 KO 等待是对象级别的。它通常由以下操作触发:

   -1.并行查询(Parallel Query / Direct Path Read):
    这是最常见的原因。当 Oracle 决定使用“直接路径读取”时,它必须确保磁盘上的数据是最新的。因此,它会先发起一个“快照检查点”,把内存里还没写入磁盘的相关数据块刷进去。

   -2.截断/删除/收缩(TRUNCATE / DROP / SHRINK):
    在删除对象之前,Oracle 需要清理内存中对应的脏块。

   -3.表空间操作:
    比如将表空间设置为 READ ONLY 或进行热备。

2. 这个等待事件的含义

enq: Enqueue(队列锁)。

KO: 代表 Kernel Object,即内核对象级别。

fast object checkpoint: 快速对象检查点。
----
当一个进程正在对某个对象执行检查点写入时,其他也想对该对象执行操作(或同样触发检查点)的进程必须排队等待,这时就会在 v$session_wait 中看到 enq: KO - fast object checkpoint。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-5-26 11:15 , Processed in 0.238855 second(s), 26 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表