- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sga
查询时,会先把从磁盘读取的数据放入内存,以后再查询相关数据时不用再次读取磁盘而先到db_buffer_cache中来寻找。插入和更新时,会现在该区中缓存数据,之后批量写到硬盘中。通过块缓冲区,可以通过内存缓存提高磁盘的I/O性能。
Db_buffer_cache缓冲区中有三个区域:
? 默认池(Default pool):所有数据默认都在这里缓存。
? 保持池(Keep pool):用来缓存需要多次重用的数据。(该缓存不参与ASMM,先进先出的方式从MRU移动到LRU端,无空闲缓冲,LRU端最久未使用数据被调出缓存)
? 回收池(Recycle pool):用来缓存很少重用的数据。(该缓存不参与ASMM,recycle_pool满后,读取的数据不被缓存,以节省开销)
原来只有一个默认池,所有数据都在这里缓存。这样会产生一个问题:大量很少重用的数据会把需重用的数据“挤出”缓冲区,造成磁盘I/O增加,运行速度下降。后来分出了保持池和回收池根据是否经常重用来分别缓存数据。
这三部分内存区需要手动确定大小,并且之间没有共享。例如:保持池中已经满了,而回收池中还有大量空闲内存,这时回收池的内存不会分配给保持池。
9i开始,还可以设置db_nk_cache。9i之前数据库只能使用相同的块大小。9i开始同一个数据库可以使用多种块大小(2KB,4KB,8KB,16KB,32KB),这些块需要在各自的db_nk_cache中缓存。如果为不同的表空间指定了不同的块大小,需要为其设置各自的缓冲区。
两个不同的列表管理
待写列表(write list):包含已被修改,但尚未写入disk的脏缓存块。
最近最少使用列表(least recently userd/LRU list):包含空闲缓存块,命中缓存块,及还未移入write list的脏缓存块。
Default pool工作方式:
当oracle进程访问一块缓冲区后,会将该缓冲区移动到LRU列表的MRU(most recently userd最近用的即热端),随着更多被访问的缓冲区移动到LRU列表的热端,较早前被访问过的缓冲区就向LRU列表的LRU(least recently used冷端)移动。
当user process 执行FTS(full table scan全表扫描)时,数据首次将会从disk被读入缓冲区,之后将该缓冲区移动到LRU列表的LRU端而非MRU端),以使这些通常暂时需要的全表扫描数据所占的缓冲区能被尽快地移出数据缓冲区,为其他使用频繁更高的数据块腾出空间。
SQL select component,current_size from v$sga_dynamic_components;
如何指定对象使用keep缓存池
Create table aaa(n number) storage (buffer_pool keep);
Alter table bbb storage (buffer_pool keep);
共享池是SGA中最重要的内存段之一。共享池太大和太小都会严重影响服务器性能。主要包括library cache(sql语句缓冲)和data dictionary cache
library cache :SQL和PL/SQL代码在执行前会进行“硬解析”来获得执行计划及权限验证等相关辅助操作。“硬解析”很费时间。对于响应时间很短的查询,“硬解析”可以占到全部时间的2/3。对于响应时间较长的统计等操作,“硬解析”所占用的时间比例会下降很多。执行计划及所需的数据字典数据都缓存在共享池中,让后续相同的查询可以减少很多时间。
SQL select sum(sharable_mem) from v$db_object_cache; 查看library cache大小
data dictionary cache :专供数据字典使用的缓冲区,sql语句分析过程中需要大量访问系统数据字典。
数据字典是用于描述所有数据库对象的数据库对象的集合。
select * from dict;查看数据字典
SQL select sum(sharable_mem) from v$sqlarea; 查看data dictionary cache大小
Set autot on stat 统计信息
动态表(以v$为首):不断动态更新以反映数据库当前运行状况。
对数据库的任何修改都按顺序被记录在该缓冲区中,然后由lgwr进程根据条件更改信息批量写入disk的redolog文件,以节省disk I/O,该缓存不参加ASMM的动
您可能关注的文档
最近下载
- 读后续写+小猫Phin+的生命转机+导学案+湖北省华中师范大学第一附属中学2024-2025学年高二下学期5月联考英语试题.docx
- 《普通动物学》全套教学课件.pdf
- 公司薪酬改革方案.ppt VIP
- 某市道路照明工程施工组织设计方案说明书45页.doc VIP
- MOONS鸣志SR3-Mini步进电机驱动器用户手册.pdf VIP
- 2025山西地质集团秋季校园招聘600人笔试参考题库附答案解析.docx VIP
- 北师大版数学二年上册《回家路上》教学设计.docx VIP
- 2025年北欧神话测试题及答案.doc VIP
- (新版)二级造价工程师《建设工程计量与计价实务》(水利工程)考试题库(含答案).docx VIP
- 学前教育考研课件.ppt VIP
原创力文档


文档评论(0)