资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四讲Oracle数据库结构 主要内容 逻辑存储结构数据块 DataBlock 区 Extent 段 Segment 表空间 Tablespace 物理存储结构控制文件数据文件联机重做日志文件归档重做日志文件 Oracle数据库结构 数据库结构是指存储数据的方式 逻辑存储结构 逻辑数据库 用于描述在Oracle内部组织和管理数据的方式 物理存储结构 物理数据库 定义了Oracle外部 即操作系统中组织和管理数据的方式 逻辑存储结构 逻辑数据库空间按照由小到大的顺序分别为数据块 DataBlock 区 Extent 段 Segment 和表空间 Tablespace 逻辑数据库是由若干表空间组成 每个表空间由若干个段组成 每个段由若干区组成 每个区是由若干个连续的数据块组成 每个块是由若干字节组成 逻辑存储结构 数据块 DataBlock Oracle是以数据块为单位管理数据文件中的存储空间 数据块是数据库读写数据的最小I O单位 块大小由初始化参数DB BLOCK SIZE指定 块空间管理方式 自动手工 数据块 DataBlock 如果在创建表空间时使用的是本地管理方式 并且将段的存储空间管理方式设置为AUTO Oracle将自动管理表空间中块的空闲存储空间 手工是设置PCTFREE和PCTUSED来定义 PCTFREE参数用于指定块中必须保留的最小空闲空间比例 小于该比例块将标记为不可用 PCTUSED参数用于指定块中已经使用的存储空间降低到指定的百分比时 这个块才被重新标记为可用状态 区 Extent 区是由物理上连续存放的块所构成的Oracle逻辑存储单位 由一个或多个区构成段 区是Oracle为段分配空间的最小单位 创建带有实际存储结构的数据库对象时 自动分配若干个区作为对象的初始存储空间 初始区的大小 后续区的大小和增加方式通过在DEFAULTSTORAGE子句设置参数INITIAL NEXT和PCTINCREASE来指定 段 Segment 段由一个或多个区组成 是独立的逻辑存储结构 而不是存储空间分配的单位 段只属于一个特定的数据库对象 每当创建具有独立段的数据库对象时 Oracle将为它创建一个段 段中至少有一个初始区 根据数据库对象的不同也有不同类型的段 数据段 存放所有表的数据 索引段 保存的是索引中的索引条目 临时段 用来保存SQL语句分析和执行的中间结果 回滚段 记录每个事务修改数据时数据的旧值 不管这个事务是否提交 表空间 Tablespace 在逻辑上 Oracle数据库是由一个或多个表空间组成的 表空间被划分为一个个独立的段 数据库中创建的所有对象都必须保存在指定的表空间中 在物理上 一个表空间对应于操作系统中的一个或多个数据文件 一个对象的数据存储在表空间的任意一个数据文件中 也可将同一个对象的数据分布在表空间的多个数据文件中 还可以将同一个对象分布在多个表空间中 如对表进行分区后的分区表 表空间与数据文件的关系 一个表空间可以包含多个数据文件 但是一个数据文件只能属于一个表空间 表空间的分类 1 用户定义表空间用于存储用户数据的普通表空间 它是根据实际应用由用户自己来建立的 2 SYSTEM表空间创建数据库时 自动创建SYSTEM表空间 SYSTEM表空间中存储数据库数据字典 所有PL SQL程序的源代码和解析代码和数据库对象 如视图 对象类型说明 同义词和序列 的定义 表空间的分类 3 撤消表空间用来在自动撤销管理方式下存储撤销信息的专用表空间 在撤销表空间中只能建立撤销段 回滚段 任何数据库用户都不能在撤销表空间中创建数据库对象 4 临时表空间运行过程中要使用临时空间来保存SQL语句执行过程中产生的中间数据 物理数据库结构 Oracle物理数据库是从操作系统的文件级来描述数据库 Oracle数据库是由若干个物理文件组成 每个物理文件由若干个操作系统物理块组成 四种类型的操作系统文件组成 控制文件数据文件联机重做日志文件归档重做日志文件 控制文件 ControlFile 控制文件是一个记录数据库结构的二进制文件 在其中如下重要信息 数据库名 数据库建立的时间 数据文件名称 位置 联机 脱机状态信息 重做日志文件的名称和路径 表空间名称 当前日志序列号 日志历史记录 归档日志信息 最近检查点信息 备份信息等 控制文件 ControlFile 实例在加载数据库时读取控制文件 以找到自己所需的操作系统文件 控制文件必须在整个数据库打开期间始终保持可用状态 每个数据库必须至少拥有一个控制文件 一个数据库也可同时拥有多个相同的控制文件 但是一个控制文件只能属于一个数据库 控制文件信息可以从V Controlfile中查询获得 数据文件 DataFile 数据文件是存储数据库数据的操作系统文件 Oracle通过为表空间创建数据文件来从硬盘中获取物理存储空间 一个数据库对象的数据可以全部保存在一个数据文件中 也可以分布在同一个表空间的多个数据文件中 组成表空间的数据文件的大小决定了表空间的大小 数据文件 DataFile 数据文件的查看 SQL selectnamefromv datafile NAME u05 dbf PROD system01 dbf u06 dbf PROD temp01 dbf u04 dbf PROD users01 dbf u09 dbf PROD rbs01 dbf u06 dbf PROD applsys indx01 dbf u05 dbf PROD applsys data01 dbf 联机重做日志文件 重做日志文件中以重做记录的形式记录了用户对数据库进行的所有修改操作 重做记录由一组变更向量组成 每个变更向量中记录了事务对数据库中某个数据块所做的修改 利用重做记录 在系统发生故障而导致数据库崩溃时 Oracle可以恢复丢失的数据修改操作信息 1 写入联机重做日志文件 LGWR以循环方式写入联机重做日志 日志序列号 1 写入联机重做日志文件 当一个事务被提交时 LGWR进程把与该事务相关的所有重做记录全部写入当前重做日志文件中 同时生成一个系统变更号 SystemChangeNumber SCN 只有当某个事务所产生的重做记录全部被写入重做日志文件之后 Oracle才认为这个事务已经成功提交 SCN是数据库状态是否一致的标志 2 日志切换和日志序列号 日志切换是指LGWR进程结束当前重做日志文件的使用 开始写入下一个重做日志文件的时刻 每当发生日志切换时 Oracle将会生成一个新的日志序列号 并将这个号码分配给即将开始使用的重做日志文件 日志序列号不会重复 在归档时一同保存 日志序列号表示日志文件使用的先后 3 多路重做日志文件 多路重做日志文件是指同时保存一个重做日志文件的多个镜像文件 防止被破坏 这些完全相同的重做日志文件构成一个重做日志文件组 组中每个重做日志文件称为一个日志组成员 工作原理 归档重做日志文件 归档是指在重做日志文件被覆盖之前 Oracle将已经写满的重做日志文件复制到指定的位置以文件形式存放 这类文件称为归档重做日志文件 归档重做日志文件主要用于进行数据库恢复和更新备份数据库 同时借用LogMiner工具可以得到数据库操作的历史信息 只有数据库处于归档模式中 才会执行归档操作 归档操作可以由后台进程ARCn自动完成 或由管理员手工通过命令来完成 1 归档过程 2 数据库的归档模式 数据库可以运行在归档模式或非归档模式下 数据库的归档模式将记录在控制文件中 如果将数据库设置为非归档模式 将不会对重做日志文件进行归档操作 当发生日志切换时 LGWR进程直接写入下一个可用的联机重做日志文件 联机重做日志文件中原有的重做记录将被覆盖 2 数据库的归档模式 数据库在归档模式下 LGWR进程在写入下一个重做日志文件之前 必须等待该联机重做日志文件完成归档 否则LGWR进程将被挂起 数据库也停止运行 在归档重做日志文件中 记录了自从数据库置于归档模式后 用户对数据库所进行的所有修改操作
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号