chap8Oracle逻辑存储结构_第1页
chap8Oracle逻辑存储结构_第2页
chap8Oracle逻辑存储结构_第3页
chap8Oracle逻辑存储结构_第4页
chap8Oracle逻辑存储结构_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、第8章 逻辑存储结构本章内容容8.1项项目导入入规规划人力力资源管管理系统统数据库库逻辑存存储结构构8.2逻逻辑存储储结构概概述8.3表表空间8.4数数据块8.5区区8.6段段本章要求求掌握Oracle数据据库逻辑辑结构组组成掌握表空空间的作作用及其其管理掌握扩展展区的结结构,了了解扩展展区的管管理掌握段的的作用,了解段段的管理理8.1项目导入入规划人力力资源管管理系统统数据库库逻辑存存储结构构创建永久久性表空空间ORCLTBS1、ORCLTBS2、ORCLTBS3、ORCLTBS4、ORCLTBS5创建一个个索引表表空间INDX。创建ORCLTEMP1和ORCLTEMP2两两个临时时表空间间

2、,并组组成TEMP_GROUP临临时表空空间组。创建撤销销表空间间ORCLUNDO1。合理规划划表空间间的存储储设置。8.2逻逻辑存存储结构构概述概念逻辑存储储结构是是从逻辑辑的角度度来分析析数据库库的构成成的,是是数据库库创建后后利用逻逻辑概念念来描述述Oracle数据库库内部数数据的组组织和管管理形式式。在操操作系统统中,没没有数据据库逻辑辑存储结结构信息息,而只只有物理理存储结结构信息息。数据据库的逻逻辑存储储结构概概念存储储在数据据库的数数据字典典中,可可以通过过数据字字典查询询逻辑存存储结构构信息。逻辑结构构单元类类型数据块:BLOCK区:EXTENT段:SEGMENT表空间:TAB

3、LESPACE数据库的的存储层层次关系系DatabaseLogicalPhysicalTablespaceData fileOS blockOracle blockSegmentExtent数据库逻逻辑存储储结构之之间的关关系表空间数据段 区间数据块(段片)8.3表表空间表空间概概述表空间的的管理8.3.1表表空间概概述表空间的的概念表空间的的分类表空间的的管理方方式表空间的的管理策策略(1)表表空间概概念Oracle数数据库在在逻辑上上可以划划分为一一系列的的逻辑空空间,每每一个逻逻辑空间间就可以以称为一一个表空空间。一个数据据库由有有一个或或多个表表空间构构成,不不同表空空间用于于存放不不

4、同应用用的数据据,表空空间大小小决定了了数据库库的大小小。一个表空空间对应应一个或或多个数数据文件件,数据据文件大大小决定定了表空空间的大大小。一一个数据据文件只只能从属属于一个个表空间间。表空间是是存储模模式对象象的容器器,一个个数据库库对象只只能存储储在一个个表空间间中(分分区表和和分区索索引除外外),但但可以存存储在该该表空间间所对应应的一个个或多个个数据文文件中。若表空空间只有有一个数数据文件件,则该该表空间间中所有有对象都都保存在在该文件件中;若若表空间间对应多多个数据据文件,则表空空间中的的对象可可以分布布于不同同的数据据文件中中。数据库、表空间间、数据据文件、数据库库对象之之间的

5、关关系(2)表表空间的的分类系统表空空间SYSTEM表空间,主要存存储:数据库的的数据字字典;PL/SQL程序的源源代码和和解释代代码,包包括存储储过程、函数、包、触触发器等等;数据库对对象的定定义,如如表、视视图、序序列、同同义词等等。SYSAUX表空间SYSAUX表空间是是Oracle10g新增的辅辅助系统统表空间间,主要要用于存存储数据据库组件件等信息息,以减减小SYSTEM表空间的的负荷。在通常情情况下,不允许许删除、重命名名及传输输SYSAUX表空间。非系统表表空间撤销表空空间专门进行行回滚信信息的自自动管理理,由UNDO_TABLESPACE参数设设置。临时表空空间专门进行行临时数

6、数据管理理的表空空间在数据库库实例运运行过程程中,执执行排序序等SQL语句句时会产产生大量量的临时时数据,这些临临时数据据将保存存在数据据库临时时表空间间中。默认临时时表空间间用户表空空间保存用户户数据大文件表表空间与与小文件件表空间间所谓大文文件表空空间(Bigfile Tablespace)是指一一个表空空间只包包含一个个大数据据文件,该文件件的最大大尺寸为为128 TB(数据据块大小小为32 KB)或只只32TB(数据块块大小为为8KB)。与大文件件表空间间相对应应,系统统默认创创建的表表空间称称为小文文件表空空间(SmallfileTablespace),如SYSTEM表空空间、SYS

7、AUX表表空间等等。小文文件表空空间可以以包含多多达1024个个数据文文件。小小文件表表空间的的总容量量与大文文件表空空间的容容量基本本相似。(3)表表空间的的管理方方式字典管理理方式表空间使使用数据据字典来来管理存存储空间间的分配配,当进进行区的的分配与与回收时时,Oracle将对对数据字字典中的的相关基基础表进进行更新新,同时时会产生生回滚信信息和重重做信息息。字典典管理方方式将渐渐渐被淘淘汰。本地管理理方式在本地管管理方式式中,区区的分配配和管理理信息都都存储在在表空间间的数据据文件中中,而与与数据字字典无关关。表空空间在每每个数据据文件中中维护一一个“位位图”结结构,用用于记录录表空间

8、间中所有有区的分分配情况况,因此此区在分分配与回回收时,Oracle将对数数据文件件中的位位图进行行更新,不会产产生回滚滚信息或或重做信信息。表空间本本地管理理方式的的优势:由于在区区分配与与回收过过程中不不需要对对数据字字典进行行访问,提高了了表空间间存储管管理操作作的速度度和并发发性。能够避免免表空间间存储管管理操作作中的递递归现象象,提高高了存储储空间管管理操作作性能。由于本地地管理的的临时表表空间在在使用过过程中不不会产生生任何重重做信息息和撤销销信息,因此既既使查询询操作中中包含排排序,对对数据库库来说也也完全是是只读操操作,这这样能够够在保留留可查询询性同时时,将整整个数据据库设置

9、置为只读读状态。这种数数据库可可以作为为备用数数据库使使用。简化了表表空间的的存储管管理,由由Oracle自动完完成存储储管理操操作。降低了用用户对数数据字典典的依赖赖性。不存在磁磁盘碎片片问题,因为必必要的信信息都存存储在数数据文件件的位图图中,而而不是保保存在数数据字典典中(4)表表空间管管理策略略将数据字字典与用用户数据据分离,避免由由于数据据字典对对象和用用户对象象保存在在一个数数据文件件中而产产生I/O冲突突。将回滚数数据与用用户数据据分离,避免由由于硬盘盘损坏而而导致永永久性的的数据丢丢失。将表空间间的数据据文件分分散保存存到不同同的硬盘盘上,平平均分布布物理I/O操操作。为不同的

10、的应用创创建独立立的表空空间,避避免多个个应用之之间的相相互干扰扰。能够将表表空间设设置为脱脱机状态态或联机机状态,以便对对数据库库的一部部分进行行备份或或恢复。能够将表表空间设设置为只只读状态态,从而而将数据据库的一一部分设设置为只只读状态态。能够为某某种特殊殊用途专专门设置置一个表表空间,如临时时表空间间,优化化表空间间的使用用效率。能够更加加灵活地地为用户户设置表表空间配配额。8.3.2表空空间的管管理(本本地管理理方式)创建表空空间修改表空空间表空间的的备份删除表空空间大文件表表空间的的管理表空间信信息查询询利用OEM管理理表空间间(1)创创建表空空间在创建本本地管理理方式下下的表空空

11、间时,应该确确定表空空间的名名称、类类型、对对应的数数据文件件的名称称和位置置以及区区的分配配方式、段的管管理方式式表空间名名称不能能超过30个字字符,必必须以字字母开头头,可以以包含字字母、数数字以及及一些特特殊字符符(如#、_、$)等等;表空间的的类型包包括普通通表空间间、临时时表空间间和撤销销表空间间;表空间中中区的分分配方式式包括两两种方式式:自动动扩展(AUTOALLOCATE)和定定制(UNIFORM);段的管理理包括两两种方式式:自动动管理(AUTO)和和手动管管理(MANUAL)。创建永久久表空间间创建永久久表空间间使用CREATETABLESPACE语句句来实现现,该语语句包

12、含含以下几几个子句句:DATAFILE:设设定表空空间对应应的数据据文件。EXTENTMANAGEMENT:指指定表空空间的管管理方式式,取值值为LOCAL(默认认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区区的分配配方式。SEGMENT SPACE MANAGEMENT:设定段段的管理理方式,其取值值为MANUAL或AUTO (默默认)。为ORCL数据据库创建建一个永永久性的的表空间间,区自自动扩展展,段采采用手动动管理方方式CREATETABLESPACEORCLTBS1DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLO

13、RCLTBS1_1.DBFSIZE50M;为ORCL数据据库创建建一个永永久性的的表空间间,区定定制分配配,段采采用自动动管理方方式。CREATETABLESPACEORCLTBS2DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS2_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORM SIZE512K;为ORCL数据据库创建建一个永永久性的的表空间间,区自自动扩展展,段采采用手动动管理方方式。CREATETABLESPACEORCLTBS3DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCL

14、ORCLTBS3_1.DBFSIZE50MSEGMENT SPACE MANAGEMENTMANUAL;为ORCL数据据库创建建一个永永久性的的表空间间,区定定制分配配,段采采用手动动管理方方式。CREATETABLESPACEORCLTBS4DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS4_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORM SIZE512KSEGMENT SPACE MANAGEMENTMANUAL;为ORCL数据据库创建建一个永永久性的的表空间间INDX,区区自动扩扩展,段段采用自自动管理理方式

15、,专门用用于存储储ORCL数据据库中的的索引数数据。CREATETABLESPACEINDX DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLINDEX01.DBFSIZE50M;创建临时时表空间间使用CREATETEMPORARYTABLESPACE语语句创建建临时表表空间,用TEMPFILE子句设设置临时时数据文文件。需要注意意的是临临时表空空间中区区的分配配方式只只能是UNIFORM,而不不能是AUTOALLOCATE,因为这这样才能能保证不不会在临临时段中中产生过过多的存存储碎片片。为ORCL数据据库创建建一个临临时表空空间ORCLTEMP1。CREAT

16、ETEMPORARY TABLESPACEORCLTEMP1TEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTEMP1_1.DBFSIZE20MEXTENTMANAGEMENTLOCALUNIFORM SIZE16M;临时表空空间组将一个或或多个临临时表空空间构成成一个表表空间组组。当将将临时表表空间组组作为数数据库或或用户的的默认临临时表空空间时,用户就就可以同同时使用用该表空空间组中中所有的的临时表表空间,避免了了由于单单个临时时表空间间的空间间不足而而导致数数据库运运行故障障。同时时,使用用临时表表空间组组,可以以保证在在一个简简单并行行操作中中多

17、个并并行服务务的执行行。临时表空空间组不不需要显显式创建建,为临临时表空空间组指指定第一一个临时时表空间间时隐式式创建,当临时时表空间间组中最最后一个个临时表表空间删删除时而而隐式地地删除。通过在CREATETEMPORARY TABLSPACE或ALTERTABLESPACE语句中中使用TABLESPACE GROUP短语创创建临时时表空间间组。为ORCL数据据库创建建一个临临时表空空间ORCLTEMP2,并并放入临临时表空空间组temp_group1。同同时,将将临时表表空间ORCLTEMP1也也放入该该temp_group1中中。CREATETEMPORARY TABLESPACEORC

18、LTEMP2 TEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTEMP2_1.DBFSIZE20MEXTENTMANAGEMENTLOCALUNIFORM SIZE16MTABLESPACE GROUP temp_group1;ALTERTABLESPACE ORCLTEMP1TABLESPACE GROUP temp_group1;创建撤销销表空间间在Oracle 10g中引引入了撤撤销表空空间的概概念,专专门用于于回滚段段的自动动管理。如果数数据库中中没有创创建撤销销表空间间,那么么将使用用SYSTEM表空间间来管理理回滚段段。如果数据据库中包包含多

19、个个撤销表表空间,那么一一个实例例只能使使用一个个处于活活动状态态的撤销销表空间间,可以以通过参参数UNDO_TABLESPACE来指指定;如如果数据据库中只只包含一一个撤销销表空间间,那么么数据库库实例启启动后会会自动使使用该撤撤销表空空间。如果要使使用撤销销表空间间对数据据库回滚滚信息进进行自动动管理,则必须须将初始始化参数数UNDO_MANAGEMENT=AUTO。可以使用用CREATE UNDOTABLESPACE语句句创建撤撤销表空空间,但但是在该该语句中中只能指指定DATAFILE和EXTENTMANAGEMENT LOCAL两个子子句,而而不能指指定其他他子句。为ORCL数据据库

20、创建建一个撤撤销表空空间。CREATEUNDOTABLESPACE ORCLUNDO1DATAFILED:ORACLEORADATAORCLORCLUNDO1_1.DBFSIZE 20M;如果要在在数据库库使用该该撤销表表空间,需要设设置参数数UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE= ORCLUNDO1(2)修修改表空空间可以对表表空间进进行下列列修改操操作:扩展表空空间修改表空空间可用用性修改表空空间读/写性设置默认认表空间间表空间重重命名注意不能将本本地管理理的永久久性表空空间转换换为本地地管理的的临时表表空间,也不能能修改本本地管理理表空间间中段的的管理方

21、方式。扩展表空空间为表空间间添加数数据文件件通过ALTER TABLESPACEADD DATAFILE语句为为永久表表空间添添加数据据文件,通过ALTERTABLESPACEADDTEMPFILE语语句为临临时表空空间添加加临时数数据文件件。为ORCL数据据库的ORCLTBS1表空空间添加加一个大大小为10MB的新新数据文文件。ALTERTABLESPACE ORCLTBS1 ADDDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_2.DBFSIZE 10M;为ORCL数据据库的ORCLTEMP1表表空间添添加一个个大小为为10MB的的临时数数

22、据文件件。ALTERTABLESPACE ORCLTEMP1ADDTEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTEMP1_2.DBF SIZE20M;改变数据据文件的的大小可以通过过改变表表空间已已有数据据文件的的大小,达到扩扩展表空空间的目目的。将ORCL数据据库的ORCLTBS1表空空间的数数据文件件ORCLTBS1_2.DBF大大小增加加到20 MB。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_2.DBFRESIZE20M;改变数据据文件的的扩展方方式如果在创创建表

23、空空间或为为表空间间增加数数据文件件时没有有指定AUTOEXTEND ON选项,则该文文件的大大小是固固定的。如果为为数据文文件指定定了AUTOEXTENDON选选项,当当数据文文件被填填满时,数据文文件会自自动扩展展,即表表空间被被扩展了了。将ORCL数据据库的ORCLTBS1表空空间的数数据文件件ORCLTBS1_2.DBF设设置为自自动扩展展,每次次扩展5 MB空间,文件最最大为100MB。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS1_2.DBFAUTOEXTEND ON NEXT5MMAXSIZE100M;修

24、改表空空间可用用性离线状态态的表空空间是不不能进行行数据访访问的,所对应应的所有有数据文文件也都都处于脱脱机状态态。一些表空空间必须须是在线线状态:SYSTEM表表空间存放在线线回退信信息的撤撤销表空空间临时表空空间语法ALTERTABLESPACE tablespace_nameONLINE|OFFLINE示例ALTERTABLESPACE ORCLTBS1 OFFLINE;ALTERTABLESPACE ORCLTBS1 ONLINE;修改表空空间读写写性语法ALTERTABLESPACE tbs_nameREAD ONLY|READWRITE表空间只只有满足足下列要要求才可可以转换换为只

25、读读状态:表空间处处于联机机状态;表空间中中不能包包含任何何活动的的回退段段;如果表空空间正在在进行联联机数据据库备份份,不能能将它设设置为只只读状态态。因为为联机备备份结束束时,Oracle更更新表空空间数据据文件的的头部信信息。示例ALTERTABLESPACE ORCLTBS1 READONLY;ALTERTABLESPACE ORCLTBS1 READWRITE设置默认认表空间间在Oracle10g数据库库中,默默认表空空间为USERS表空空间,默默认临时时表空间间为TEMP表表空间。设置数据据库的默默认表空空间ALTERDATABASEDEFAULT TABLESPACE设置数据据库

26、的默默认临时时表空间间ALTERDATABASEDEFAULT TEMPORARYTABLESPACE示例ALTERDATABASEDEFAULT TABLESPACEORCLTBS1;ALTERDATABASEDEFAULT TEMPORARYTABLESPACE TEMP;ALTERDATABASEDEFAULT TEMPORARYTABLESPACE temp_group1;表空间重重命名语句ALTERTABLESPACERENAMETO当重命名名一个表表空间时时数据库库会自动动更新数数据字典典、控制制文件以以及数据据文件头头部中对对该表空空间的引引用。在在重命名名表空间间时,该该表空间

27、间ID号号并没有有修改,如果该该表空间间是数据据库默认认表空间间,那么么重命名名后仍然然是数据据库的默默认表空空间。注意不能重命命名SYSTEM表空空间和SYSAUX表表空间不能重命命名处于于脱机状状态或部部分数据据文件处处于脱机机状态的的表空间间。(3)表表空间的的备份语法ALTERTABLESPACE tablespace_nameBEGIN|END BACKUP在数据库库进行热热备份(联机备备份)时时,需要要分别对对表空间间进行备备份。基基本步骤骤为:使用ALTER TABLESPACEBEGINBACKUP语句将将表空间间设置为为备份模模式。在操作系系统中备备份表空空间所对对应的数数据

28、文件件。使用ALTER TABLESPACEEND BACKUP语句句结束表表空间的的备份模模式。示例:备备份ORCL数数据库的的ORCLTBS1表表空间。ALTERTABLESPACE ORCLTBS1 BEGIN BACKUP;复制ORCLTBS1表空间间的数据据文件ORCLTBS1_1.DBF和ORCLTBS1_2.DBF到目目标位置置。ALTERTABLESPACE ORCLTBS1 ENDBACKUP;(4)删删除表空空间语法DROP TABLESPACEtablespace_name如果表空空间非空空,应带带有子句句INCLUDING CONTENTS若要删除除操作系系统下的的数据

29、文文件,应应带有子子句ANDDATAFILES删除参照照完整性性约束,应带有有子句CASCADE CONSTRAINTS删除ORCL数数据库的的ORCLTBS1表表空间及及其所有有内容。DROP TABLESPACEORCLTBS1INCLUDINGCONTENTS;删除ORCL数数据库的的ORCLUNDO1表空间间及其所所有内容容,同时时删除其其所对应应的数据据文件。DROP TABLESPACEORCLUNDO1INCLUDINGCONTENTSAND DATAFILES;删除ORCL数数据库的的ORCLUNDO1表空间间及其所所有内容容,同时时删除其其所对应应的数据据文件,以及其其他表空

30、空间中与与ORCLUNDO1表空间间相关的的参照完完整性约约束。DROP TABLESPACEORCLUNDO1INCLUDINGCONTENTSAND DATAFILESCASCADE CONSTRAINTS;(5)大大文件表表空间的的管理概念大文件表表空间只只包含一一个数据据文件,减少数数据库中中数据文文件的数数量,减减少SGA中用用于存放放数据文文件信息息的内存存需求,同时减减小控制制文件。通过对大大文件表表空间的的操作可可以实现现对数据据文件的的透明操操作,简简化了对对数据文文件的管管理。大文件表表空间只只能采用用本地管管理方式式,其段段采用自自动管理理方式。如果在数数据库创创建时设设

31、置系统统默认的的表空间间类型为为BIGFILE,则则使用CREATETABLESPACE语句句默认创创建的就就是大文文件表空空间。如如果要创创建传统统的小文文件表空空间,则则需要使使用CREATESMALLFILETABLESPACE语句句。创建大文文件表空空间的语语句CREATEBIGFILETABLESPACE示例:创创建一个个大文件件表空间间ORCLTBS5。CREATEBIGFILETABLESPACE ORCLTBS5DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS5_1.DBFSIZE 20M;大文件表表空间的的操作将大文件件表空间间O

32、RCLTBS5的的数据文文件D:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS5_1.DBF大大小修改改为30 MB。ALTERTABLESPACE ORCLTBS5 RESIZE30M;将大文件件表空间间ORCLTBS5的的数据文文件D:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS5_1.DBF修改改为可以以自动扩扩展。ALTERTABLESPACE ORCLTBS5 AUTOEXTENDONNEXT10MMAXSIZEUNLIMITED;(6)表表空间信信息查询询V$TABLESPACE:从控制制文件中中获取的的表空间间名称和和编号

33、信信息。DBA_TABLESPACES:数据库库中所有有表空间间的信息息。DBA_TABLESPACE_GROUPS:表空间间组及其其包含的的表空间间信息。DBA_SEGMENTS:所有表表空间中中段的信信息。DBA_EXTENTS:所所有表空空间中区区的信息息。DBA_FREE_SPACE:所所有表空空间中空空闲区的的信息。V$DATAFILE:所有有数据文文件信息息,包括括所属表表空间的的名称和和编号。V$TEMPFILE:所有有临时文文件信息息,包括括所属表表空间的的名称和和编号。DBA_DATA_FILES:数数据文件件及其所所属表空空间信息息。DBA_TEMP_FILES:临临时文件

34、件及其所所属表空空间信息息。DBA_USERS:所有用用户的默默认表空空间和临临时表空空间信息息。DBA_TS_QUOTAS:所有有用户的的表空间间配额信信息。V$SORT_SEGMENT:数数据库实实例的每每个排序序段信息息。V$SORT_USER:用用户使用用临时排排序段信信息。查询表空空间基本本信息SELECTTABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE, CONTENTSFROMDBA_TABLESPACES;查询表空空间数据据文件信信息SELECTFILE_NAME,BLOCKS,TABLESPACE_NAMEFROM DBA_D

35、ATA_FILES;查询表空空间空闲闲空间大大小SELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACESFROM DBA_FREE_SPACEGROUPBYTABLESPACE_NAME;统计表空空间空闲闲空间信信息SELECTTABLESPACE_NAMETABLESPACE,FILE_ID,COUNT(*) PIECES,MAX(blocks)MAXIMUM,MIN(blocks)MINIMUM,AVG(blocks)AVERAGE,SUM(blocks)TOTALFROM DBA_FREE_SPACEGROUPBYTABLESPACE_NAME, FILE_

36、ID;(8)利利用OEM管理理表空间间创建表空空间编辑表空空间查看表空空间信息息删除表空空间临时表空空间组的的管理8.4数数据块块(BLOCK)数据块的的概念数据块结结构数据块的的管理(1)数数据块的的概念最小的I/O单元包括一个个或者多多个OS BLOCK在数据库库创建时时设置,不可更更改分为标准准块和非非标准块块DB_BLOCK_SIZE 参数数设置标标准块大大小(2)数数据库块块结构HeaderFree spaceData块头部包包括标题题、表目目录、行行目录三三部分。标题包含含块的一一般属性性信息,如块的的物理地地址、块块所属段段的类型型等;表目录包包含数据据块中保保存的表表的信息息;

37、行目录包包含数据据块中的的行地址址等信息息。存储区包包括行数数据区和和空闲区区两部分分。行数据区区是已经经使用的的空间,保存数数据库的的对象数数据;空闲区是是尚未使使用的存存储空间间,用于于存放新新的行或或用来更更新已存存在的行行。(3)数数据块的的管理对块的管管理主要要是对块块中可用用存储空空间的管管理,确确定保留留多少空空闲空间间,避免免产生行行链接、行迁移移而影响响数据的的查询效效率。当向表格格中插入入数据时时,如果果行的长长度大于于块的大大小,行行的信息息无法存存放在一一个块中中,就需需要使用用多个块块存放行行信息,这称为为行链接接。当表格数数据被更更新时,如果更更新后的的数据长长度大

38、于于块长度度,Oracle会将将整行的的数据从从原数据据块迁移移到新的的数据块块中,只只在原数数据块中中留下一一个指针针指向新新数据块块,这称称为行迁迁移。对块的管管理分为为自动和和手动两两种。如果建立立表空间间时使用用本地管管理方式式,并且且将段的的管理方方式设置置为AUTO,则采用用自动方方式管理理块。否否则,DBA可可以采用用手动管管理方式式,通过过为段设设置PCTFREE和和PCTUSED两个个参数来来控制数数据块中中空闲空空间的使使用。PCTFREEPCTFREE参数指指定块中中必须保保留的最最小空闲闲空间比比例。当当数据块块的自由由空间百百分率低低于PCTFREE时时,此数数据块被

39、被标志为为USED,此此时在数数据块中中只可以以进行更更新操作作,而不不可以进进行插入入操作。该参数数默认为为10。PCTUSEDPCTUSED参数指指定可以以向块中中插入数数据时块块已使用用的最大大空间比比列。当当数据块块使用空空间低于于PCTUSED时,此块标标志为FREE,可以以对数据据块中数数据进行行插入操操作;反反之,如如果使用用空间高高于PCTUSED,则不可可以进行行插入操操作。该该参数默默认为10。INITRANS可以同时时对此数数据块进进行DML操作作的事务务的个数数。MAXTRANS可以同时时对此数数据块进进行DML操作作的最多多事务的的个数。80%80%40%Insert

40、s1234InsertsPCTFREE=20PCTUSED=40Insert (on freelist)Inserts(off freelist)8.5区区区的概念念区的管理理(1)区区的概念念区是由一一系列连连续的数数据块构构成的逻逻辑存储储单元,是存储储空间分分配与回回收的最最小单位位。当创创建一个个数据库库对象时时,Oracle为对对象分配配若干个个区,以以构成一一个段来来为对象象提供初初始的存存储空间间。当段段中已分分配的区区都写满满后,Oracle会会为段分分配一个个新区,以容纳纳更多的的数据。(2)区区的管理理区的分配配在本地管管理方式式的表空空间中,自动进进行区的的分配。可以通通

41、过使用用UNIFORM选项项,指定定所有段段的初始始区和后后续区具具有统一一大小,也可以以使用AUTOALLOCATE选选项指定定由Oracle自动动决定后后续区大大小。用用户不能能通过其其他参数数来干预预区的分分配。在字典管管理方式式的表空空间中,创建表表空间时时可以使使用DEFAULTSTORAGE子句句设置存存储参数数,也可可以在该该表空间间定义对对象时通通过STORAGE子子句设置置存储参参数。如如果在定定义对象象时没有有设置存存储参数数,则继继承表空空间存储储参数的的设置。创建一个个本地管管理方式式的表空空间,区区分配采采用自动动扩展方方式进行行。CREATETABLESPACEOR

42、CLTBS6DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS6_1.DBFSIZE20MEXTENTMANAGEMENTLOCALAUTOALLOCATE;创建一个个本地管管理方式式的表空空间,区区分配采采用固定定大小,每个区区5MB。CREATETABLESPACEORCLTBS8DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLORCLTBS8_1.DBFSIZE10MEXTENTMANAGEMENTLOCALUNIFORMSIZE 5M;区的回收收通常分配配给段的的区将一一直保留留在段中中,不论论区中的的数据块块

43、是否被被使用。只有当当段所属属的对象象被删除除时,段段中所有有的区才才会被回回收。此此外,在在一些特特殊情况况下,也也能够回回收未使使用的区区。例如如,如果果在创建建回滚段段时指定定了OPTIMAL关关键字,Oracle会定期期回收回回滚段中中未使用用的区。8.6段段段概述回滚段8.6.1段段概述段的概述述段是由一一个或多多个扩展展区组成成的逻辑辑存储单单元。数据库模模式对象象在逻辑辑上是以以段来占占据表空空间的大大小。段代表特特定数据据类型的的数据存存储结构构。段的类型型:数据段索引段临时段回滚段数据段数据段用用来存储储表或簇簇的数据据,可以以细分为为表数据据段、索索引表数数据段、分区表表数

44、据段段及簇数数据段四四种。索引段用来存放放索引信信息,主主要包括括存储ROWID和索索引键。索引段与与其相应应的表段段经常会会被同时时访问,为了减减少硬盘盘访问的的冲突,索引段段与表段段可以放放到处于于不同物物理位置置的表空空间中。临时段当用户进进行排序序查询时时,如果果在指定定的内存存无法完完成排序序,Oracle将自动从从用户默默认的临临时表空空间中指指派临时时段进行行排序。会话结结束,数数据将从从临时段段中自动动删除。回滚段回滚段用用于保存存数据库库的回滚滚信息,包含当当前未提提交事务务所修改改的数据据的原始始版本。一个事务务只能使使用一个个回滚段段存放它它的回滚滚信息,但是一一个回滚滚

45、段可以以存放多多个事务务的回滚滚信息。回滚段段可以动动态创建建和撤销销。TableClusterTablepartitionIndex-organizedtableIndexpartitionUndosegmentTemporarysegmentIndex8.6.2回回滚段回滚段的的工作方式式回滚段的的作用回滚段的的种类回滚段的的管理回滚段的的查询(1)回滚段段的工作方式式回滚段采采用循环环写的方方式进行行写入。当回滚滚段中最最后一个个区写满满时,Oracle将覆盖写写入回滚滚段的第第一个区区,如果果此时第第一个区区保存得得回滚条条目所对对应的事事务依然然处于活活动状态态(事务务未提交交),则则此时该该区不能能被覆盖盖,Oracle将为回滚滚段分配配一个新新的区。一个回滚滚段至少少需要两两个区。一个事事务可以以占用回回滚段中中的多个个区,同同一个区区也能够够存放多多个事务务的数据据UpdatetransactionOldimageNewimageUndo segmentTable(2)回滚段段的作用

温馨提示

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

评论

0/150

提交评论