Library Cache Lookup

原创 2013年12月05日 09:58:05

Libraey Cache Data Access

library cache是关于SQL语句的SGA中的一系列的链表,

library cache是通过访问一系列的hash buckets,实现使用hash table,

每个特定的hash,链接到SQL语句

链接到SQL语句挂载hash buckets的列表,

每个语句在特定的列表上Hashes到一个hash

链表是一系列的处理或引用,事实上,SQL语句本身组成了句柄,在每个句柄下,可能有多个相同SQL

语句的版本,同一条SQL语句多个版本发生在如下情况:

--指向不同的对象(不同的用户)

--绑定变量类型不同

--优化器模式不同或者NLS设置不同

多版本的信息存储在单独的子library cache cursors,当一条新的SQL被解析时,

语句被Hash,被放到一个链表于hash值关联。不同的SQL语句可能有相同的

HASH.为了找到library cache中的sql语句,SQL语句被hash,扫描列表来查找匹配的SQL语句,如果存在多个版本,逐个匹配。

匹配SQL语句时通过访问parent library cursor,余下的信息存在在子游标中,

如果多个版本存在,多个版本的子游标依次访问。

 

 

 

 

 

相关文章推荐

Informatica Dynamic Lookup Cache

  • 2012年02月08日 14:04
  • 889KB
  • 下载

X-Cache and X-Cache-Lookup headers explained

by Vide on April 22, 2008 Ok, maybe you have no problems while dealing with web caches but I (an...

Library cache 库缓冲

  • 2014年06月24日 22:38
  • 9KB
  • 下载

共享池之八:软解析、硬解析、软软解析 详解一条SQL在library cache中解析涉及的锁

先来张大图: 结合上图来说明一下解析的各个步骤涉及的锁。 软解析、硬解析、软软解析区别的简单说明: 为了将用户写的sql文本转化为oracle认识的且可执行的语句,这个过程就叫做解析...

library cache lock等待事件处理

  • 2013年07月09日 14:54
  • 3KB
  • 下载

一次library cache pin故障的解决过程

在dbsnake 上看到的这篇文章,转过来。 主要还是学习解决问题的一个思路。这个往往比问题的解决更重要。        原文链接如下:       http://dbsnake.com/2010/0...

【每日一摩斯】-Shared Pool优化和Library Cache Latch冲突优化 (1523934.1)-系列5

Flushing(清空) SHARED POOL        在使用大量literal SQL的系统中,shared pool随时间推移会产生大量碎片进而导致并发能力的下降。Flushing sh...
  • bisal
  • bisal
  • 2013年09月03日 09:22
  • 1765

oracle 11g 多次业务用户被锁定 library cache lock导致数据hang住问题解决

现象:生产库业务用户多次被锁定,锁定后伴有library cache lock问题 应急措施: 1、查询library cache lock等待事件的blocking_session,考虑这些bl...

Oracle内存详解之二 Library cache 库缓冲

Library cache是Shared pool的一部分,它几乎是Oracle内存结构中最复杂的一部分,主要存放shared curosr(SQL)和PLSQL对象(function,procedu...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Library Cache Lookup
举报原因:
原因补充:

(最多只允许输入30个字)