




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章体系结构 本章概述本章要点教学过程 本章概述 作为一个数据库旗舰产品 Oracle系统具有可扩充性 可靠性和可管理性 可扩充性表示当Oracle系统承担不断增长的工作负载的同时 具有有效扩充其系统资源利用情况的能力 也就是说 给定的系统既可以有效地为5个用户提供服务 也可以有效地为5000个用户同时提供服务 可靠性表示Oracle系统具有极强的抵御风险的能力 无论是操作系统崩溃 还是系统出现故障 都可以确保在执行事务处理时不出现异常或尽快地恢复到故障前的状态 可管理性表示数据库管理员可以调整Oracle使用内存的方式 向磁盘写入数据的频率 数据库为连接到该数据库的用户分配系统进程的方式等等 这些能力都是与Oracle的体系结构密切相关的 本章通过将OracleDatabase10g与以前版本进行比较 介绍OracleDatabase10g系统体系结构的特点 本章要点 如何连接到数据库实例服务器进程的作用和特点Oracle文件系统的结构层次重做日志的作用和特点OracleDatabase10g是如何管理内存的后台进程的作用 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 4 1概述 Oracle系统的体系结构是指组成Oracle系统的主要组成部分 这些组成部分之间的关系 以及这些部分的工作方式 在Oracle系统的体系结构中 主要涉及到以下5个组件 连接数据库实例的能力 这是Oracle系统的体系结构中协同工作的方式 服务器进程 文件系统的结构层次 内存区域的管理 尤其是系统全局区域 systemglobalarea SGA 的特点和作用 后台进程 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 4 2连接数据库实例 本节介绍连接数据库实例的操作 为了连接数据库实例 涉及到3个方面的内容 即用户进程Oracle监听器Oracle网络客户 用户进程 可以将用户进程 userprocess 看作是一些试图连接数据库的软件 例如客户工具 用户进程可以使用OracleNetServices Oracle网络服务 与数据库进行通讯 OracleNetServices是一组通过网络连接协议提供网络连接的组件 对应用开发人员和数据管理员来说 OracleNetServices屏蔽了不同硬件平台上设置不同网络的复杂性 在Oracle系统中 不用编辑服务器上的注册表 使用一些简单的配置文件就可以管理OracleNetServices Oracle监听器 Oracle监听器 listener 是一个运行于Oracle数据库服务器上的进程 其职责是监听来自于客户应用的连接请求 客户负责在初始化连接请求中向监听器发送服务名称 该服务名称是一个标识符 它可以唯一地标识客户试图连接的数据库实例 当然 Oracle监听器不仅能够监听数据库实例 而且还可以监听其他服务 例如HTTP服务器和IIOP服务器 Oracle网络客户 对于SQL Plus OracleEnterpriseManager OracleNetManager这些客户工具来说 可以使用OracleNetServices客户适配器与Oracle数据库进行交互 就像服务器一样 这些客户工具也需要经过配置才可以与网络上某处的数据库进行交互 对于监听器来说 这个配置文件是listener ora 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 4 3服务器进程 当OracleNetServices接收到用户进程的连接请求之后 就会将用户进程路由到一个服务器进程 serverprocess 服务器进程负责在用户进程和Oracle实例之间调度请求和响应 当用户进程提交查询之后 服务器进程则负责执行该查询语句 即将数据从磁盘读入缓存 获取查询结果 然后向用户进程返回结果 即使响应出现了某些错误 服务器进程也会把错误信息发回用户进程 以便用户进程进行合适的处理 专用服务器 dedicatedserver 模式 系统会向每个要与数据库进行连接的用户进程赋予它自己的专用服务器进程 这是用户安装Oracle数据库时所配置的方式 也是大多数数据库管理员运行数据库的方式 专用服务器为用户进程和服务器进程之间提供了一对一的映射关系 共享服务器模式 共享服务器也被称为多线程服务器 multi threadedserver MTS 在共享服务器模式中 有一个调度程序组件 该组件负责在用户进程与服务器进程之间进行路由 当用户进程请求与共享服务器进行连接时 OracleNetServices就会将会话请求路由到调度程序中 而不是路由到服务器进程中 然后 调度程序就会将请求发送到请求队列中 这时第一个空闲的共享服务器就会获得请求 共享服务器生成的结果则放回到响应队列中 受到调度程序的监控 并且返回到客户中 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 4 4文件系统 本节介绍Oracle系统所使用的文件系统 在Oracle数据库进程的日常操作中 该进程使用 数据词典应用数据用于数据库启动的参数事务处理日志管理数据库物理结构的文件其他类型的文件 参数文件 参数文件 parameterfiles 用于在启动实例时配置数据库 当建立数据库时 用户就可以运行初始化文件 该文件规定了数据库中所使用的各种设置值 这些设置包括数据库实例名称 SID 数据库主要文件的位置 实例所使用的主要内存区域的大小等 该文件的名称通常为init ora 例如 如果数据库实例名称是sales 则其初始化文件的名称是initsales ora 控制文件 控制文件 controlfiles 是Oracle服务器在启动期间用来标识物理文件和数据库结构的二进制文件 控制文件提供了建立新实例时所需要的文件目录 Oracle系统可以在常规的数据库操作期间 更新控制文件 以便下次使用 当用户建立控制文件时 最好建立多个控制文件副本 如果可能的话 把这些控制文件副本放置到不同的物理驱动器上 数据文件 数据文件是用来存放用户数据的地方 这些数据文件对于用户数据的稳定性和完整性十分重要 如果失去了这些数据文件 用户就不会有数据了 当然也就不会有数据库了 每一个数据库至少有一个与之相关的数据文件 通常情况下 一个数据库有多个数据文件 数据存储层次 数据库由一个或多个表空间组成 表空间由一个或多个数据文件组成 表空间中包含段 段 表 索引等 由一个或多个盘区组成 段存在于表空间中 但是在表空间中可以有许多数据文件中的数据 盘区是在磁盘上连续的块的组 一个盘区在一个表空间中 且在表空间中单一的文件中 块是数据库中最小的分配单元 也是数据库使用的最小I O单元 表空间 表空间是用户可以在Oracle系统中使用的最大的逻辑存储结构 用户在数据库中建立的所有内容都会存储在表空间中 每个Oracle数据库都提前配置了system表空间 它存储了数据字典和系统管理信息 一般情况下 用户和应用程序使用自己的表空间来存储数据 写入到临时表中的数据 为大规模排序操作写入磁盘的数据块以及其他许多类型的临时数据都会被写入到表空间中 段 段是用户建立的数据库对象的存储表示 用户建立的每一个表都会有一个在表空间中存储的逻辑段 为用户所建立的对象生成的段都要在磁盘上占用空间 在Oracle系统中 有3种类型的段 即数据段 临时段和回滚段 有时也称为撤销段 数据段是存储表 索引 簇 表分区等常规应用数据的地方 临时段是临时表空间中的段 可以用来存储临时表 引起内存页交换的SQL语句等 回滚段用于管理数据库中的undo数据 并且为事务处理提供数据库的读取一致性视图 盘区 段是由一个或多个盘区构成的 盘区是用来为段存储数据的逻辑上连续的数据块的集合 当建立数据库对象时 无论如何 该对象都会消耗空间 系统就会建立一个或多个盘区来存储数据 盘区数量和盘区大小可以在正在建立对象的storage子句中规定 在Oracle系统中 默认的表空间的盘区管理风格是本地化管理 而不是字典管理 数据块 数据块代表了数据库中最小颗粒的逻辑数据存储层次 数据块层次上是盘区结构 盘区是由连续的数据块集合构成 而盘区构成了段 段则构成了表空间 表空间构成了数据库 重做日志文件 重做日志文件对Oracle数据库至关重要 它是数据库的事务日志 重做日志文件仅用于恢复数据库 当实例或存储介质失败时 使用重做日志文件来维护数据库 事实上 在Oracle系统中执行的每一步步操作都生成了一定数量的重做日志 它们被写入到联机重做日志文件中 当将一个行插入到某个表中时 插入的结果被写入到重做日志中 当删除表中的某行数据时 该行数据也被写入到重做日志中 Oracle数据库要求每个数据库实例都至少有两个重做日志文件组 每一个重做日志文件组中有一个单独的成员 临时文件 在Oracle系统中 临时文件是一个特殊类型的数据文件类型 当内存不足以在RAM中保存一个大规模排序操作的中间结果或结果集时 Oracle使用临时文件来保存它们 永久数据对象 例如表或索引 不会被存储到临时文件中 但是临时表或临时索引的内容则可能存储到临时文件中 所以 不能在临时数据文件中创建自己的应用程序表 但是可以在临时表中存储数据 Oracle管理文件 Oracle管理文件 Oraclemanagedfile OMF 有时也称为Oracle托管文件 当数据库管理员在其数据库中使用Oracle管理文件时 可以省去对某些类型的数据库对象进行手工管理 这些类型的数据库对象包括表空间 控制文件和联机重做日志文件 使用Oracle管理文件并未禁止数据库管理员使用以前的文件管理方式 用户仍然可以为表空间 重做日志文件和控制文件规定明确的文件名 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 4 5内存区域 在Oracle系统的体系结构中 有许多不同的内存区域 不同的内存区域用于不同的目的 Oracle的服务器进程和许多后台进程负责在内存区域中写入 更新 读取和删除数据 理解内存区域的用途 有助于理解数据库操作期间的数据和进程流程 Oracle中的3个主要内存区域是 系统全局区域 systemglobalarea SGA 程序全局区域 programglobalarea PGA 用户全局区域 userglobalarea UGA 系统全局区域 程序全局区域和用户全局区域 程序全局区域是为单独的服务器进程存储私有数据的内存区域 与所有服务器进程都可以访问的共享内存区域SGA不同 数据库写入器 日志写入器和许多其他的后台进程 都只为各个服务器进程提供一个PGA PGA只能由他们的服务器进程访问 用户全局区域是用于存储会话状态的内存区域 UGA的位置依赖于服务器是运行在共享服务器模式中 还是专用服务器模式中 在专用服务器模式中 UGA会在PGA中分配 只能够由服务器进程访问 教学过程 4 1概述4 2连接数据库实例4 3服务器进程4 4文件系统4 5内存区域4 6后台进程 4 6后台进程 无论用户是否连接数据库 有些进程都会作为数据库的一部分运行 这些进程被称为后台进程 每一个后台进程都有自己的职责 如果这些后台进程崩溃了 那么数据库也就随着崩溃了 实际上 Oracle实例是由后台进程和内存结构共同组成的 Oracle的后台进程主要是用来提高数据库的性能和可靠性 它可以由多个用户共同使用 为这些并发用户进程提供各种服务 Oracle的后台进程执行输入 输出操作 并监视Oracle9i服务器的其他进程 Oracle的后台进程的结构示意图如图4 5所示 一般情况下 Oracle的后台进程包括PMON SMON DBWn LGWR ARCn CKPT等 进程监控器 进程监控器 processmonitor PMON PMON的主要职责是监控服务器进程和注册数据库服务 监控服务器进程 确保能够销毁发生损坏或出现故障的进程 释放这些进程占用的资源 在主机操作系统上使用Oracle监听器注册数据库服务 全局数据库名称 SID以及其他数据库支持的服务都要使用监听器注册 系统监视器 系统监视器 systemmonitor SMON 的主要职责包括重新启动系统 清除临时段 执行盘区结合等 在出现故障实例的情况下 SMON负责重新启动系统 执行崩溃恢复 这项职责包括回滚未提交的事务处理 为实例崩溃时还没有写入数据文件的事务处理在数据库上应用重做日志表项 来自于归档的重做日志文件 等任务 SMON将会清除已经分配但是还没有释放的临时段 在字典管理表空间中 如果有大量的盘区 那么清除临时段所花费的时间将会非常多 这可能导致数据库启动时的性能问题 因为SMON将会在这个时候试图清除临时段 SMON会在字典管理表空间中执行盘区结合 数据库写入器 数据库缓存包含了由用户所使用的数据 数据块会从磁盘读入缓存 各种服务器进程会在那里对它们进行读取和修改 当要将这些缓存中的数据块写回到磁盘时 数据库写入器 databasewriter DBWn 负责执行这些数据的写入操作 日志写入器 日志写入器 logwriter LGWR 负责向在线重做日志文件中记录所有数据库的已提交事务处理 该进程会将所有数据从重做日志缓存中写入到现行的在线重做日志文件中 日志写入器会在下面4种不同情况下执行写入操作 事务处理进行提交 重做日志缓存已经填充了1 3 重做日志缓存中的数据量达到了1MB 每3秒的时间 归档器 虽然可以通过在线重做日志文件中的事务处理日志恢复实例故障 但是却不能恢复介质故障 如果磁盘遇到了不可恢复的崩溃 那么恢复数据库的唯一方式就是利用备份 通常 每个月 每个星期 每天都需要执行备份 但是 重做日志文件不能保存所有具有价值的事务处理 所以 需要在这些有价值的事务处理被覆盖之前保存他们 这就是引入归档器 archiver ARCn 的原因 归档器会随着数据库的运行完成其工作 有效地采用热备份或在线备份 检查点 检查点 checkpoint CKP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.3防疫小话剧(教学设计)2023-2024学年四年级上册信息技术川教版
- 2024秋五年级道德与法治上册 第一单元 面对成长中的新问题 1 自主选择课余生活说课稿 新人教版
- Unit 1 Friendship-Reading 说课稿英文版 2024-2025学年沪教版英语七年级上册
- 2025年2月医疗器械模考试题(含参考答案)
- 2025年全国起重指挥作业证考试题库(含答案)
- 2025年人教版七年级英语上册 Unit 1 You and Me 综合素质评价单元试卷(含答案)
- 2025共同租赁房屋合同范本汇编
- 2025租房合同模板示例
- 2025版权授权合同范本:手写字体制作协议
- 葡萄酒知识培训顺序课件
- 茶壶课件教学课件
- 孟良崮战役课件
- 2025-2026学年人教版(2024)初中数学七年级上册教学计划及进度表
- GB/T 3836.3-2021爆炸性环境第3部分:由增安型“e”保护的设备
- 制药工程导论课件
- 推拿手法精品课件
- deflt3d-教程delft网格生成d3d
- 安全心理学概述PPT通用课件
- 2022年妇科三基考试题库(导出版)
- 病媒生物防制技术指导手册(20130703)
- 钢筋加工机械技术状况常检查记录表
评论
0/150
提交评论