Oracle-10g数据库基础教程之逻辑存储结构.ppt_第1页
Oracle-10g数据库基础教程之逻辑存储结构.ppt_第2页
Oracle-10g数据库基础教程之逻辑存储结构.ppt_第3页
Oracle-10g数据库基础教程之逻辑存储结构.ppt_第4页
Oracle-10g数据库基础教程之逻辑存储结构.ppt_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章逻辑存储结构 本章内容 Oracle逻辑存储结构概述表空间数据块区段 本章要求 掌握Oracle数据库逻辑结构组成掌握表空间的作用及其管理掌握扩展区的结构 了解扩展区的管理掌握段的作用 了解段的管理 7 1逻辑存储结构概述 概念逻辑存储结构是从逻辑的角度来分析数据库的构成的 是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式 在操作系统中 没有数据库逻辑存储结构信息 而只有物理存储结构信息 数据库的逻辑存储结构概念存储在数据库的数据字典中 可以通过数据字典查询逻辑存储结构信息 逻辑结构单元类型数据块 BLOCK区 EXTENT段 SEGMENT表空间 TABLESPACE 数据库的存储层次关系 数据库逻辑存储结构之间的关系 表空间 7 2表空间 表空间概述表空间的管理 7 2 1表空间概述 表空间的概念表空间的分类表空间的管理方式表空间的管理策略 1 表空间概念 Oracle数据库在逻辑上可以划分为一系列的逻辑空间 每一个逻辑空间就可以称为一个表空间 一个数据库由有一个或多个表空间构成 不同表空间用于存放不同应用的数据 表空间大小决定了数据库的大小 一个表空间对应一个或多个数据文件 数据文件大小决定了表空间的大小 一个数据文件只能从属于一个表空间 表空间是存储模式对象的容器 一个数据库对象只能存储在一个表空间中 分区表和分区索引除外 但可以存储在该表空间所对应的一个或多个数据文件中 若表空间只有一个数据文件 则该表空间中所有对象都保存在该文件中 若表空间对应多个数据文件 则表空间中的对象可以分布于不同的数据文件中 数据库 表空间 数据文件 数据库对象之间的关系 通过表空间 可以实现对数据库存储的管理 控制整个数据库占用空间的大小 控制数据库在磁盘上的分配 提高数据库的I O性能 控制用户所占用的存储空间的大小 2 表空间的分类 系统表空间 包括SYSTEM和SYSAUXSYSTEM表空间 主要存储 数据库的数据字典 PL SQL程序的源代码和解释代码 包括存储过程 函数 包 触发器等 数据库对象的定义 如表 视图 序列 同义词等 SYSAUX表空间SYSAUX表空间是Oracle10g新增的辅助系统表空间 主要用于存储数据库组件等信息 以减小SYSTEM表空间的负荷 在通常情况下 不允许删除 重命名及传输SYSAUX表空间 非系统表空间撤销表空间专门进行回滚信息的自动管理 由回滚段构成 一个数据库可以有多个撤销表空间 但每个数据库实例只能使用一个由UNDO TABLESPACE参数设置的撤销表空间 初始化参数UNDO MANAGEMENT AUTO时 系统使用撤销表空间自动进行回滚信息管理 临时表空间专门进行临时数据管理的表空间 在数据库实例运行过程中 执行排序等SQL语句时会产生大量的临时数据 这些临时数据将保存在数据库临时表空间中 建议为数据库单独定义默认的临时表空间 用户表空间保存用户数据 大文件表空间与小文件表空间所谓大文件表空间 BigfileTablespace 是指一个表空间只包含一个大数据文件 该文件的最大尺寸为128TB 数据块大小为32KB 或只32TB 数据块大小为8KB 与大文件表空间相对应 系统默认创建的表空间称为小文件表空间 SmallfileTablespace 如SYSTEM表空间 SYSAUX表空间等 小文件表空间可以包含多达1024个数据文件 小文件表空间的总容量与大文件表空间的容量基本相似 3 表空间的管理方式 字典管理方式表空间使用数据字典来管理存储空间的分配 当进行区的分配与回收时 Oracle将对数据字典中的相关基础表进行更新 同时会产生回滚信息和重做信息 字典管理方式将渐渐被淘汰 本地管理方式在本地管理方式中 区的分配和管理信息都存储在表空间的数据文件中 而与数据字典无关 表空间在每个数据文件中维护一个 位图 结构 用于记录表空间中所有区的分配情况 因此区在分配与回收时 Oracle将对数据文件中的位图进行更新 不会产生回滚信息或重做信息 表空间本地管理方式的优势 由于在区分配与回收过程中不需要对数据字典进行访问 提高了表空间存储管理操作的速度和并发性 能够避免表空间存储管理操作中的递归现象 提高了存储空间管理操作性能 能够在保留可查询性同时 将整个数据库设置为只读状态 这种数据库可以作为备用数据库使用 简化了表空间的存储管理 由Oracle自动完成存储管理操作 降低了用户对数据字典的依赖性 不存在磁盘碎片问题 因为必要的信息都存储在数据文件的位图中 而不是保存在数据字典中 4 表空间管理策略 将数据字典与用户数据分离 避免由于数据字典对象和用户对象保存在一个数据文件中而产生I O冲突 将回滚数据与用户数据分离 避免由于硬盘损坏而导致永久性的数据丢失 将表空间的数据文件分散保存到不同的硬盘上 平均分布物理I O操作 为不同的应用创建独立的表空间 避免多个应用之间的相互干扰 能够将表空间设置为脱机状态或联机状态 以便对数据库的一部分进行备份或恢复 能够将表空间设置为只读状态 从而将数据库的一部分设置为只读状态 能够为某种特殊用途专门设置一个表空间 如临时表空间 优化表空间的使用效率 能够更加灵活地为用户设置表空间配额 7 2 2表空间的管理 本地管理方式 创建表空间修改表空间表空间的备份删除表空间大文件表空间的管理表空间信息查询利用OEM管理表空间 1 创建表空间 在创建本地管理方式下的表空间时 应该确定表空间的名称 类型 对应的数据文件的名称和位置以及区的分配方式 段的管理方式 表空间名称不能超过30个字符 必须以字母开头 可以包含字母 数字以及一些特殊字符 如 等 表空间的类型包括普通表空间 临时表空间和撤销表空间 表空间中区的分配方式包括两种方式 自动扩展 AUTOALLOCATE 和定制 UNIFORM 段的管理包括两种方式 自动管理 AUTO 和手动管理 MANUAL 创建永久表空间 创建永久表空间使用CREATETABLESPACE语句来实现 该语句包含以下几个子句 DATAFILE 设定表空间对应的数据文件 EXTENTMANAGEMENT 指定表空间的管理方式 取值为LOCAL 默认 或DICTIONARY AUTOALLOCATE 默认 或UNIFORM 设定区的分配方式 SEGMENTSPACEMANAGEMENT 设定段的管理方式 其取值为MANUAL或AUTO 默认 例1 为ORCL数据库创建一个永久性的表空间ORCLTBS1 区自动扩展 段采用自动管理方式 例2 为ORCL数据库创建一个永久性的表空间ORCLTBS2 区定制分配 段采用自动管理方式 SQL CREATETABLESPACEORCLTBS1DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS1 1 DBF SIZE50M SQL CREATETABLESPACEORCLTBS2DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS2 1 DBF SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K 例3 为ORCL数据库创建一个永久性的表空间ORCLTBS3 区自动扩展 段采用手动管理方式 例4 为ORCL数据库创建一个永久性的表空间ORCLTBS4 区定制分配 段采用手动管理方式 SQL CREATETABLESPACEORCLTBS3DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS3 1 DBF SIZE50MSEGMENTSPACEMANAGEMENTMANUAL SQL CREATETABLESPACEORCLTBS4DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS4 1 DBF SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL 数据文件的名称分别为ORCLTBS3 1 DBF和ORCLTBS4 1 DBF 创建临时表空间 使用CREATETEMPORARYTABLESPACE语句创建临时表空间 用TEMPFILE子句设置临时数据文件 注意 临时表空间中区的分配方式只能是UNIFORM 而不能是AUTOALLOCATE 因为这样才能保证不会在临时段中产生过多的存储碎片 例5 为ORCL数据库创建一个临时表空间ORCLTEMP1 SQL CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTEMP1 1 DBF SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M 临时表空间组将一个或多个临时表空间构成一个表空间组 优点 避免由于单个临时表空间的空间不足而导致数据库运行故障 可以保证在一个简单并行操作中多个并行服务的执行 临时表空间组不需要显式创建 为临时表空间组指定第一个临时表空间时隐式创建 当临时表空间组中最后一个临时表空间删除时而隐式地删除 通过在CREATETEMPORARYTABLSPACE或ALTERTABLESPACE语句中使用TABLESPACEGROUP短语创建临时表空间组 例6 为ORCL数据库创建一个临时表空间ORCLTEMP2 并放入临时表空间组temp group1 同时 将临时表空间ORCLTEMP1也放入该temp group1中 SQL CREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTEMP2 1 DBF SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp group1 SQL ALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp group1 创建撤销表空间 如果数据库中没有创建撤销表空间 那么将使用SYSTEM表空间来管理回滚段 如果数据库中包含多个撤销表空间 那么一个实例只能使用一个处于活动状态的撤销表空间 可以通过参数UNDO TABLESPACE来指定 如果数据库中只包含一个撤销表空间 那么数据库实例启动后会自动使用该撤销表空间 如果要使用撤销表空间对数据库回滚信息进行自动管理 则必须将初始化参数UNDO MANAGEMENT AUTO 可以使用CREATEUNDOTABLESPACE语句创建撤销表空间 但是在该语句中只能指定DATAFILE和EXTENTMANAGEMENTLOCAL两个子句 而不能指定其他子句 例7 为ORCL数据库创建一个撤销表空间 注意 如果要在数据库使用该撤销表空间 需要设置参数UNDO MANAGEMENT AUTOUNDO TABLESPACE ORCLUNDO1 SQL CREATEUNDOTABLESPACEORCLUNDO1DATAFILE D ORACLE ORADATA ORCL ORCLUNDO1 1 DBF SIZE20M 2 修改表空间 可以对表空间进行下列修改操作 扩展表空间修改表空间可用性修改表空间读 写性设置默认表空间表空间重命名注意 不能将本地管理的永久性表空间转换为本地管理的临时表空间 也不能修改本地管理表空间中段的管理方式 扩展表空间 为表空间添加数据文件通过ALTERTABLESPACE ADDDATAFILE语句为永久表空间添加数据文件 通过ALTERTABLESPACE ADDTEMPFILE语句为临时表空间添加临时数据文件 例8 为ORCL数据库的ORCLTBS1表空间添加一个大小为10MB的新数据文件 例9 为ORCL数据库的ORCLTEMP1表空间添加一个大小为10MB的临时数据文件 SQL ALTERTABLESPACEORCLTBS1ADDDATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS1 2 DBF SIZE10M SQL ALTERTABLESPACEORCLTEMP1ADDTEMPFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTEMP1 2 DBF SIZE10M 改变数据文件的大小可以通过改变表空间已有数据文件的大小 达到扩展表空间的目的 例10 将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1 2 DBF大小增加到20MB SQL ALTERDATABASEDATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS1 2 DBF RESIZE20M 改变数据文件的扩展方式如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTENDON选项 则该文件的大小是固定的 如果为数据文件指定了AUTOEXTENDON选项 当数据文件被填满时 数据文件会自动扩展 即表空间被扩展了 例11 将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1 2 DBF设置为自动扩展 每次扩展5MB空间 文件最大为100MB SQL ALTERDATABASEDATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS1 2 DBF AUTOEXTENDONNEXT5MMAXSIZE100M 修改表空间可用性 离线状态的表空间是不能进行数据访问的 所对应的所有数据文件也都处于脱机状态 一些表空间必须是在线状态 SYSTEM表空间存放在线回退信息的撤销表空间临时表空间语法ALTERTABLESPACE ONLINE OFFLINE例12 13 SQL ALTERTABLESPACEORCLTBS1OFFLINE SQL ALTERTABLESPACEORCLTBS1ONLINE 修改表空间读写性 语法 ALTERTABLESPACE READONLY READWRITE设置 只读 的目的 避免对DB中大量静态数据进行备份 避免用户对历史数据进行修改 表空间只有满足下列要求才可以转换为只读状态 表空间处于联机状态 表空间中不能包含任何活动的回退段 如果表空间正在进行联机数据库备份 不能将它设置为只读状态 因为联机备份结束时 Oracle更新表空间数据文件的头部信息 例14 15 SQL ALTERTABLESPACEORCLTBS1READONLY SQL ALTERTABLESPACEORCLTBS1READWRITE 设置默认表空间 在Oracle10g数据库中 默认表空间为USERS表空间 默认临时表空间为TEMP表空间 设置数据库的默认表空间ALTERDATABASEDEFAULTTABLESPACE设置数据库的默认临时表空间ALTERDATABASEDEFAULTTEMPORARYTABLESPACE例16 17 18 SQL ALTERDATABASEDEFAULTTABLESPACEORCLTBS1 SQL ALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP SQL ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp group1 表空间重命名 语句ALTERTABLESPACE RENAMETO当重命名一个表空间时 数据库会自动更新数据字典 控制文件以及数据文件头部中对该表空间的引用 表空间ID号并没有修改 如果该表空间是数据库默认表空间 那么重命名后仍然是数据库的默认表空间 注意 不能重命名SYSTEM表空间和SYSAUX表空间 不能重命名处于脱机状态或部分数据文件处于脱机状态的表空间 3 表空间的备份 语法ALTERTABLESPACE BEGIN ENDBACKUP在数据库进行热备份 联机备份 时 需要分别对表空间进行备份 基本步骤为 使用ALTERTABLESPACE BEGINBACKUP语句将表空间设置为备份模式 在操作系统中备份表空间所对应的数据文件 使用ALTERTABLESPACE ENDBACKUP语句结束表空间的备份模式 例20 备份ORCL数据库的ORCLTBS1表空间 SQL ALTERTABLESPACEORCLTBS1BEGINBACKUP 复制ORCLTBS1表空间的数据文件ORCLTBS1 1 DBF和ORCLTBS1 2 DBF到目标位置 SQL ALTERTABLESPACEORCLTBS1ENDBACKUP 4 删除表空间 语法DROPTABLESPACEtablespace name说明 如果表空间非空 应带有子句INCLUDINGCONTENTS若要删除操作系统下的数据文件 应带有子句ANDDATAFILES删除参照完整性约束 应带有子句CASCADECONSTRAINTS 例21 删除ORCL数据库的ORCLTBS1表空间及其所有内容 例22 删除ORCL数据库的ORCLUNDO1表空间及其所有内容 同时删除其所对应的数据文件 例23 删除ORCL数据库的ORCLUNDO1表空间及其所有内容 同时删除其所对应的数据文件 以及其他表空间中与ORCLUNDO1表空间相关的参照完整性约束 SQL DROPTABLESPACEORCLTBS1INCLUDINGCONTENTS SQL DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILES SQL DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS 5 大文件表空间的管理 概念大文件表空间只包含一个数据文件 可以减少数据库中数据文件的数量 减少SGA中用于存放数据文件信息的内存需求 同时减小控制文件 通过对大文件表空间的操作可以实现对数据文件的透明操作 简化了对数据文件的管理 大文件表空间只能采用本地管理方式 其段采用自动管理方式 如果在数据库创建时设置系统默认的表空间类型为BIGFILE 则使用CREATETABLESPACE语句默认创建的就是大文件表空间 此时要创建传统的小文件表空间 则需要使用CREATESMALLFILETABLESPACE语句 创建大文件表空间的语句CREATEBIGFILETABLESPACE例24 创建一个大文件表空间ORCLTBS5 SQL CREATEBIGFILETABLESPACEORCLTBS5DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS5 1 DBF SIZE20M 大文件表空间的操作例25 将大文件表空间ORCLTBS5的数据文件D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS5 1 DBF大小修改为30MB 例26 将大文件表空间ORCLTBS5的数据文件D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS5 1 DBF修改为可以自动扩展 SQL ALTERTABLESPACEORCLTBS5RESIZE30M SQL ALTERTABLESPACEORCLTBS5AUTOEXTENDONNEXT10MMAXSIZEUNLIMITED 6 表空间信息查询 V TABLESPACE 从控制文件中获取的表空间名称和编号信息 DBA TABLESPACES 数据库中所有表空间的信息 DBA TABLESPACE GROUPS 表空间组及其包含的表空间信息 DBA SEGMENTS 所有表空间中段的信息 DBA EXTENTS 所有表空间中区的信息 DBA FREE SPACE 所有表空间中空闲区的信息 V DATAFILE 所有数据文件信息 包括所属表空间的名称和编号 V TEMPFILE 所有临时文件信息 包括所属表空间的名称和编号 DBA DATA FILES 数据文件及其所属表空间信息 DBA TEMP FILES 临时文件及其所属表空间信息 DBA USERS 所有用户的默认表空间和临时表空间信息 DBA TS QUOTAS 所有用户的表空间配额信息 V SORT SEGMENT 数据库实例的每个排序段信息 V SORT USER 用户使用临时排序段信息 查询表空间基本信息查询表空间数据文件信息查询表空间空闲空间大小 SQL SELECTTABLESPACE NAME EXTENT MANAGEMENT ALLOCATION TYPE CONTENTSFROMDBA TABLESPACES SQL SELECTFILE NAME BLOCKS TABLESPACE NAMEFROMDBA DATA FILES SQL SELECTTABLESPACE NAME SUM BYTES FREE SPACESFROMDBA FREE SPACEGROUPBYTABLESPACE NAME 统计表空间空闲空间信息 SQL SELECTTABLESPACE NAME TABLESPACE FILE ID COUNT PIECES MAX blocks MAXIMUM MIN blocks MINIMUM AVG blocks AVERAGE SUM blocks TOTAL FROMDBA FREE SPACEGROUPBYTABLESPACE NAME FILE ID 7 利用OEM管理表空间 创建表空间编辑表空间查看表空间信息删除表空间临时表空间组的管理 7 3数据块 BLOCK 数据块的概念数据块结构数据块的管理 1 数据块的概念 最小的I O单元包括一个或者多个OSBLOCK在数据库创建时设置 大小不可更改分为标准块和非标准块数据库创建时 DB BLOCK SIZE参数设置标准块大小 2 数据库块结构 Header 块头部 Freespace 空闲区 Data 行数据区 存储区 块头部包括标题 表目录 行目录三部分 标题包含块的一般属性信息 如块的物理地址 块所属段的类型等 表目录包含数据块中保存的表的信息 行目录包含数据块中的行地址等信息 存储区包括行数据区和空闲区两部分 行数据区是已经使用的空间 保存数据库的对象数据 空闲区是尚未使用的存储空间 用于存放新的行或用来更新已存在的行 3 数据块的管理 对块的管理主要是对块中可用存储空间的管理 确定保留多少空闲空间 避免产生行链接 行迁移而影响数据的查询效率 当向表格中插入数据时 如果行的长度大于块的大小 行的信息无法存放在一个块中 就需要使用多个块存放行信息 这称为行链接 当表格数据被更新时 如果更新后的数据长度大于块长度 Oracle会将整行的数据从原数据块迁移到新的数据块中 只在原数据块中留下一个指针指向新数据块 这称为行迁移 对块的管理分为自动和手动两种 如果建立表空间时使用本地管理方式 并且将段的管理方式设置为AUTO 则采用自动方式管理块 否则 DBA可以采用手动管理方式 通过为段设置PCTFREE和PCTUSED两个参数来控制数据块中空闲空间的使用 PCTFREE指定块中必须保留的最小空闲空间比例 当数据块的自由空间百分率低于PCTFREE时 此数据块被标志为USED 此时在数据块中只可以进行更新操作 而不可以进行插入操作 该参数默认为10 PCTUSED指定可以向块中插入数据时块已使用的最大空间比列 当数据块使用空间低于PCTUSED时 此块标志为FREE 可以对数据块中数据进行插入操作 反之 如果使用空间高于PCTUSED 则不可以进行插入操作 该参数默认为10 同时设置这两个参数就能够控制块存储空间的使用方式 插入操作只能向位于可用块列表中的块写入数据 插入数据不能占用保留空闲空间 只有在对块中的已有数据进行更新时 才能使用保留空闲空间 80 80 40 Inserts 1 2 3 4 PCTFREE 20PCTUSED 40 INITRANS可以同时对此数据块进行DML操作的事务的个数 MAXTRANS可以同时对此数据块进行DML操作的最多事务的个数 7 4区 区的概念区的管理 1 区的概念 区是由一系列连续的数据块构成的逻辑存储单元 是存储空间分配与回收的最小单位 当创建一个数据库对象时 Oracle为对象分配若干个区 以构成一个段来为对象提供初始的存储空间 当段中已分配的区都写满后 Oracle会为段分配一个新区 以容纳更多的数据 2 区的管理 区的分配在本地管理方式的表空间中 自动进行区的分配 可以通过使用UNIFORM选项 指定所有段的初始区和后续区具有统一大小 也可以使用AUTOALLOCATE选项指定由Oracle自动决定后续区大小 用户不能通过其他参数来干预区的分配 在字典管理方式的表空间中 创建表空间时可以使用DEFAULTSTORAGE子句设置存储参数 也可以在该表空间定义对象时通过STORAGE子句设置存储参数 如果在定义对象时没有设置存储参数 则继承表空间存储参数的设置 例27 创建一个本地管理方式的表空间 区分配采用自动扩展方式进行 例28 创建一个本地管理方式的表空间 区分配采用固定大小 每个区5MB SQL CREATETABLESPACEORCLTBS6DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS6 1 DBF SIZE20MEXTENTMANAGEMENTLOCALAUTOALLOCATE SQL CREATETABLESPACEORCLTBS7DATAFILE D ORACLE PRODUCT 10 2 0 ORADATA ORCL ORCLTBS7 1 DBF SIZE10MEXTENTMANAGEMENTLOCALUNIFORMSIZE5M 区的回收通常分配给段的区将一直保留在段中 不论区中的数据块是否被使用 只有当段所属的对象被删除时 段中所有的区才会被回收 此外 在一些特殊情况下 也能够回收未使用的区 例如 如果在创建回滚段时指定了OPTIMAL关键字 Oracle会定期回收回滚段中未使用的区 7 5段 段概述回滚段 7 5 1段概述 段的概述段是由一个或多个连续或不连续的区组成的逻辑存储单元 数据库模式对象在逻辑上是以段来占据表空间的大小 段代表特定数据类型的数据存储结构 一个对象只拥有一个段 一个段至少包含一个区 段的类型 数据段索引段临时段回滚段 数据段数据段用来存储表或簇的数据 可以细分为普通表数据段 索引表数据段 分区表数据段及簇数据段四种 索引段用来存放索引信息 主要包括ROWID和索引键 索引段与其相应的表段经常会被同时访问 为了减少硬盘访问的冲突 索引段与表段可以放到处于不同物理位置的表空间中 临时段当用户进行排序查询时 如果在指定的内存无法完成排序 Oracle将自动从用户默认的临时表空间中指派临时段进行排序 会话结束 数据将从临时段中自动删除 回滚段回滚段用于保存数据库的回滚信息 包含当前未提交事务所修改的数据的原始版本 一个事务只能使用一个回滚段存放它的回滚信息 但是一个回滚段可以存放多个事务的回滚信息 回滚段可以动态创建和撤销 7 5 2回滚段 回滚段的工作方式回滚段的作用回滚段的种类回滚段的管理回滚段的查询 1 回滚段的工作方式 回滚段采用循环写的方式进行写入 当回滚段中最后一个区写满时 Oracle将覆盖写入回滚段的第一个区 如果此时第一个区保存得回滚条目所对应的事务依然处于活动状态 事务未提交 则此时该区不能被覆盖 Oracle将为回滚段分配一个新的区 一个回滚段至少需要两个区 一个事务可以占用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论