ITPub博客

首页 > 数据库 > Oracle > oracle 共享池 shared_pool

oracle 共享池 shared_pool

原创 Oracle 作者:上帝的二公子 时间:2014-07-24 16:29:36 0 删除 编辑

共享池(Shared pool)是SGA中最关键的内存片段,共享池主要由库缓存(共享SQL区和PL/SQL区)和数据字典缓存组成。其中库缓存的作用是存

放频繁使用的sql,pl/sql代码以及执行计划。数据字段缓存用于缓存数据字典。在内存空间有限的容量下,数据库系统根据一定的算法决定何

时释放共享池中的sql,pl/sql代码以及数据字典信息。下面逐一解释各个部件并给出调整方案。

 

一、共享池的组成

    Library cache(库缓存)                    --存放SQL ,PL/SQL 代码,命令块,解析代码,执行计划

    Data dictionary cache(数据字典缓存)      --存放数据对象的数据字典信息

    User global area(UGA) for shared server session --用于共享模式,可以将该模块移到lareg pool来处理。专用模式不予考虑。

       

二、Library cache 作用与组成

    Library Cache 由以下四个部件组成

        Shared SQL areas

        Private SQL areas

        PL/SQL procedures and packages

        Various control structures

    Library Cache 作用 

        存放用于共享的SQL命令或PL/SQL块

        采用LRU算法(最近最少使用算法)

        用于避免相同代码的再度解析

        ORA-04031则表明共享池不够用

共享池主要由库缓冲区(共享SQL区和PL/SQL区)和数据字典缓冲区组成,它的作用是存放频繁使用的sql,在有限的容量下,数据库系统根据一定的算法决定何时释放共享池中的sql;如果容量不足时,释放不及时,会将命中率不频繁的,长时间不使用的sql放到磁盘缓冲区中,保证共享池中的容量不被使用耗尽

相关的参数shared_pool_size
        open_cursors
        session_cached_cursors
        cursor_space_for_time
        cursor_sharing
        shared_pool_reserved_size

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29638498/viewspace-1226307/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORACLE PGA 的调整
下一篇: 配置监听
请登录后发表评论 登录
全部评论

注册时间:2014-05-02

  • 博文量
    5
  • 访问量
    14789