共享池2

硬解析:执行SQL时,SQL已经不再共享池中,会产生硬解析。首先分配共享池空间,创建父游标,创建子游标

软软解析:父游标存在,子游标也存在

软解析:父游标存在,子游标不可共享

游标共享技术ACS

游标不会马上关闭,会先放在游标缓存中,等待回话完成后,在关闭

OPEN_CURSORS会话打开的游标数量

SESSION_CACHED_CURSORS回话缓冲,主要功能:将会话中的常用的SQL放入UGA中的会话缓冲区中,以便下次调用

CURSOR_SPACE_FOR_TIME 当父游标被打开的时候,所有子游标及其相关联的对象全部被锁住,从而确保游标相关的信息都是一致的

本文转自博客园xingoo的博客,原文链接:共享池2,如需转载请自行联系原博主。

时间: 2024-09-20 21:42:33

共享池2的相关文章

ORACLE--预编译与共享池--SGA基本介绍

我们暂时先不说其他的,我们先做一个简单的实验来证明来看出一些问题,最后通过为什么来说明实验的结论,并介绍原理和常规查看方式,好了,我们先看看下面三段代码分别执行的结果. 首先为了测试,我们需要创建一张表: CREATE TABLE PRE_TEST_TABLE(   C1  NUMBER,   C2  VARCHAR2(100)); 好了,我们做一个插入操作的对比: 代码段1: BEGIN       FOR I IN 1..20000 LOOP            EXECUTE IMMED

如何将oracle 对象pin在共享池中

dbms_shared_pool.keep 可以将对象pin入shared_pool,而不进入LRU 机制被keep的对象可以是数据库对象,也可以是sql dbms_shared_pool.unkeep为反操作. 实验如下:(实验环境 11.2.0.1) 执行一个sql,并查看其在shared_pool 中的address和hash_value值.yang@rac1>select count(*) from yang_a;   COUNT(*) ----------         29yang

共享池的调整与优化(Shared pool Tuning)

--======================================= -- 共享池的调整与优化(Shared pool Tuning) --=======================================       共享池(Shared pool)是SGA中最关键的内存片段,共享池主要由库缓存(共享SQL区和PL/SQL区)和数据字典缓存组成.其中库缓存的作用是存 放频繁使用的sql,pl/sql代码以及执行计划.数据字段缓存用于缓存数据字典.在内存空间有限的容量下

共享池中保留池的调整(shared_pool_reserved_size)

--************************************************* -- 共享池中保留池的调整(shared_pool_reserved_size) --*************************************************   1.何谓保留池         简言之,保留一部分内存空间以备不时之需.通常情况下,Oracle会将大的内存请求分割成小的内存块来满足需求.而对于大的内     存且为连续的内存空间请求,如果在共享池中未找

使用DBMS_SHARED_POOL包将对象固定到共享池

--****************************************** -- 使用DBMS_SHARED_POOL包将对象固定到共享池 --******************************************         DBMS_SHARED_POOL包提供存储过程来将PL/SQL对象或SQL游标固定到Oracle 共享池.一旦这些对象固定之后,将不再参与aged out,而 是常驻内存,即便是使用alter system flush shared_poo

ORACLE从共享池删除指定SQL的执行计划

Oracle 11g在DBMS_SHARED_POOL包中引入了一个名为PURGE的新存储过程,用于从对象库缓存中刷新特定对象,例如游标,包,序列,触发器等.也就是说可以删除.清理特定SQL的执行计划,这样在特殊情况下,就避免你要将整个SHARED POOL清空的危险情况.例如某个SQL语句由于优化器产生了错误的执行计划,我们希望优化器重新解析,生成新的执行计划,必须先将SQL的执行计划从共享池中刷出或将其置为无效,那么优化器才能将后续SQL进行硬解析.生成新的执行计划.这在以前只能使用清空共享

[20160118]共享池的LRU链表.txt

[20160118]共享池的LRU链表.txt 共享池中的LRU和buffer cahce中的LRU算法有很大不同.共享池LRU链从总体上分两条:瞬时LRU,周期LRU.一个Chunk第1次被操作后, 会被放入瞬时LRU:如果又1次被用到了,将被移至周期LRU. 这两条LRU链有点像BUffer cache中的冷链和热链.瞬时LRU是冷链,周期LRU是热链.瞬时LRU中保存只被使用一次的chunk,周期LRU中保 存使用次数为2次及2次以上的Chunk. --以上内容摘自vage的<oracle

20150213关于共享池4-SQL内存结构父子游标

[20150213]关于共享池4x-SQL内存结构父子游标.txt --这个主要和recr和freeabl类似. --1.节约内存 --2.减少检索链表的时间. --3.oracle的算法规定,sql语句必须至少是一父一子的情况.很多情况下都是一父多子.也就是说,每个游标,oracle都会为它设置个父游标 --  如果有sql文本相同,但无法共享执行计划的情况出现,那就会出现一父多子的情况. --注意除了sql对象,共享池中其它类型的对象都没有父子游标的概念. --自己按照的介绍,重复测试一遍,

20151223关于共享池4x-SQL内存结构父子游标

[20151223]关于共享池4x-SQL内存结构父子游标.txt --重复测试:http://blog.itpub.net/267265/viewspace-1436541/ --这个主要和recr和freeabl类似. --1.节约内存 --2.减少检索链表的时间. --3.oracle的算法规定,sql语句必须至少是一父一子的情况.很多情况下都是一父多子.也就是说,每个游标,oracle都会为它设置个父游标 --  如果有sql文本相同,但无法共享执行计划的情况出现,那就会出现一父多子的情

1229关于共享池4-SQL内存结构父子游标补充3

[20151229]关于共享池4x-SQL内存结构父子游标 (补充3).txt -- 前几天的测试,还是有点问题,链接如下: -- http://blog.itpub.net/267265/viewspace-1942280/ -- 继续做1点补充: 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ ----------