版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第6章章 逻辑存储结构逻辑存储结构2本章内容本章内容 Oracle逻辑存储结构概述 表空间 数据块 区 段3本章要求本章要求 掌握Oracle数据库逻辑结构组成 掌握表空间的作用 了解数据块 了解区的结构 了解段46.1 逻辑存储结构概述逻辑存储结构概述 概念 逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构信息。 逻辑结构单元类型 数据块:BLOCK 区:EXTENT 段:SEGMENT 表空间:TABLESPACE5 数据库的存储层次关系Database
2、LogicalPhysicalTablespaceData fileOS blockOracle blockSegmentExtent66.2表空间表空间 表空间概述 表空间的管理7表空间概念表空间概念 Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个表空间。 一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据,表空间大小决定了数据库的大小。 一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。 表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储
3、在该表空间所对应的一个或多个数据文件中。若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。8 数据库、表空间、数据文件、数据库对象之间的关系 数据库 表空间 1 数据文件 1 数据库对象 1 数据文件 2 数据库对象 3 数据库对象 2 表空间 2 数据文件 3 数据库对象 4 数据文件 4 数据库对象 5 数据库对象 6 9表空间的分类表空间的分类 系统表空间 SYSTEM 表空间:系统创建数据库时自动创建,用于存储数据字典、系统管理信息、索引等对象。 SYSAUX表空间 :是10g新增的辅助system的表
4、空间,由系统内部自动维护,不存储用户数据。在通常情况下,不允许删除、重命名及传输SYSAUX表空间。10 非系统表空间 UNDOTBS1表空间:用来存储撤销信息,只存回滚段,不能存其他类型的段。 TEMP表空间:存储执行SQL语句时产生的临时数据(主要排序或统计),一般此表空间所有用户通用。 USERS表空间:一般主要存储用户数据。表空间的状态 联机、脱机、只读或可读写。11 大文件表空间与小文件表空间 所谓大文件表空间(Bigfile Tablespace)是指一个表空间只包含一个大数据文件,该文件的最大尺寸为128 TB(数据块大小为32 KB)或只32 TB(数据块大小为8 KB)。与大
5、文件表空间相对应,系统默认创建的表空间称为小文件表空间(Smallfile Tablespace),如SYSTEM表空间、SYSAUX表空间等。小文件表空间可以包含多达1024个数据文件。小文件表空间的总容量与大文件表空间的容量基本相似。 12表空间的管理方式表空间的管理方式字典管理方式 表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回滚信息和重做信息。字典管理方式将渐渐被淘汰。本地管理方式 在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。减少了对数据字典的竞争,提高空间管理的并发性,
6、支持在一个表空间里进行更多的并发操作,减少对数据字典的依赖。13创建表空间创建表空间 在创建本地管理方式下的表空间时,应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式。 表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数字以及一些特殊字符(如#、_、$)等; 表空间的类型包括普通表空间、临时表空间和撤销表空间; 表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)和定制(UNIFORM); 段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。14创建永久表空间创建永久表空间 创建永久表空间使用CREATE TA
7、BLESPACE语句来实现,该语句包含以下几个子句: DATAFILE:设定表空间对应的数据文件。 EXTENT MANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。 AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。 SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO (默认) 。15 为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式CREATE TABLESPACE ORCLTBS1 DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORC
8、LORCLTBS1_1.DBF SIZE 50M; 为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。CREATE TABLESPACE ORCLTBS2 DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS2_1.DBF SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;16 为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。CREATE TABLESPACE ORCLTBS3 DATAFILED:ORACLEPRODUCT10.2.0ORADATAOR
9、CLORCLTBS3_1.DBF SIZE 50M SEGMENT SPACE MANAGEMENT MANUAL; 为ORCL数据库创建一个永久性的表空间,区定制分配,段采用手动管理方式。CREATE TABLESPACE ORCLTBS4 DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS4_1.DBF SIZE 50MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 512KSEGMENT SPACE MANAGEMENT MANUAL;17创建临时表空间创建临时表空间 使用CREATE TEMPORARY TABLES
10、PACE 语句创建临时表空间,用TEMPFILE子句设置临时数据文件。 需要注意的是临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。 为ORCL数据库创建一个临时表空间ORCLTEMP1。CREATE TEMPORARY TABLESPACE ORCLTEMP1 TEMPFILE D:ORACLEPRODUCT10.2.0ORADATAORCLORCLTEMP1_1.DBF SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;18删除表空间删除表空间 语法 DROP
11、 TABLESPACE tablespace_name 如果表空间非空,应带有子句INCLUDING CONTENTS 若要删除操作系统下的数据文件,应带有子句AND DATAFILES 删除参照完整性约束,应带有子句CASCADE CONSTRAINTS19 删除ORCL数据库的ORCLTBS1表空间及其所有内容。DROP TABLESPACE ORCLTBS1 INCLUDING CONTENTS; 删除ORCL数据库的ORCLUNDO1表空间及其所有内容,同时删除其所对应的数据文件。DROP TABLESPACE ORCLUNDO1 INCLUDING CONTENTS AND DATA
12、FILES; 删除ORCL数据库的ORCLUNDO1表空间及其所有内容,同时删除其所对应的数据文件,以及其他表空间中与ORCLUNDO1表空间相关的参照完整性约束。DROP TABLESPACE ORCLUNDO1 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; 20 表空间信息查询表空间信息查询 V$TABLESPACE:从控制文件中获取的表空间名称和编号信息。 DBA_TABLESPACES:数据库中所有表空间的信息。 DBA_TABLESPACE_GROUPS:表空间组及其包含的表空间信息。 DBA_SEGMENTS:所有表空间
13、中段的信息。 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:用户使用临时排序段信
14、息。21利用利用OEM管理表空间管理表空间 创建表空间 编辑表空间 查看表空间信息 删除表空间 2223242526276.3 数据块数据块(BLOCK) 数据块的概念 数据块结构28(1)数据块的概念)数据块的概念 数据块是oracle服务器所能分配,读取或写入的最小存储单元。 最小的 I/O单元 包括一个或者多个OS BLOCK 在数据库创建时设置,不可更改 分为标准块和非标准块 DB_BLOCK_SIZE 参数设置标准块大小29(2)数据库块结构)数据库块结构HeaderFree spaceData30 块头部包括标题、表目录、行目录三部分。 标题包含块的一般属性信息,如块的物理地址、块
15、所属段的类型等; 表目录包含数据块中保存的表的信息; 行目录包含数据块中的行地址等信息。 存储区包括行数据区和空闲区两部分。 行数据区是已经使用的空间,保存数据库的对象数据; 空闲区是尚未使用的存储空间,用于存放新的行或用来更新已存在的行。 316.4 区区区是由一系列连续的数据块构成的逻辑存储单元,是存储空间分配与回收的最小单位。当创建一个数据库对象时,Oracle为对象分配若干个区,以构成一个段来为对象提供初始的存储空间。当段中已分配的区都写满后,Oracle会为段分配一个新区,以容纳更多的数据。326.5 段概述段概述 段的概述 段是由一个或多个扩展区组成的逻辑存储单元。 数据库模式对象在逻辑上是以段来占据表空间的大小。 段代表特定数据类型的数据存储结构。 段的类型: 数据段 索引段 临时段 回滚段33 数据段 数据段用来存储表或簇的数据,可以细分为表数据段、索引表数据段、分区表数据段及簇数据段四种。 索引段 用来存放索引信息,主要包括存储ROWID和索引键。 索引段与其相应的表段经常会被同时访问,为了减少硬盘访问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论