Oracle数据库基础及应用第2章.ppt

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

3.控制文件 数据库控制文件是一个较小的二进制文件,用于描述数据库结构,用以支持数据库成功地启动和运行。 每个Oracle数据库有一个控制文件,记录数据库的物理结构。 控制文件包含数据库名称、数据库数据文件和日志文件的名字、位置和数据库建立日期、表空间信息、检查点信息、当前日志序列数据等信息。 数据库的控制文件用于标识数据库和日志文件,当开始数据库操作时它们必须处于可写状态。 当数据库的物理组成更改时,Oracle会自动更改该数据库的控制文件,任何数据库管理员都不能直接编辑控制文件。 Oracle数据库 数据文件 日志文件 控制文件 物理块 物理块 物理块 数据库 物理文件 物理块 图2-4:物理存储结构 2.3.2 软件结构 在Oracle体系结构中提到,软件结构是由内存结构和进程结构共同组成。 SGA(System Global Area,系统全局区) 数据 高速缓存 日志 高速缓存 共享池 大池 Java池 PGA(Program Global Area, 程序全局区) Background Processes,后台进程 服务进程 排序区 会话区 堆栈区 DBWR PMON SNPn RECO LGWR SMON CKPT ARCH 图2-5:软件结构 2.3.2.1 内存结构 内存结构是Oracle数据库体系中最为重要的一部分,内存也是影响数据库性能的第一因素。 按照内存的使用方法的不同,Oracle数据库的内存又可以分为系统全局区(System Global Area,SGA)和程序共享区(Program Global Area,PGA)两种内存结构。 1.系统全局区(SGA) SGA是一组共享内存结构,其中包含一个Oracle数据库例程数据及控制信息。如果有多个用户同时连接到同一个例程,则此例程的SGA数据由这些用户共享。因此,SGA也称为共享全局区(System Global Area)。 SGA包含以下数据结构: ⑴数据缓冲区 ⑵重做日志缓冲区 ⑶共享池 ⑷ Java池 ⑸大池 1.系统全局区(SGA) SGA包含以下数据结构: ⑴数据缓冲区(Database Buffer Cache) 用来保存从数据文件中读取最近的数据块信息,其中的数据被所有用户共享。当用户第一次执行查询或修改数据信息时,后台进程将所需的数据从数据文件读取出来,装入数据缓冲区。当再有用户访问同样的数据时,Oracle就可直接从缓冲区把数据返回给用户。 ⑵重做日志缓冲区 SGA中的循环缓冲区,用于记录数据库发生改变的信息。 1.系统全局区(SGA) ⑶共享池 用于缓存与SQL或PL/SQL语句、数据字典、资源销以及其他控制结构相关的数据。 ⑷ Java池(Java Pool) 为Java命令提供语法分析。 ⑸大池 它是数据库管理员配置的可选内存区域,用于分配大量的内存,处理比共享池更大的内存。大池用于大内存操作,提供了相对独立的内存空间。需要大池的操作有:数据库的备份和恢复操作;执行并行化的数据库操作;执行具有大量排序的SQL语句。 2. 程序共享区(PGA) PGA是包含Oracle进程数据和控制信息的内存区域。它在Oracle进程启动时由Oracle创建,是Oracle进程的私有内存区域,不能共享,只有Oracle进程才能对其进行访问。PGA可以分为堆栈区和数据区两部分。 Oracle使用内存存储以下信息:程序代码;连接会话的信息,包括当前并未激活的会话;程序运行过程中的信息(例如当前查询的状态等);Oracle进程共享和通信的信息;缓冲区中的数据,这些数据同时保存在外存储器中。 2.3.2.2 进程结构 进程是操作系统中的一种机制,它可执行一系列的操作步骤;是一个可以独立调用的活动,用于完成指定的任务。进程通常有自己的专用存储区。 所有连接到Oracle的用户都必须运行以下两个模块的代码来访问Oracle数据库例程。这些模块都是通过进程运行的。 (1)应用程序或Oracle工具:例如预编译程序或SQL*Plus等,对SQL语句进行处理。 (2)Oracle服务器代码:用于解释和处理应用程序的SQL语句。 2.3.2.2 进程结构 Oracle进程分为服务器进程和用户进程。 用户进程:是在服务器内存上运行的程序。用户进程向服务器进程请求信息。 服务器进程:接收用户进程发出的请求,根据请求与数据库通信,完成与数据库的连接操作和I/O访问。 2.3.2.2 进程结构 数据库后台进程:负责完成数据库的后台管理工作的进程。 系统监控进程(SMON):在数据库系统启动时执行恢复性工作的强制性进程,对有故障的CPU或实例进行恢复。 进程监控进程(PMON):用于恢复失败的数据库用户的强制性进程,获取失败用户的标识,释放该用户占用

文档评论(0)

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

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

1亿VIP精品文档

相关文档