Oracle体系结构组件剖析.ppt

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

Oracle 体系结构组件 目标 完成这一课的学习后,您应该能达到下列目标: 概括 Oracle 体系结构及其主要组件 列出在用户连接到 Oracle 例程过程中涉及的结构 Oracle数据库中常用的术语 进程(process):一段在内存中正在运行的程序。 后台进程(background process):进程的一种,在内存中运行时,不占显示,而且它的优先级比前台进程低。可以只有一个前台进程,但可以有多个后台进程。 缓冲区(buffer):一段用来临时存储数据的内存区。 主机(host):计算机系统的另一个称呼。 服务器(server):一台在网络中向其他计算机系统提供一项或多项服务的主机。 客户机(client):一台使用由服务器(server)提供服务的计算机系统。 基本组件概览 Oracle 服务器 Oracle 服务器: 是一个数据库管理系统,它为 信息管理提供了开放、综合和 集成的方法 包括 Oracle 例程和 Oracle 数据库 Oracle 例程 Oracle 例程: 是一种访问 Oracle 数据库的方式 始终打开一个,并且只打开一个数据库 由内存结构和后台进程结构组成 建立连接和创建会话 连接到 Oracle 例程包括: 建立用户连接 创建会话 Oracle 数据库 Oracle 数据库: 是一个被统一处理的数据集合 包括三类文件 物理结构 物理结构包括以下三种文件类型: 控制文件 数据文件 重做日志文件 内存结构 Oracle 的内存结构由两个内存区组成,分别是: 系统全局区 (SGA) :在例程启动时分配,是 Oracle 例程的基本组件 程序全局区 (PGA) :在服务器进程启动时分配 系统全局区 SGA 包括以下几种内存结构: 共享池 数据库缓冲区高速缓存 重做日志缓冲区 其它结构(例如锁定和栓锁管理以及统计数据) 在 SGA 中还可配置其它两种内存结构: 大型共享池 Java 池 系统全局区 SGA 是动态的 大小由 SGA_MAX_SIZE 参数指定 由 SGA 组件以粒组为单位进行分配和跟踪 连续的虚拟内存分配 粒组大小由估算的 SGA_MAX_SIZE 总计大小确定 Oracle 执行SQL查询语句的步骤 如果用户在SQL*Plus下输入了如下的查询语句: Select * from student; 那么,Oracle又是如何来处理这个语句的呢? Oracle 执行SQL查询语句的步骤 编译(parse) 执行(execute) 提取数据(fetch) Oracle 执行SQL查询语句的步骤 编译:在进行编译时,服务器进程会将SQL语句的正文放入共享池(shared pool)的库高速缓存(library cache)中并将完成以下处理: 首先在共享池中搜索是否有相同的SQL语句(正文),如果没有就进行后续的处理。 检查该SQL语句的语法是否正确。 通过查看数据字典来检查表和列的定义。 对所操作的对象加编译锁以便在编译语句期间这些对象的定义不能被改变。 检查所引用对象的用户权限。 生成该SQL语句所需的优化的执行计划(执行步骤)。 将SQL语句和执行计划装入共享的SQL区。 Oracle 执行SQL查询语句的步骤 执行:Oracle服务器进程开始执行SQL语句是因为它已获得了执行SQL语句所需的全部资源和信息。 提取数据:Oracle服务器进程选择所需的数据行,并在需要时将其排序,最后将结果返回给用户(进程)。 共享池 用于存储: 最近执行的 SQL 语句 最近使用的数据定义 它包括以下两个与性能相关的关键内存结构: 库高速缓存 数据字典高速缓存 其大小由 SHARED_POOL_SIZE 参数确定 库高速缓存 存储有关最近使用的 SQL 和 PL/SQL 语句的信息 启用常用语句共享 由 “最近最少使用算法” (LRU) 管理 包括以下两个结构: 共享的 SQL 区 共享的 PL/SQL 区 大小由共享池的大小确定 数据字典高速缓存 数据库中最近使用的定义的集合 包括与数据库文件、表、索引、列、用户、权限和其它数据库对象相关的信息 在语法分析阶段,服务器进程会在数据字典中查找用于解析对象名和验证访问的信息 将数据字典信息高速缓存到内存中,可缩短查询和 DML 的响应时间 大小由共享池的大小决定 数据库缓冲区高速缓存 存储已从数据文件中检索到的数据块的副本 能够大幅提高获取和更新数据时的性能 通过 LRU 算法管理 主块的大小由 DB_BLOCK_SIZE 确定 数据库缓冲区高速缓存 由独立的子高速缓存

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档