oracle 1g优化指南.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oracle 1g优化指南

Oracle内存全面解析 Oracle的内存配置与oracle性能息息相关。而且关于内存的错误(如4030、4031错误)都是十分令人头疼的问题。可以说,关于内存的配置,是最影响Oracle性能的配置。内存还直接影响到其他两个重要资源的消耗:CPU和IO 首先,看看Oracle内存存储的主要内容是什么: 程序代码(PLSQL、Java); 关于已经连接的会话的信息,包括当前所有活动和非活动会话; 程序运行时必须的相关信息,例如查询计划; Oracle进程之间共享的信息和相互交流的信息,例如锁; 那些被永久存储在外围存储介质上,被cache在内存中的数据(如redo log条目,数据块)。 此外,需要记住的一点是,Oracle的内存是与实例对应的。也就是说,一个实例就有一个独立的内存结构 先从Oracle内存的组成架构介绍 1.?? Oracle的内存架构组成 Oracle的内存,从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA和UGA)。而这两部分内存里面,根据功能不同,还分为不同内存池(Pool)和内存区(Area)。下面就是Oracle内存构成框架图: ??SGA ? Share Pool? Buffer Cache? Redo Log Buffer? Java Pool? Stream Pool(10g)? Large Pool?PGA*n Bitmap merge areaSort AreaHash Area?UGA*nCUA*n下面分别介绍这两块内存区 1.1.??????????? SGA(System Global Area) SGA(System Global Area 系统全局区域)是一组包含一个Oracle实例的数据和控制信息的共享内存结构。 Oracle进程和一个SGA就构成了一个Oracle实例。当实例启动时,Oracle会自动从系统中分配内存给SGA,而实例关闭时,操作系统会回收这些内存。下面就是当实例启动后,显示已经分配了SGA: SQL startup ORACLE instance started. Total System Global Area? 289406976 bytes Fixed Size???????????????? ?1248576 bytes Variable Size???????????? 117441216 bytes Database Buffers????????? 163577856 bytes Redo Buffers??????????????? 7139328 bytes Database mounted. Database opened. SQL SGA区是可读写的。所有登录到实例的用户都能读取SGA中的信息,而在oracle做执行操作时,服务进程会将修改的信息???入SGA区 SGA主要包括了以下的数据结构: 数据缓冲(Buffer Cache) 重做日志缓冲(Redo Log Buffer) 共享池(Shared Pool) Java池(Java Pool) 大池(Large Pool) 流池(Streams Pool 10g以后才有) 数据字典缓存(Data Dictionary Cache) 其他信息(如数据库和实例的状态信息) 最后的两种内存信息会被实例的后台进程所访问,它们在实例启动后就固定在SGA中了,而且不会改变,所以这部分又称为固定SGA(Fixed SGA)。这部分区域的大小一般小于100K 此外,用于并非进程控制的锁(latch)的信息也包含在SGA区中 Shared Pool、Java Pool、Large Pool和Streams Pool这几块内存区的大小是相应系统参数设置而改变的,所以有通称为可变SGA(Variable SGA) 1.1.1.?? SGA的重要参数和特性 在设置SGA时,有一些很重要的参数,它们设置正确与否,会直接影响到系统的整体性能。下面一一介绍他们: ???????? SGA_MAX_SIZE SGA区包括了各种缓冲区和内存池,而大部分都可以通过特定的参数来指定他们的大小。 当实例启动后,各个内存区只分配实例所需要的最小大小,在随后的运行过程中,再根据需要扩展他们的大小,而他们的总和大小受到了SGA_MAX_SIZE的限制 当试图增加一个内存的大小,并且如果这个值导致所有内存区大小总和大于SGA_MAX_SIZE时,oracle会提示错误,不允许修改 当然,如果在设置参数时,指定区域为spfile时(包括修改SGA_MAX_SIZE本身),是不会受到这个限制的。这样就可能出现这样的情况,在spfi

文档评论(0)

quechui388620 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档