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,余下的信息存在在子游标中,

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

Library Cache Lookup的更多相关文章

  1. Library cache lock/pin详解

    Library cache lock/pin 一.概述 ---本文是网络资料加metalink 等整理得来一个实例中的library cache包括了不同类型对象的描述,如:游标,索引,表,视图,过程 ...

  2. 笔记:Memory Notification: Library Cache Object loaded into SGA

    笔记:Memory Notification: Library Cache Object loaded into SGA在警告日志中发现一些这样的警告信息:Mon Nov 21 14:24:22 20 ...

  3. [转载】——故障排除:Shared Pool优化和Library Cache Latch冲突优化 (文档 ID 1523934.1)

    原文链接:https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=23w4l35u5_4&id=152393 ...

  4. Using dbms_shared_pool.purge to remove a single task from the library cache

    我们都知道可是使用 alter system flush shared_pool 来清除shared pool 信息,当时不能指定清除某个对象.因为在系统繁忙的时侯 使用 alter system f ...

  5. Library Cache: Lock, Pin and Load Lock

    What is "Library cache lock" ? This event controls the concurrency between clients of the ...

  6. Troubleshooting 'library cache: mutex X' Waits.

    What is a 'library cache: mutex X' wait? The mutex feature is a mechanism to control access to in me ...

  7. 产生library cache latch原因

    产生library cache latch原因The library cache latches protect the cached SQL statements and objects' defi ...

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

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

  9. 共享池之六:shared pool latch/ library cache latch /lock pin 简介

    latch:library cache --desc v$librarycache; latch:library cache用于保护hash bucket.library cache lock保护HA ...

随机推荐

  1. Top 10 Uses of a Message Queue

    Top 10 Uses of a Message QueueAsynchronicity, Work Dispatch, Load Buffering, Database Offloading, an ...

  2. MVC小系列(一)【制作表格】

    在Razor引擎中,对于在表格中进行遍历时,一般会这样写 复制代码 <table border="> @{ ; i < ; i++) { <tr> <td ...

  3. JS中的replace方法以及与正则表达式的结合应用

    replace方法的语法是:stringobj.replace(rgexp, replacetext) 其中stringobj是字符串(string),reexp可以是正则表达式对象(regexp)也 ...

  4. 学习XAML中的一些基本语法

    1:slider 控件 2:x:名称空间的使用 3:事件处理器 event handler {    <Button x:Name="button1" Click=" ...

  5. Peter Pan By: J. M. Barrie

    Audio book: (mp3+txt) http://www.booksshouldbefree.com/book/peter-pan-by-j-m-barrie

  6. 桥接模式(Bridge Pattern)

    桥接模式,用于将抽象化与实现化解偶,使得二者可以独立变化. 举一个数据库JDBC的例子: 定义一个Driver接口,不同的数据库实现的接口,如MySQL,SQLServer public interf ...

  7. Null Pointer --设计模式

    在Joshua Bloch很有名的一本书<Effective in java>中建议不要在代码中返回空的collection/map/array,就像下面的代码一样: public Lis ...

  8. 浏览器信息(Navigator)

    window.navigator 代表正在使用的浏览器的对象. ◆ window.navigator.appCodeName 返回浏览器的代码名."Mozilla" 本来是 Net ...

  9. Java Servlet 接收上传文件

    在Java中使用 Servlet 来接收用户上传的文件,需要用到两个apache包,分别是 commons-fileupload 和 commons-io 包: 如果直接在doPost中,使用requ ...

  10. 关于Hyper-V虚拟机中的vEthernet虚拟网卡不能联网的问题

    Hyper-V虚拟机在我电脑里面已经有一年了,当初是因为windows8系统里面需要装Hyper-V,这样才能不让win8死机,就折腾了一整子,结果碰到vEthernet网卡不能联网,网上相关的资料少 ...