Oracle_内存_架构.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle_内存_架构.doc

一、Oracle内存存储 Oracle的内存配置与oracle性能息息相关。关于内存的配置,是最影响Oracle性能的配置。内存还直接影响到其他两个重要资源的消耗:CPU和IO. 先看Oracle 程序代码(PLSQLJava); 关于已经连接的会话的信息,包括当前所有活动和非活动会话; 程序运行时必须的相关信息,例如查询计划; Oracle 那些被永久存储在外围存储介质上,被cacheredo log条目,数据块)。 每个OracleOracle Instance(实例)与数据库(数据文件,控制文件、重做日志文件)组成,其中所谓实例就是用户同数据库交互的媒介,用户通过于一个实例相连来操作数据库。而实例又是由统一的内存结构(SGA,PGA,UGA)和一批内存驻留进程组成。实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识, 它们两个的值是相同的。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA), 构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle的 进程结构,内存区域和后台进程合称为一个Oracle实例。 ? 二、SGA SGA是一组为系统分配的共享的内存结构,可以包含一个数据库实例的数据或控制信息。如果多个用户连接到同一个数据库实例,在实例的SGA中,数据可以被多个用户共享。 当数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收。 SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素。 ? SGA区是可读写的。所有登录到实例的用户都能读取SGA中的信息,而在oracle做执行操作时,服务进程会将修改的信息写入SGA区。 SGA主要包括了以下的数据结构: 数据缓冲(Buffer Cache 重做日志缓冲(Redo Log Buffer 共享池(Shared Pool Java池(Java Pool) 大池(Large Pool 流池(Streams Pool 10g 数据字典缓存(Data Dictionary Cache 其他信息(如数据库和实例的状态信息) ? ? Total System Global Area 612368384 bytes Fixed Size 1250428 bytes Variable Size 192940932 bytes Database Buffers 411041792 bytes Redo Buffers 7135232 bytes ? SGA 中的数据字典缓存其他信息 会被实例的后台进程所访问,它们在实例启动后就固定在SGA固定SGAFixed SGA)。这部分区域的大小一般小于100K。 ? Shared Pool、Java Pool、Large Pool和Streams Pool这几块内存区的大小是相应系统参数设置而改变的,所以有通称为可变SGAVariable SGA)。 ? ? ? 截图出自Oracle 11g 的架构图。 下载地址:/source/2346700 ? 通过下面的语句查询 SQL show parameter sga NAME TYPE VALUE lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 584M sga_target big integer 584M ? 先对这几个参数做一下说明: ? SQL select name,value ,ISSYS_MODIFIABLE from v$parameter where name like sga%; NAME VALUE ISSYS_MOD sga_max_size 612368384 FALSE sga_target 612368384 IMMEDIATE 如果ISSYS_MODIFIABLE 返回的是false,说明该参数无法用alter system语句动态修改,需要重启数据库。 所以sga_max_size 是不可以动态调整的。但是我们可以对sga_target 进行动态的调整。 ? SGA_MAX_SIZE: SGA区包括了各种缓冲区和内存池,而大部分都可以通过特定的参

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档