[ORACLE] oracle sql执行过程发生的等待事件

Posted A running snail,little step ev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ORACLE] oracle sql执行过程发生的等待事件相关的知识,希望对你有一定的参考价值。

1.Parse 阶段常见的等待事件:

  • Library cache pin

这个等待事件和library cache lock 一样是发生在共享池中并发操作引起的事件。通常来讲,如果Oracle 要对一些PL/SQL 或者视图这样的对象做重新编译,需要将这些对象pin到共享池中。 如果此时这个对象被其他的用户特有,就会产生一个library cache pin的等待。
这个等待事件也包含四个参数:
Handle address: 被加载的对象的地址。
Lock address: 锁的地址。
Mode: 被加载对象的数据片段。
Namespace: 被加载对象在v$db_object_cache 视图中namespace名称。

  • latch:shared pool

  • pin S wait on X
  • ibrary cache: mutex X/cursor: pin S

2.Execute阶段常见的等待事件:

  • db file sequential read
  • db file scattered read
  • buffer busy wait

3. Fetch阶段常见的等待事件

  • SQL*NET more data to client

以上是关于[ORACLE] oracle sql执行过程发生的等待事件的主要内容,如果未能解决你的问题,请参考以下文章

PL_sql如何执行oracle存储过程

oracle存储过程执行很慢sql很快

Oracle执行超长SQL的存储过程问题

oracle存储过程中执行查询sql语句报错

在 oracle 中执行存储过程后是不是发生任何自动提交?

如何在oracle存储过程中执行动态sql语句