Oracleblogstudy.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle blog study Oracle concept by Web_Frinedy Connect blog : /347643/action-spacelist 1??????概述及体系结构 完整的oracle数据库包括数据库db,数据库管理系统dbms两大部分,这两个部分分别对应的是存储网络结构和软件结构。 1.1?????oracle网络结构 单层结构(服务器,哑终端)特点是使用基于字符的非图形终端设备直接串行地连接到oracle数据库。所有的处理都发生在大型机上。单层结构的配置和管理较方便,也不存在多操作系统的复杂性问题。单层结构在可缩放性和灵活性方面有些限制,大型机的性能决定了整个系统的性能。 双层结构:特点是客户机具有图形用户界面,易于理解,学习,操作,客户机具有智能,可进行处理,减轻了对服务器性能的需求。(c/s结构,服务器,智能客户机) n层结构:它在客户机和数据库服务器之间引进了中间件,如应用服务器或web服务器。 工作原理,包括数据库系统处理过程和体系结构两方面 建立连接,在连接的基础上,为用户建立会话session,并为该会话创建一个pga区(程序全局区)以存储与该会话相关的信息。在同一个连接中,不同的用户有不同的会话。启动服务进程,由该服务进程负责执行该会话的各项任务。 1.2?????ORACLE 10g体系结构 ?Oracle由实例(instance)和数据库(database)组成 ? 实例:内存(SGA)和后台进程的集合,内存提供了处理的场所,而后台进程相当于工具 ? 数据库:包含三大文件,数据文件、控制文件和联机日志文件 oracle 体系结构图 2??????实例的组成-内存及进程组件概述 实例由内存(SGA)和后台进程组成,内存提供了处理的场所,而后台进程相当于工具。 2.1?????SGA SGA包括一个固定区,一个可变区,一个数据库缓存和一个redo缓存。这些是比较笼统的信息,具体的SGA分为两大部分,具体如下: ??Variable SGA ??数据缓冲(Database Buffer Cache)也叫做块缓冲区(block buffer cache) ??共享池(Shared Pool) ??大池(Large Pool) ??Java池(Java Pool) ??流池(Streams Pool 10g以后才有) ??重做日志缓冲(Redo Log Buffer) ??其它buffer caches(如KEEP, RECYCLE, and other block sizes cache等) Shared Pool、Java Pool、Large Pool和Streams Pool这几块内存区的大小是相应系统参数设置而改变的,所以有通称为可变SGA(Variable SGA)。 ??Fixed SGA ??Fixed SGA and other internal allocations。(包含shared pool中的data dictionary cache) 此外,用于防止对内存结构的并行访问的锁(latch)的信息也包含在SGA区中。 oracle 内存组件 oracle SGA 2.1.2??SGA的重要参数和特性 在设置SGA时,有一些很重要的参数,它们设置正确与否,会直接影响到系统的整体性能。下面一一介绍: ?SGA_MAX_SIZE SGA区包括了各种缓冲区和内存池,而大部分都可以通过特定的参数来指定它们的大小。但是,作为一个昂贵的资源,一个系统的物理内存大小是有限。尽管对于CPU的内存寻址来说,是无需关系实际的物理内存大小的(关于这一点,后面会做详细的介绍),但是过多的使用虚拟内存导致page in/out(内存的访问速度是硬盘的访问速度的14000倍),会大大影响系统的性能,甚至可能会导致系统crash。所以需要有一个参数来控制SGA使用虚拟内存的最大大小,这个参数就是SGA_MAX_SIZE。 当实例启动后,各个内存区只分配实例所需要的最小大小,在随后的运行过程中,再根据需要扩展它们的大小,而它们的总和大小受到了SGA_MAX_SIZE的限制。 当试图增加一个内存的大小,并且如果这个值导致所有内存区大小总和大于SGA_MAX_SIZE时,oracle会提示错误,不允许修改。 当然,如果在设置参数时,指定区域为spfile时(包括修改SGA_MAX_SIZE本身),是不会受到这个限制的。这样就可能出现这样的情况,在spfile中,SGA各个内存区设置大小总和大于SGA_MAX_SIZE。这时,oracle会如下处理:当实例再次启动时,如果发现SGA各个内存总和大于SGA_MAX_SIZE,它会将SGA_MAX_SIZE的

文档评论(0)

gangshou + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档