Oracle 体系结构【荐】.docVIP

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

1. Oracle体系结构概要: 1.1. 概述 Oracle体系结构由内存结构、进程结构、存储结构组成。其中,内存结构由SGA、PGA组成;进程结构由用户进程和Oracle进程组成;存储结构由逻辑存储、物理存储组成。 1.2. Oracle工作原理: 如上图,数据库处理过程可以简单的描述为: 1,用户在其机器上运行基于Oracle的应用程序(如:SQL*PLUS、PL/SQL Developer等),即启动用户进程。 2,客户机、服务器之间建立连接(Connect)。 3,服务器为用户建立会话(Session),并为该会话建立一个PGA(Program Global Area,程序全局区)以存储与该会话相关的信息。在同一个连接中,不同的用户有不同的会话。 4,启动服务进程,由该服务进程负责执行该会话的各项任务。 5,用户进程发送SQL语句(select、update、commit…。) 6,服务器进程解析、编译、执行SQL语句,然后将结果写入数据库并返回结果给用户进程。 7,用户进程接收返回的SQL执行结果。 8,在应用程序中显示SQL执行结果。 1.3. 体系结构 总体结构分为三个部分,如下图。 其中: 内存结构:包括SGA和PGA。使用内存最多的是SGA,同时也是影响数据库性能的最大参数。 进程结构:包括前台进程、后台进程。前台进程是指服务进程和用户进程。前台进程是根据实际需要而运行的,并在需要结束后立刻结束。后台进程是指在Oracle数据库启动后,自动启动的几个操作系统进程。 存储结构:包括控制文件、数据结构、日志文件等操作系统文件。 2. 存储结构 Oracle数据库的存储结构分为逻辑存储结构和物理存储结构,这两种存储结构既相互独立又相互联系。 逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念上描述在Oracle数据库种如何组织、管理数据。因此,逻辑存储结构是和操作系统平台无关的,是由Oracle数据库创建和管理的。 物理存储结构主要描述Oracle数据库的外部存储结构,即在操作系统种如何组织、管理数据。因此,物理存储结构是和操作系统平台有关的。 注意:必须对这两种存储结构有清晰的理解,并且要清楚在一个具体数据库应用系统中,这两种存储结构的具体对应关系,否则就不能进行正常的管理操作、数据库备份与恢复、性能优化等。 两种存储结构之间的关系,如下图: 从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成; 从逻辑上来看,数据库是由系统表空间、用户表空间等组成。 表空间是最大的逻辑单位,块是最小的逻辑单位。 逻辑存储结构中的块最后对应到操作系统中的块。 2.1. 逻辑存储结构: Oracle的逻辑存储结构是由一个或多个表空间组成。 一个表空间(tablespace)由一组段组成 一个段(segment)由一组区组成 一个区(extent)由一批数据库块组成 一个数据库块(block)对应一个或多个物理块 逻辑结构示意图如下: (1)数据库块(Database Block) 块是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。 一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。 块的大小是操作系统块大小的整数倍。以Win2K为例,操作系统块(OS block)的大小为4kb,所以Oracle Block的大小可以是4kb,8kb,16kb等等。如果块的大小为4kb,某表每行的数据是100 bytes。,如果某查询语句只返回1行数据,那么,在将数据读入到数据高速缓存时,读取的数据量时4kb而不是100 bytes。 数据块的结构包括块头和存储区两个部分。 第一部分:块头 标题:包括通用的块信息,如块地址/段类型等,最佳大小为85-100bytes。 表目录:存储聚集中表的信息,这些信息用于聚集段。 行目录:包括这块中的有效行信息,允许使用每行开头的2bytes。 第二部分:存储区 空闲区:这块中能插入或修改的一组空间。 行数据区:存储表或索引的数据。 控制块的几个参数:它们是互相消涨的 Pctfree(自由百分比) 20%左右 用于行的UPDATE操作,在遇到PCTFREE后,这块被填满且不能进行INSERT操作。 Pctused(占用百分比) 40%左右 用于行的INSERT的操作,当块的百分比小于PCTUSED时,可通过行DELETE或UPDATE来减少列存储。 Inittrans 在单一块中最初活动的交易事务数 Maxtrans 在单一块中最大交易事务数 (2)区(Extent) 区是数据库存储空间分配的逻辑单位,一个区由一组数据库块组成,区是由段分配的,分配的第一个区称初始区,

文档评论(0)

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

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

1亿VIP精品文档

相关文档