我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle等待事件之enq: CF – contentio

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle等待事件之enq: CF – contentio

Enqueue 是一种保护共享资源的锁定机制,避免因并发操作而损坏数据,Enqueue 采用排队机制,即 FIFO(先进先出)来控制资源的使用。在任何需要读取控制文件的动作时,就会发生等待事件enq: CF – contention,CF locks被用来串行化controlfile事务,在读和写控制文件的时候使用该锁。通常该锁的分配时间非常短,比如在下面事件中会分配该锁,那么也就可能发生enq: CF – contention等待事件:

l   Checkpoint

l   Redo Logfile的切换

l   Redo lofileg的归档

l   执行实例恢复

l   操作redo logfile

l   热备开始和结束

l   Nologging 事物的DML操作

如果某个事物设置了nologging属性,那么如下动作更容易产生该等待事件:

direct load (SQL*Loader)

direct-load INSERT

CREATE TABLE ... AS SELECT

CREATE INDEX

ALTER TABLE ... MOVE PARTITION

ALTER TABLE ... SPLIT PARTITION

ALTER INDEX ... SPLIT PARTITION

ALTER INDEX ... REBUILD

ALTER INDEX ... REBUILD PARTITION

INSERT, UPDATE, and DELETE on LOBs in   NOCACHE NOLOGGING mode stored out of line

       查询该等待事件的holder

郑州不孕不育医院:http://yyk.39.net/zz3/zonghe/1d427.html

select l.sid, p.program, p.pid, p.spid,   s.username, s.terminal, s.module, s.action, s.event, s.wait_time,   s.seconds_in_wait, s.state

from v$lock l, v$session s, v$process p

where l.sid = s.sid

and s.paddr = p.addr

and l.type='CF'

and l.lmode >= 5;

       查询该等待事件的waiter

select l.sid, p.program, p.pid, p.spid,   s.username, s.terminal, s.module, s.action, s.event, s.wait_time,   s.seconds_in_wait, s.state

from v$lock l, v$session s, v$process p

where l.sid = s.sid

and s.paddr = p.addr

and l.type='CF'

and l.request >= 5;

       原因分析及解决办法:

如果holder是后台进程,比如lgwr,ckpt,arcn等,那么检查redo log大小,切换频次,检查fast_start_mttr_target的设置,检查归档路径是否可用。

如果是holder是前台进程,那么大都是由于nologging的事物上正在发生DML或者DDL,此时由于nologging属性,那么oracle需要向控制文件中记录unrecoverable SCN,典型的是伴随enq: CF – contention的通常还有control file parallel write,这个会话在写的过程中持有CF locks,其它会话如果也要更新控制文件的话,那么就要等待了。


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle等待事件之enq: CF – contentio

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

目录