广告
返回顶部
首页 > 资讯 > 数据库 >怎么理解oracle等待事件enq
  • 607
分享到

怎么理解oracle等待事件enq

2024-04-02 19:04:59 607人浏览 薄情痞子
摘要

这篇文章主要讲解了“怎么理解oracle等待事件enq”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解oracle等待事件enq”吧!Enqueue

这篇文章主要讲解了“怎么理解oracle等待事件enq”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解oracle等待事件enq”吧!

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

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,其它会话如果也要更新控制文件的话,那么就要等待了。

感谢各位的阅读,以上就是“怎么理解oracle等待事件enq”的内容了,经过本文的学习后,相信大家对怎么理解oracle等待事件enq这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么理解oracle等待事件enq

本文链接: https://www.lsjlt.com/news/63632.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 怎么理解oracle等待事件enq
    这篇文章主要讲解了“怎么理解oracle等待事件enq”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解oracle等待事件enq”吧!Enqueue ...
    99+
    2022-10-18
  • oracle等待事件之enq: CF – contentio
    Enqueue 是一种保护共享资源的锁定机制,避免因并发操作而损坏数据,Enqueue 采用排队机制,即 FIFO(先进先出)来控制资源的使用。在任何需要读取控制文件的动作时,就会发生等待事件enq: CF...
    99+
    2022-10-18
  • Oracle等待事件之enq: TM – contention
    执行DML 期间,为防止对与DML 相关的对象进行修改,执行DML 的进程必须对该表获得TM 锁。 P1 = name|mode P2 = object # P3 = table/partition ...
    99+
    2022-10-18
  • oracle 11.2.0.4 rac集群等待事件enq: TM - contention
        近期,一金融客户oracle 11.2.0.4 rac集群delete不当导致等待事件enq: TM - contention严重引起大范围会话堆积,记录的相关分析工...
    99+
    2022-10-18
  • Oracle Study中Oracle等待事件怎么用
    这篇文章主要为大家展示了“Oracle Study中Oracle等待事件怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle Study中Oracl...
    99+
    2022-10-19
  • ORACLE的buffer busy wait等待事件怎么解决
    本文小编为大家详细介绍“ORACLE的buffer busy wait等待事件怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“ORACLE的buffer busy wait等待事件怎么解决”文章能帮...
    99+
    2022-10-19
  • 怎么理解Oracle等待事件的分类、发现及优化
    本篇内容介绍了“怎么理解Oracle等待事件的分类、发现及优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2022-10-18
  • Oracle 等待事件(Wait Event):Sync ASM rebalance 解析
    摘要:在 Oracle 数据库中,经常可以见到一个特殊的等待事件:Sync ASM rebalance 。这个等待事件的基本含义是:在集群中,通过同步 ASM 的重平衡变化,以使得 ASM 的变更在集群之...
    99+
    2022-10-18
  • 数据库I/O上的等待事件怎么理解
    这篇文章主要讲解了“数据库I/O上的等待事件怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库I/O上的等待事件怎么理解”吧!SQL> se...
    99+
    2022-10-19
  • 数据库出现很高的enq: DX - contention等待该怎么解决
    数据库出现很高的enq: DX - contention等待该怎么解决,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。检查客户AWR报告时,发现数据库经历严重的e...
    99+
    2023-06-06
  • 怎么理解数据库中的row cache lock等待事件
    这篇文章主要介绍“怎么理解数据库中的row cache lock等待事件”,在日常操作中,相信很多人在怎么理解数据库中的row cache lock等待事件问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-18
  • MySQL未提交事务造成的等待事件怎么解决
    本篇内容主要讲解“MySQL未提交事务造成的等待事件怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL未提交事务造成的等待事件怎么解决”吧! ...
    99+
    2022-10-19
  • Oracle 11g 遇到log file sync严重等待事件该怎么办
    这篇文章将为大家详细讲解有关Oracle 11g 遇到log file sync严重等待事件该怎么办,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 ...
    99+
    2022-10-19
  • 数据库的等待事件TX-row lock contention怎么解决
    本篇内容主要讲解“数据库的等待事件TX-row lock contention怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据库的等待事件TX-row...
    99+
    2022-10-19
  • 如何理解Oracle数据库并行操作常见等待事件及脚本
    这篇文章给大家介绍如何理解Oracle数据库并行操作常见等待事件及脚本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。小编主要介绍Oracle数据库在并行操作过程中 slave 进程和 ...
    99+
    2022-10-19
  • 如何进行Oracle数据库Kfk: Async Disk IO等待事件的深度解析
    如何进行Oracle数据库Kfk: Async Disk IO等待事件的深度解析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。...
    99+
    2022-10-19
  • 怎么理解DB BUFFER LRU列表的latch等待
    这篇文章主要介绍“怎么理解DB BUFFER LRU列表的latch等待”,在日常操作中,相信很多人在怎么理解DB BUFFER LRU列表的latch等待问题上存在疑惑,小编查阅了各式资料,整理出简单好用...
    99+
    2022-10-18
  • 如何解决当删除oracle数据库user时发生row cache lock等待事件
    这篇文章主要介绍了如何解决当删除oracle数据库user时发生row cache lock等待事件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解...
    99+
    2022-10-18
  • 怎么理解ORACLE事件跟踪
    这期内容当中小编将会给大家带来有关怎么理解ORACLE事件跟踪,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ORACLE事件跟踪  Oracle跟踪文件分为三种...
    99+
    2022-10-19
  • Oracle 11.2.0.3数据库CJQ进程造成row cache lock等待事件影响job无法停止怎么办
    小编给大家分享一下Oracle 11.2.0.3数据库CJQ进程造成row cache lock等待事件影响job无法停止怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作