enq: RO fast object reuse 和 enq: KO fast object checkpoint

 enq: RO fast object reuse 

 它是用于同步前台进程与后台进程(dbwr, ckpt)的。当你truncate或者drop一个对象的时候,前台进程,首先获取一个RO enq, 以排它模式。

CKPT进程,请求单对象checkpoint,并请求DBWr写脏块,并把buffer里的块无效化。DBWR把所有的块写完以后, 前台进程释放RO enq,这是它使用的过程。


如果有多个session同时truncate/drop就会发生争用。


 truncate, drop之前要把buffer pool刷出去。
D111 2015/4/18 18:55:07

是的
上海2015/4/18 18:55:15

 _db_fast_obj_truncate把这个参数关掉,truncate时,这个行为就没了。
D111- 2015/4/18 18:55:17

所以 ddl操作也是比较费资源的
上海 2015/4/18 18:55:28

要刷出去就要加RO enq.
D111 2015/4/18 18:55:53


 直路径读之前,也有类似的行为。。。
上海2015/4/18 18:59:11

enq: KO - fast object checkpoint 

D103 2015/4/18 19:00:45

恩 研究研究
上海 2015/4/18 19:01:12

在direct path read之前,也要把脏块先写进数据文件, 如果ckpt,dbwr不够快等原因,就会有KO的等待。
上海2015/4/18 19:02:13

SQL> r
  1* select description from v$lock_type where type='KO'

DESCRIPTION
--------------------------------------------------------------------------------
Coordinates checkpointing of multiple objects

D103- 2015/4/18 19:02:18

direct path read 之前为什么要先写 脏块呢

D103 2015/4/18 19:02:28

以为要从磁盘 读 最新的 是吧
D1112015/4/18 19:02:34

因为不走 buffer cache
上海 2015/4/18 19:02:43

你想,它从数据文件直接读。。。不写脏块,那不读错了呀。
上海 2015/4/18 19:02:46

是的。

D103 2015/4/18 19:02:58
明白

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

转载于:http://blog.itpub.net/29990276/viewspace-1585026/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值