暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SGA的基本组件

原创 15238170287 2022-06-05
898

1)shared pool

共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。

共享池由库缓存(library cache),和数据字典缓存(data dictionary cache)以及结果缓存(result cache)等组成。

共享池的大小直接影响数据库的性能。

关于shared pool中的几个概念

①library cache:

sql和plsql的解析场所,存放sql/plsql语句代码,以及它们的执行计划。以备其他用户共享

②data dictionary cache

存放重要的数据字典信息,以备其他用户共享使用

③server result cache:

存放服务器端的SQL结果集及PL/SQL函数返回值

④User Global Area (UGA):

共享服务器连接模式下如果没有配置large pool,则UGA属于SGA的shared pool, 专用连接模式时UGA属于PGA

2)database buffer cache(PPT-II-328)

用于存储从磁盘数据文件中读入的数据,为所有用户共享。

服务器进程(server process)负责将数据文件的数据从磁盘读入到数据缓冲区中,当后续的请求需要这些数据时如果在内存中找到,则不需要再从磁盘读取。

数据缓冲区中被修改的数据块(脏块)由后台进程DBWR将其写入磁盘。

数据缓冲区的大小对数据库的读取速度有直接的影响。

要弄明白Database Buffer Cache中的几个cache概念:

① Buffer pool=(default pool)+(nodefault pool)

其中:

default pool(参数db_cache_size)是标准块存放的内存空间大小,SGA自动管理时此参数不用设置。使用LRU算法清理空间

nodefault pool:对应的参数有

  db_nk_cache_size   指定非标准块大小内存空间,比如2k、4k、16k、32k。

  db_keep_cache_size   存放经常访问的小表或索引等。

  db_recycle_cache_size   与keep相反,存放偶尔做全表扫描的大表的数据。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论