




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Oracle数据库的体系结构 2 1Oracle数据库的物理存储结构 Oracle数据库的物理存储结构由存储在磁盘中的操作系统文件组成 包括构成数据库的各种物理文件 包括数据文件 控制文件 重演日志文件 归档重演日志文件 参数文件 警告 跟踪日志文件和备份文件等 Oracle数据库存储结构 物理存储结构数据文件 DataFile 重做日志文件 RedoLogFile 控制文件 ControlFile 逻辑存储结构表空间 TableSpace 段 Segment 区 Extent 块 Block Oracle数据库文件类型及其关联 2 1 1数据文件 DataFile 数据库中所有的数据最终都保存在数据文件中 每个Oracle数据库都有一个或多个物理数据文件数据文件中包括表数据索引数据数据字典定义回滚事务所需的信息存储过程 函数和数据包的代码用来排序的临时数据 一个数据文件只能与一个数据库相关联 N 1 可以对数据文件设置一些特性 在数据库空间用完的情况下可以自动扩展 一个或多个数据文件构成了一个数据库存储的逻辑单元 表空间 tablespace 提示 表空间是数据库存储的逻辑单位 数据库文件如果离开了表空间将失去意义 而表空间如果离开了数据文件将失去物理基础 数据文件的特点 例 使用数据字典dba data files查看表空间system所对应的数据文件的部分信息 SQL descdba data files SQL selectfile name tablespace name autoextensiblefromdba data fileswheretablespace name SYSTEM dba data files表结构 查询执行结果 2 1 2控制文件 数据库控制文件 controlfile 是一个很小的二进制文件 用于维护数据库的全局物理结构 它存放着数据库中数据文件和日志文件的信息 创建数据库时 同时就提供了与之对应的控制文件 每一个控制文件只能与一个Oracle数据库相关联 控制文件包含了数据库实例在启动和正常操作时 访问数据库所需的关于数据库的信息 一旦损坏 数据库将无法正常工作 查询当前数据库的控制文件信息 使用数据字典 V controlfile 提示 Oracle一般会默认创建3个包含相同信息的控制文件 分别存储在不同磁盘互为镜像 以防其中之一受损时 数据库可以调用其他控制文件继续工作 SQL columnnameformata50 SQL selectnamefromV controlfile 控制文件包含的信息 数据库名称数据库创建的时间戳相关的数据文件 重演日志文件的名称和位置表空间信息数据文件脱机范围日志历史归档日志信息备份组和备份块信息备份数据文件和重演日志信息数据文件拷贝信息当前日志序列数检查点 checkpoint 信息 2 1 3重做日志文件 每一个Oracle数据库都有一个由两个或多个重演日志文件 redologfile 构成的文件组 这组重演日志文件合称为数据库的重演日志 一个重演日志文件是由重做条目 redoentry 也叫重做记录 组成的 重演日志的主要功能是记录下所有数据的改变 重演日志文件中的信息可以用在数据库从系统失败或者介质失败的恢复之中 记录数据库所有修改信息的文件 简称日志文件 是数据库最重要的文件之一 其中修改信息包括数据的修改信息或者数据库结构的修改信息等 为了确保日志文件的安全 在实际应用中 允许对日志文件进行镜像 它们构成一个日志文件组 同一个族的日志文件最好放在不同的磁盘中 Oracle中的多个日志文件组是循环使用的 当所有的日志文件组的空间都被填满后 系统将重新切换到第一个日志文件组 发生日志切换时 日志文件组中已有的信息是否被覆盖取决于系统运行的模式 归档模式和非归档模式 日志文件组 2 1 4其他文件 1 归档重演日志文件归档重演日志文件 archivelogfile 就是对写满的重演日志文件进行复制并保存而生成的文件 可以通过设置数据库为归档模式 ARCHIVELOGmode 下来自动地保存日志文件 归档进程 ARCO 在后台负责把写满的重演日志文件复制到归档日志目标中 归档日志文件在数据库恢复时起决定性作用 2 参数文件 parameterfile 参数文件包含了一组关于数据库和实例的配置参数 主要包括数据库名和控制文件所在路径 有文本参数文件 parameterFile 简称Pfile ini ora 和服务器参数文件 ServerParameterFile 简称Spfile spfile ora 两种类型 Oracle推荐用户使用一个服务器参数文件作为维护初始化参数的动态手段 一个服务器参数文件允许用户在一个服务器端的磁盘文件里持久地保存和管理初始化参数 3 警告 跟踪日志文件 每一个服务器和后台进程都可以写入一个相关的跟踪文件 tracefile 当一个进程发现了一个内部错误的时候 它把关于错误的信息转储到它的跟踪文件里 写入到跟踪文件的一部分信息是给数据库管理员使用的 而其他信息是给Oracle支持服务的 跟踪文件信息还可以用于调整应用程序和实例 警告文件 alertfile 是一种特殊的跟踪文件 一个数据库的警告文件就是包括按时间排序的消息和错误的记录 4 备份文件 用户管理的备份和恢复实际上就是要求用户在试图恢复备份的时候先还原备份文件 服务器管理的备份和恢复管理了备份过程 例如 调度备份及恢复过程就是在需要恢复的时候施加正确的备份文件 主要的逻辑存储结构 表空间各种段数据段索引段临时段回滚段区间数据块 2 2Oracle数据库的逻辑存储结构 表空间是Oracle中最大的逻辑存储结构 它与物理上的一个或多个数据文件相对应 每个Oracle数据库都至少拥有一个表空间 表空间的大小等于构成表空间的所有数据文件大小的总和 表空间用于存储用户在数据库中创建的所有的内容 2 2 1表空间 Tablespace 表空间与数据文件的关系一个表空间与硬盘上的一个或多个物理数据文件相对应 例 通过数据字典dba tablespaces 查看当前数据库的所有表空间的名称SQL selecttablespace namefromdba tablespaces Oracle自动创建的表空间的说明 见P23页中表2 1 系统表空间临时表空间工具表空间用户表空间数据库索引表空间回滚表空间 主要的数据库表空间 Oracle允许在逐个表空间基础上控制数据库数据的可用性在联机表空间中的数据对于应用程序和数据库来说是可用的在脱机表空间中的数据对于应用程序和数据库来说是不可用的 即使当数据库是可用的也是如此 联机和脱机表空间 永久表空间和临时表空间 在Oracle数据库中 大多数表空间是永久表空间 永久表空间存储单个SQL请求和事务中必须存留的信息 Oracle还允许在数据库中创建临时表空间 临时表空间使事务能够用于处理复杂SQL操作的大量临时工作空间 如存储查询 连接查询和建立索引等 段是一组盘区 是Oracle管理数据库对象的单位 是终端用户能处理的最小单位 Oracle为段分配的空间是以数据区为单位的 当断的数据区已满 Oracle围棋分配另一个数据区 段的数据区可以是不连续的磁盘空间 段可以分为 数据段 索引段 临时段 回退段四种类型 2 2 2段 Segment 1 数据段用于存储表中的数据 数据段的名称与表的名称相同 系统为分区表的每个分区分配一个数据段 2 索引段用于存储表中国的所有索引信息 索引段的名称与索引相同 分区索引的每一个分区对应一个索引段 3 临时表临时段用于存储临时数据 排序或者汇总时所产生的临时数据都存储在临时段中 该段由系统在用户的临时表空间中自动创建 兵在排序或者汇总结束是自动消除 4 回退段用于存储用户数据被修改之前的值 用于用户进行回退 恢复 操作时使用 每个Oracle数据库至少拥有一个回退段 2 2 3区 EXtent 区时磁盘空间分配的最小单位 由一个或多个数据块组成 当段中的所有空间被使用完后 系统将自动为该段分配一个新的区 段所包含的区的个数由 minextents和maxextents参数决定 2 2 4数据块 是用来管理存储空间的最基本的单位 也是最小的逻辑存储单位 块头部 包含数据块中的饿一般属性信息 如物理地址 所属断的类型等 表目录 用来存储相关对象的信息 行目录 用来存储数据块中有效的行信息 空闲空间 数据块中还没有使用的存储空间 行空间 数据块中已使用的存储空间 块的默认大小 由db block size参数在数据库创建时指定 一旦数据库创建成功后无法修改 2 2 5表空间 段 分区和数据块的关系图 2 3Oracle数据库系统结构与实例 Oracle数据库系统结构包括 Oracle实例 Instance 数据库文件 用户进程 服务器进程 以及其他文件如 密码文件 和归档文件 ArchiveLogFile 等 Oracle数据库管理系统包括 Oracle数据库和Oracle实例Oracle数据库是一组相关的操作系统文件的集合 2 3 1Oracle数据库系统结构 Oracle数据库系统结构 Oracle系统结构图 2 3 2Oracle数据库实例 Oracle实例由一些内存区和后台进程组成 内存区域主要包括 数据库高速缓存 共享池 流池以及其他可选内存区 如java池 后台进程主要由 系统监控进程 SMON 进程监控 PMON 数据库写进程 DBWR 日志写进程 LGWR 检验点进程 CKPT 其他进程 如ARCn进程 RECO进程 1 实例和数据库之间的关系 2 Oracle实例与参数文件 每个实例都要用称为SID systemidentifier 系统标识符 的符号来标识决定实例的大小及组成的参数存储在初始化参数文件 init ora 中 启动实例时读取这个文件 在运行时可由数据库管理员修改对该文件的任何修改都只有在数据库下一次启动时才起作用 2 3 3Oracle数据库系统的内存结构 1 系统全局区 SGA 主要部分组成数据库高速缓存区共享池重做日志缓存区大缓存池固定的SGA 数据库高速缓存区 DatabaseBufferCache 图2 8数据库高速缓存区 用于存储从磁盘数据文件中读取的数据 供所有用户共享 以提高数据库的整体效率 共享池Sharepool 图2 9共享池中的内存结构 用于保存最近执行的SQL语句 PL SQL程序的数据字典信息 以用于系统对其进行语法分析 编译和执行的内存区域 重做日志缓存区用于在内存中存储未被刷新写入联机重做日志文件的重做信息是Oracle在循环方式下使用的先进先出的缓冲区大小可在初始化参数文件中由logbuffer参数设定 以字节为单位大缓存池是Oracle的一个可选内存区 主要用于多线程的服务器或备份还原等操作固定的SGA用于存储极大量的值 为了对实例进行操作 这些值需要在内部进行记录 程序全局区 PGA 独立于SGA 不会出现在SGA中 由操作系统在本地分配 在系统全局区可用的共享内存连接到Oracle数据库的进程的私有的内存区 程序全局区 PGA 程序全局区不能共享程序全局区含有单个进程工作时需要的数据 控制信息 进程会话变量和内部数组等 2 3 4Oracle数据库系统的后台进程 图2 10典型的Oracle后台进程集合 在NT服务器上 后台进程的执行是作为OracleService的多线程实现的 它允许Oracle进程更有效地使用共享内存地址空间 从而减少了NT操作系统处理 Oracle数据库启动时 会启动多个Oracle后台进程 用于异步执行不同的特定任务 通过查询数据字典v bgprocess可以查看它们的相关信息 DBWn进程 数据库写入进程 负责将数据缓冲区中的数据写入数据文件 其主要有以下几个作用 管理数据缓冲区 一遍用户进程总能找到空闲的缓冲区 将所有修改后的缓冲区数据 dirtydata 写入数据文件 使用LRU算法将最近使用过的块保留在内存中 通过延迟些来优化磁盘I O读写 DBWn进程最多可以启动20个 分别命名为DBW0 DBW1 DBW9 DBWa DBWj 由参数db writer processes决定 LGWR进程日志写入进程 负责管理日志缓冲区的后台进程 将日志信息同步的写入在线日志文件组中 若整个日志文件组均无法使用 则进程会被挂起 直至问题被解决 CKPT进程检验点进程 一般在发生日志切换时自动产生 用于缩短实例恢复所需要的时间 在检查点期间 该进程更新控制文件与数据文件的标题 从而反映最近成功SCN 系统更改号 参数Log checkpoint timeout 设置检查点产生的时间间隔 默认1800秒 参数Log checkpoint interval 设置一个检查点需要填充的日志文件块的数目 默认为0 SMON进程 系统监控进程 所负责的工作有 数据库实例故障恢复管理和维护表空间中的空闲空间系统启动期间 回收所有表空间中的临时段PMON进程 用户进程监控进程 负责用户进程故障恢复 清理释放用户进程的内存区域 周期性检查调度进程和服务器进程状态 ARCn进程 归档进程 用于将邪门的日志文件复制到归档日志文件中 防止日志文件组中的日志信息被覆盖或者破坏 运行在数据库服务器归档模式下 RECO进程 存在于分布式数据库系统中 用于自动解决在分布式数据库系统中出现的事务故障 主要负责事务回滚 保持分布式系统中数据的一致性 2 3 5数据库字典 Oracle数据库字典 datadictionary 是存储在数据库中的所有对象信息的知识库 Oracle数据库管理系统使用数据字典获取对象信息和安全信息 而用户和数据库系统管理员则用数据字典查询数据库信息 数据字典中保存有数据库中对象和段的信息 如 表 索引 视图 包 存储过程以及与用户 权限 角色 审计和约束等相关的信息数据字典试只读的 用户不能修改数据信息和结构 数据字典主要有 user视图 all视图 dba视图 v 视图 GV 视图 详见P32表2 2 2 4Oracle数据库的应用结构 主要的应用结构有 多磁盘结构磁盘映像系统客户 服务器系统多线程服务器系统并行数据库系统分布式数据库系统OracleWebServer系统 2 4 1多磁盘结构 图2 14多磁盘结构上的Oracle服务器 2 4 2磁盘映像系统 磁盘映像的好处 磁盘映像可以作为磁盘失效时的备份来使用 可以改进系统的性能 2 4 3客户 服务器系统 应用程序运行在客户端的工作站上 Oracle数据库运行在服务器上 二者通过以太网连接在一起 为了使客户和服务器易于连接 Oracle提供了SQL Net的高层网络协议 在客户 服务器环境下 所有客户都安装了SQL Net客户端软件 服务器则安装相应的服务端软件 SQL Net提供了一个程序代码的公用接口 而不用考虑其底层的实现 基于客户 服务器的Oracle系统 图2 15基于客户 服务器的Oracle系统 客户机与服务器通信必须进行的几步操作 服务器必须配置成通过网络接受通信 服务器必须识别哪个数据库允许网络登录 服务器必须运行SQL Net 客户机必须配置成通过网络进行通信 客户机必须有充足的内存和磁盘资源可供使用 客户机必须已安装有SQL Net 并指定一个连接字符串 三层模式的Oracle系统 computer server 客户机1 客户机2 数据库服务器 应用程序服务器 图2 16三层模式的Oracle系统 三层配置的优点 可量测性有利于应用程序的执行易于分布式处理提高了性能能简化对客户机的维护 2 4 4多线程服务器系统 多线程服务器 MTS 允许多用户会话共享一组服务器进程 因而减少了支持大量用户所必要的资源开销 同时 多线程服务器的体系结构也允许降低这些服务器会话的全部空闲时间 多线程服务器的体系结构不同于专用服务器 共享服务器进程不直接与调度器或服务器进程交互 而是监控请求队列 多线程服务器的下列参数进行设置 mts dispatchersmts serversmts max servers可以通过在SQL Plus中查询动态视图V SESSION来确定当前连接到启动数据库的类型 若结果是DEDICATED 则目前是专用服务器配置 若结果是SHARED 则目前是多线程服务器 查询命令为 SELECTserverFROMV SESSIONWHEREaudsid USERENV SESSIONID 2 4 5并行数据库系统 配置针对一个Oracle实例访问的数据库针对两个或两个以上数据库实例 服务器 访问同一个数据库 Oracle并行服务器 oracleparallelserver OPS 3个独立的Oracle实例共享同一数据库文件 图2 18Oracle并行服务器 并行服务器的好处 可以增加数据库资源的数量或净值数量允许数据库为更多的用户处理更多的工作提供了一种对灾难进行恢复的手段可以根据执行的进程的类型对用户进行分组 并且大量占用CPU的用户可以留在与常规联机处理事务相分离的一个主机上 设计使用并行数据库时需要注意的问题 可以使用不同的初始化参数配置在并行服务器数据库上运行的各种实例 用户可以把系统设计为使用具有一个或多个富余实例的并行服务器 以便在主实例不可获取时仍能支持自己的所有用户 如果硬件可以支持足够的节点 可以在相同的数据库上使用并行服务器的伸缩特性及故障恢复能力 设计使用并行数据库时需要注意的问题 在设计多实例数据库时 在伸缩特性及故障恢复能力这两个功能之间进行明确的区分是非常重要的 需要做好准备修改单实例数据库使用的初始化参数文件中的参数 以使并行服务器使用的多个实例可以成功地相互作用 在并行方式下启动一个实例的两种方法 需要将初始化文件中的parallelserver设为true 通过在SQL Plus的STARTUP命令中包括PARALLEL或SHARED关键字 在数据库管理器总控台的实例管理屏上使用SHARED单选按钮 2 4 6分布式数据库系统 分布式数据库系统是作为一个单独的数据库但位于不同场所的系统 这些场所可以在任何地方 可以在紧邻的办公室 也可以在地球的另一端 在一个由不同节点连接起来的网络环境中 分布式数据库担当一个单独的系统 在一个分布式环境中 不同服务器 主机 上的数据库彼此共享数据 每个服务器既能在物理上分离 又可以保持彼此间的逻辑关系 分布式数据库系统 图2 19分布式数据库系统 分布式事务会的好处 其他服务器上的数据库可以被更新 并且这些事务可以与其他事务组成一个逻辑单元数据库对2PC的使用 接收的数据库的3种响应方式 准备好 已准备好进行更新只读 没有准备的必要退出 子处理不能执行更新 2 4 7OracleWebserver系统 随着网络技术的迅猛发展 数据库技术也面临着一场深刻的变革OracleWebServer相当于一个简单请求传送者的角色OracleWebServer支持用内建的过程创建HTML文档 OracleWebServer的基本组成及功能 Web监听器在Ora
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (康德卷) 重庆市2026届高三9月开学考联考数学试卷(含答案解析)
- 重庆朝天门码头课件
- 精准操作与安全护理:除颤仪临床使用与维护全指南
- 人教版八年级英语上册词汇(背诵版)
- 人教版2025-2026学年六年级数学开学考质量监测卷(含解答)
- 老年人防摔倒课件
- 《外贸函电与写作》课程介绍与教学大纲
- 企业员工办公室礼仪培训
- 完形填空-2023年中考英语专练(江苏宿迁市)
- 老年人常见病知识课件
- 2025年度房屋拆迁补偿安置房买卖协议
- 2025西电考试题及答案
- 南昌市小学二年级 2025-2026 学年数学秋季开学摸底测试卷(人教版)含解读答案
- 2025年先兆流产的护理查房
- 电子竞技赛事策划与组织运营管理方案设计
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- 食堂工作人员食品安全培训
- (高清版)DB11∕T 2440-2025 学校食堂病媒生物防制规范
- 战场急救知识
- 延期缴纳税款申请报告申请延期缴纳税款报告2p.doc
- 箱梁施工质量通病及预防措施
评论
0/150
提交评论