版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章逻辑存储结构本章内容Oracle逻辑存储结构概述表空间数据块区段本章要求掌握Oracle数据库逻辑结构组成掌握表空间的作用及其管理掌握扩展区的结构,了解扩展区的管理掌握段的作用,了解段的管理6.1逻辑存储结构概述概念逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以通过数据字典查询逻辑存储结构信息。逻辑结构单元类型数据块:BLOCK区:EXTENT段:SEGMENT表空间:TABLESPACE数据库的存储层次关系DatabaseLogicalPhysicalTablespaceDatafileOSblockOracle
blockSegmentExtent数据库逻辑存储结构之间的关系表空间数据段………
区间数据块(段片)6.2表空间表空间概述表空间的管理7.2.1表空间概述表空间的概念表空间的分类表空间的管理方式表空间的管理策略(1)表空间概念Oracle数据库在逻辑上可以划分为一系列的逻辑空间,每一个逻辑空间就可以称为一个表空间。一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用的数据,表空间大小决定了数据库的大小。一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大小。一个数据文件只能从属于一个表空间。表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个数据文件中。若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中;若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据文件中。数据库、表空间、数据文件、数据库对象之间的关系(2)表表空空间间的的分分类类系统统表表空空间间SYSTEM表空空间间,,主主要要存存储储::数据据库库的的数数据据字字典典;;PL/SQL程序序的的源源代代码码和和解解释释代代码码,,包包括括存存储储过过程程、、函函数数、、包包、、触触发发器器等等;;数据据库库对对象象的的定定义义,,如如表表、、视视图图、、序序列列、、同同义义词词等等。。SYSAUX表空空间间SYSAUX表空空间间是是Oracle10g新增增的的辅辅助助系系统统表表空空间间,,主主要要用用于于存存储储数数据据库库组组件件等等信信息息,,以以减减小小SYSTEM表空空间间的的负负荷荷。。在通通常常情情况况下下,,不不允允许许删删除除、、重重命命名名及及传传输输SYSAUX表空空间间。。非系系统统表表空空间间撤销销表表空空间间专门门进进行行回回滚滚信信息息的的自自动动管管理理,,由UNDO_TABLESPACE参数数设设置置。临时时表表空空间间专门门进进行行临临时时数数据据管管理理的的表表空空间间在数数据据库库实实例例运运行行过过程程中中,,执执行行排排序序等等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(默认)。。为ORCL数据库创建一一个永久性的的表空间,区区自动扩展,,段采用自动动管理方式CREATETABLESPACEORCLTBS1DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF'SIZE50M;为ORCL数据库创建一一个永久性的的表空间,区区定制分配,,段采用自动动管理方式。。CREATETABLESPACEORCLTBS2DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS2_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;为ORCL数据库创建一一个永久性的的表空间,区区自动扩展,,段采用手动动管理方式。。CREATETABLESPACEORCLTBS3DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS3_1.DBF'SIZE50MSEGMENTSPACEMANAGEMENTMANUAL;为ORCL数据库创建一一个永久性的的表空间,区区定制分配,,段采用手动动管理方式。。CREATETABLESPACEORCLTBS4DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS4_1.DBF'SIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;创建临时表空空间使用CREATETEMPORARYTABLESPACE语句创建临时时表空间,用用TEMPFILE子句设置临时时数据文件。。需要注意的是是临时表空间间中区的分配配方式只能是是UNIFORM,而不能是AUTOALLOCATE,因为这样才才能保证不会会在临时段中中产生过多的的存储碎片。。为ORCL数据库创建一一个临时表空空间ORCLTEMP1。CREATETEMPORARYTABLESPACEORCLTEMP1TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16M;临时表空间组组将一个或多个个临时表空间间构成一个表表空间组。当当将临时表空空间组作为数数据库或用户户的默认临时时表空间时,,用户就可以以同时使用该该表空间组中中所有的临时时表空间,避避免了由于单单个临时表空空间的空间不不足而导致数数据库运行故故障。同时,,使用临时表表空间组,可可以保证在一一个简单并行行操作中多个个并行服务的的执行。临时表空间组组不需要显式式创建,为临临时表空间组组指定第一个个临时表空间间时隐式创建建,当临时表表空间组中最最后一个临时时表空间删除除时而隐式地地删除。通过在CREATETEMPORARYTABLSPACE或ALTERTABLESPACE语句中使用TABLESPACEGROUP短语创建临时时表空间组。。为ORCL数据库创建一一个临时表空空间ORCLTEMP2,并放入临时时表空间组temp_group1。同时,将临临时表空间ORCLTEMP1也放入该temp_group1中。CREATETEMPORARYTABLESPACEORCLTEMP2TEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP2_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE16MTABLESPACEGROUPtemp_group1;ALTERTABLESPACEORCLTEMP1TABLESPACEGROUPtemp_group1;创建撤销表空空间在Oracle10g中引入了撤销销表空间的概概念,专门用用于回滚段的的自动管理。。如果数据库库中没有创建建撤销表空间间,那么将使使用SYSTEM表空间来管理理回滚段。如果数据库中中包含多个撤撤销表空间,,那么一个实实例只能使用用一个处于活活动状态的撤撤销表空间,,可以通过参参数UNDO_TABLESPACE来指定;如果果数据库中只只包含一个撤撤销表空间,,那么数据库库实例启动后后会自动使用用该撤销表空空间。如果要使用撤撤销表空间对对数据库回滚滚信息进行自自动管理,则则必须将初始始化参数UNDO_MANAGEMENT=AUTO。可以使用CREATEUNDOTABLESPACE语句创建撤销销表空间,但但是在该语句句中只能指定定DATAFILE和EXTENTMANAGEMENTLOCAL两个子句,而而不能指定其其他子句。为ORCL数据库创建一一个撤销表空空间。CREATEUNDOTABLESPACEORCLUNDO1DATAFILE'D:\ORACLE\ORADATA\ORCL\ORCLUNDO1_1.DBF'SIZE20M;如果要在数据据库使用该撤撤销表空间,,需要设置参参数UNDO_MANAGEMENT=AUTOUNDO_TABLESPACE=ORCLUNDO1(2)修改表空间间可以对表空间间进行下列修修改操作:扩展表空间修改表空间可可用性修改表空间读读/写性设置默认表空空间表空间重命名名注意不能将本地管管理的永久性性表空间转换换为本地管理理的临时表空空间,也不能能修改本地管管理表空间中中段的管理方方式。扩展表空间为表空间添加加数据文件通过ALTERTABLESPACE…ADDDATAFILE语句为永久表表空间添加数数据文件,通通过ALTERTABLESPACE…ADDTEMPFILE语句为临时表表空间添加临临时数据文件件。为ORCL数据库的ORCLTBS1表空间间添加加一个个大小小为10MB的新数数据文文件。。ALTERTABLESPACEORCLTBS1ADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'SIZE10M;为ORCL数据库库的ORCLTEMP1表空间间添加加一个个大小小为10MB的临时时数据据文件件。ALTERTABLESPACEORCLTEMP1ADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTEMP1_2.DBF'SIZE20M;改变数数据文文件的的大小小可以通通过改改变表表空间间已有有数据据文件件的大大小,,达到到扩展展表空空间的的目的的。将ORCL数据库库的ORCLTBS1表空间间的数数据文文件ORCLTBS1_2.DBF大小增增加到到20MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'RESIZE20M;改变数数据文文件的的扩展展方式式如果在在创建建表空空间或或为表表空间间增加加数据据文件件时没没有指指定AUTOEXTENDON选项,,则该该文件件的大大小是是固定定的。。如果果为数数据文文件指指定了了AUTOEXTENDON选项,,当数数据文文件被被填满满时,,数据据文件件会自自动扩扩展,,即表表空间间被扩扩展了了。将ORCL数据库库的ORCLTBS1表空间间的数数据文文件ORCLTBS1_2.DBF设置为为自动动扩展展,每每次扩扩展5MB空间,,文件件最大大为100MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF'AUTOEXTENDONNEXT5MMAXSIZE100M;修改表空间间可用性离线状态的的表空间是是不能进行行数据访问问的,所对应的所所有数据文文件也都处处于脱机状状态。一些表空间间必须是在在线状态:SYSTEM表空间存放在线回回退信息的的撤销表空空间临时表空间间语法ALTERTABLESPACEtablespace_nameONLINE|OFFLINE示例ALTERTABLESPACEORCLTBS1OFFLINE;ALTERTABLESPACEORCLTBS1ONLINE;修改表空间间读写性语法ALTERTABLESPACEtbs_nameREADONLY|READWRITE表空间只有有满足下列列要求才可可以转换为为只读状态态:表空间处于于联机状态态;表空间中不不能包含任任何活动的的回退段;;如果表空间间正在进行行联机数据据库备份,,不能将它它设置为只只读状态。。因为联机机备份结束束时,Oracle更新表空间间数据文件件的头部信信息。示例ALTERTABLESPACEORCLTBS1READONLY;ALTERTABLESPACEORCLTBS1READWRITE设置默认表表空间在Oracle10g数据库中,,默认表空空间为USERS表空间,默默认临时表表空间为TEMP表空间。设置数据库库的默认表表空间ALTERDATABASEDEFAULTTABLESPACE设置数据库库的默认临临时表空间间ALTERDATABASEDEFAULTTEMPORARYTABLESPACE示例ALTERDATABASEDEFAULTTABLESPACEORCLTBS1;ALTERDATABASEDEFAULTTEMPORARYTABLESPACETEMP;ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_group1;表空间重命命名语句ALTERTABLESPACE…RENAMETO当重命名一一个表空间间时数据库库会自动更更新数据字字典、控制制文件以及及数据文件件头部中对对该表空间间的引用。。在重命名名表空间时时,该表空空间ID号并没有修修改,如果果该表空间间是数据库库默认表空空间,那么么重命名后后仍然是数数据库的默默认表空间间。注意不能重命名名SYSTEM表空间和SYSAUX表空间不能重命名名处于脱机机状态或部部分数据文文件处于脱脱机状态的的表空间。。(3)表空间的的备份语法ALTERTABLESPACEtablespace_nameBEGIN|ENDBACKUP在数据库进进行热备份份(联机备备份)时,,需要分别别对表空间间进行备份份。基本步步骤为:使用ALTERTABLESPACE…BEGINBACKUP语句将表空空间设置为为备份模式式。在操作系统统中备份表表空间所对对应的数据据文件。使用ALTERTABLESPACE…ENDBACKUP语句结束表表空间的备备份模式。。示例:备份份ORCL数据库的ORCLTBS1表空间。ALTERTABLESPACEORCLTBS1BEGINBACKUP;复制ORCLTBS1表空间的数数据文件ORCLTBS1_1.DBF和ORCLTBS1_2.DBF到目标位置置。ALTERTABLESPACEORCLTBS1ENDBACKUP;(4)删除表空空间语法DROPTABLESPACEtablespace_name如果表空间间非空,应应带有子句句INCLUDINGCONTENTS若要删除操操作系统下下的数据文文件,应带带有子句ANDDATAFILES删除参照完完整性约束束,应带有有子句CASCADECONSTRAINTS删除ORCL数据库的ORCLTBS1表空间及其其所有内容容。DROPTABLESPACEORCLTBS1INCLUDINGCONTENTS;删除ORCL数据库的ORCLUNDO1表空间及其其所有内容容,同时删删除其所对对应的数据据文件。DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILES;删除ORCL数据库的ORCLUNDO1表空间及其其所有内容容,同时删删除其所对对应的数据据文件,以以及其他表表空间中与与ORCLUNDO1表空间相关关的参照完完整性约束束。DROPTABLESPACEORCLUNDO1INCLUDINGCONTENTSANDDATAFILESCASCADECONSTRAINTS;(5)大文件件表空间间的管理理概念大文件表表空间只只包含一一个数据据文件,,减少数数据库中中数据文文件的数数量,减减少SGA中用于存存放数据据文件信信息的内内存需求求,同时时减小控控制文件件。通过对大大文件表表空间的的操作可可以实现现对数据据文件的的透明操操作,简简化了对对数据文文件的管管理。大文件表表空间只只能采用用本地管管理方式式,其段段采用自自动管理理方式。。如果在数数据库创创建时设设置系统统默认的的表空间间类型为为BIGFILE,则使用用CREATETABLESPACE语句默认认创建的的就是大大文件表表空间。。如果要要创建传传统的小小文件表表空间,,则需要要使用CREATESMALLFILETABLESPACE语句。创建大文文件表空空间的语语句CREATEBIGFILETABLESPACE示例:创创建一个个大文件件表空间间ORCLTBS5。CREATEBIGFILETABLESPACEORCLTBS5DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF'SIZE20M;大文件表表空间的的操作将大文件件表空间间ORCLTBS5的数据文文件D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF大小修改改为30MB。ALTERTABLESPACEORCLTBS5RESIZE30M;将大文件件表空间间ORCLTBS5的数据文文件D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS5_1.DBF修改为可可以自动动扩展。。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:用户使使用临时时排序段段信息。。查询表空空间基本本信息SELECTTABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE,CONTENTSFROMDBA_TABLESPACES;查询表空空间数据据文件信信息SELECTFILE_NAME,BLOCKS,TABLESPACE_NAMEFROMDBA_DATA_FILES;查询表空空间空闲闲空间大大小SELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACESFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;统计表空空间空闲闲空间信信息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管理表空空间创建表空空间编辑表空空间查看表空空间信息息删除表空空间临时表空空间组的的管理6.3数据块(BLOCK)数据块的的概念数据块结结构数据块的的管理(1)数据块块的概念念最小的I/O单元包括一个个或者多多个OSBLOCK在数据库库创建时时设置,,不可更更改分为标准准块和非非标准块块DB_BLOCK_SIZE参数设置置标准块块大小(2)数据库库块结构构HeaderFreespaceData块头部包包括标题题、表目目录、行行目录三三部分。。标题包含含块的一一般属性性信息,,如块的的物理地地址、块块所属段段的类型型等;表目录包包含数据据块中保保存的表表的信息息;行目录包包含数据据块中的的行地址址等信息息。存储区包包括行数数据区和和空闲区区两部分分。行数据区区是已经经使用的的空间,,保存数数据库的的对象数数据;空闲区是是尚未使使用的存存储空间间,用于于存放新新的行或或用来更更新已存存在的行行。(3)数据块块的管理理对块的管管理主要要是对块块中可用用存储空空间的管管理,确确定保留留多少空空闲空间间,避免免产生行行链接、、行迁移移而影响响数据的的查询效效率。当向表格格中插入入数据时时,如果果行的长长度大于于块的大大小,行行的信息息无法存存放在一一个块中中,就需需要使用用多个块块存放行行信息,,这称为为行链接接。当表格数数据被更更新时,,如果更更新后的的数据长长度大于于块长度度,Oracle会将整行行的数据据从原数数据块迁迁移到新新的数据据块中,,只在原原数据块块中留下下一个指指针指向向新数据据块,这这称为行行迁移。。对块的管管理分为为自动和和手动两两种。如果建立立表空间间时使用用本地管管理方式式,并且且将段的的管理方方式设置置为AUTO,则采用用自动方方式管理理块。否否则,DBA可以采用用手动管管理方式式,通过过为段设设置PCTFREE和PCTUSED两个参数数来控制制数据块块中空闲闲空间的的使用。。PCTFREEPCTFREE参数指定定块中必必须保留留的最小小空闲空空间比例例。当数数据块的的自由空空间百分分率低于于PCTFREE时,此数数据块被被标志为为USED,此时在在数据块块中只可可以进行行更新操操作,而而不可以以进行插插入操作作。该参参数默认认为10。PCTUSEDPCTUSED参数指定定可以向向块中插插入数据据时块已已使用的的最大空空间比列列。当数数据块使使用空间间低于PCTUSED时,此块块标志为为FREE,可以对对数据块块中数据据进行插插入操作作;反之之,如果果使用空空间高于于PCTUSED,则不可可以进行行插入操操作。该该参数默默认为10。INITRANS可以同时时对此数数据块进进行DML操作的事事务的个个数。MAXTRANS可以同时时对此数数据块进进行DML操作的最最多事务务的个数数。80%80%40%Inserts1234InsertsPCTFREE=20PCTUSED=40Insert(onfreelist)Inserts(offfreelist)6.4区区的概念念区的管理理(1)区的概概念区是由一一系列连连续的数数据块构构成的逻逻辑存储储单元,,是存储储空间分分配与回回收的最最小单位位。当创创建一个个数据库库对象时时,Oracle为对象分分配若干干个区,,以构成成一个段段来为对对象提供供初始的的存储空空间。当当段中已已分配的的区都写写满后,,Oracle会为段分分配一个个新区,,以容纳纳更多的的数据。。(2)区的管管理区的分配在本地管理方方式的表空间间中,自动进进行区的分配配。可以通过过使用UNIFORM选项,指定所所有段的初始始区和后续区区具有统一大大小,也可以以使用AUTOALLOCATE选项指定由Oracle自动决定后续续区大小。用用户不能通过过其他参数来来干预区的分分配。在字典管理方方式的表空间间中,创建表表空间时可以以使用DEFAULTSTORAGE子句设置存储储参数,也可可以在该表空空间定义对象象时通过STORAGE子句设置存储储参数。如果果在定义对象象时没有设置置存储参数,,则继承表空空间存储参数数的设置。创建一个本地地管理方式的的表空间,区区分配采用自自动扩展方式式进行。CREATETABLESPACEORCLTBS6DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS6_1.DBF'SIZE20MEXTENTMANAGEMENTLOCALAUTOALLOCATE;创建一个本地地管理方式的的表空间,区区分配采用固固定大小,每每个区5MB。CREATETABLESPACEORCLTBS7DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS7_1.DBF'SIZE10MEXTENTMANAGEMENTLOCALUNIFORMSIZE5M;区的回收通常分配给段段的区将一直直保留在段中中,不论区中中的数据块是是否被使用。。只有当段所所属的对象被被删除时,段段中所有的区区才会被回收收。此外,在在一些特殊情情况下,也能能够回收未使使用的区。例例如,如果在在创建回滚段段时指定了OPTIMAL关键字,Oracle会定期回收回回滚段中未使使用的区。6.5段段概述回滚段7.5.1段概述段的概述段是由一个或或多个扩展区区组成的逻辑辑存储单元。。数据库模式对对象在逻辑上上是以段来占占据表空间的的大小。段代表特定数数据类型的数数据存储结构构。段的类型:数据段索引段临时段回滚段数据段数据段用来存存储表或簇的的数据,可以以细分为表数数据段、索引引表数据段、、分区表数据据段及簇数据据段四种。索引段用来存放索引引信息,主要要包括存储ROWID和索引键。索引段与其相相应的表段经经常会被同时时访问,为了了减少硬盘访访问的冲突,,索引段与表表段可以放到到处于不同物物理位置的表表空间中。临时段当用户进行排排序查询时,,如果在指定定的内存无法法完成排序,,Oracle将自动从用户户默认的临时时表空间中指指派临时段进进行排序。会会话结束,数数据将从临时时段中自动删删除。回滚段回滚段用于保保存数据库的的回滚信息,,包含当前未未提交事务所所修改的数据据的原始版本本。一个事务只能能使用一个回回滚段存放它它的回滚信息息,但是一个个回滚段可以以存放多个事事务的回滚信信息。回滚段段可以动态创创建和撤销。。TableClusterTablepartitionIndex-organizedtableIndexpartitionUndosegmentTemporarysegmentIndex6.5.2回滚段回滚段的工作方式回滚段的作用回滚段的种类类回滚段的管理理回滚段的查询询(1)回滚段的工作方式回滚段采用循循环写的方式式进行写入。。当回滚段中中最后一个区区写满时,Oracle将覆盖写入回回滚段的第一一个区,如果果此时第一个个区保存得回回滚条目所对对应的事务依依然处于活动动状态(事务务未提交),,则此时该区区不能被覆盖盖,Oracle将为回滚段分分配一个新的的区。一个回滚段至至少需要两个个区。一个事事务可以占用用回滚段中的的多个区,同同一个区也能能够存放多个个事务的数据据UpdatetransactionOldimageNewimageUndosegmentTable(2)回滚段的作作用Transactionrollback(事务回滚))Transactionrecovery(事务恢复))UndosegmentReadconsistency(读一致性))Flashbackquery(闪回查询))事务回滚当启动一个事事务时,Oracle把一个回滚段段指定给该事事务。当事务务修改数据时时,该数据修修改前的信息息会保存在该该回滚段中,,当用户执行行事务回滚操操作时(ROLLBACK),Oracle会利用保存在在回滚段中的的数据将修改改的数据恢复复到原来的值值。数据库恢复当数据库实例例运行失败时时,在数据库库恢复时,Oracle先利用重做日日志文件中的的信息对数据据文件进行恢恢复(包括提提交事务和未未提交事务的的恢复),然然后利用回滚滚段中的信息息回滚未提交交事务对数据据的修改。数据的读一致致性当一个用户对对数据库进行行修改,但还还没有提交时时,系统将用用户修改的数数据的原始信信息保存在回回滚段中,这这样就可以为为正在访问相相同数据的其其他用户提供供一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物理c语言课程设计
- 混凝土课程设计模板
- 2024湖南省建筑安全员B证(项目经理)考试题库
- 2024青海省安全员-B证考试题库及答案
- 综合时间序列课程设计
- 简单cpu课程设计
- 2024年跨境电商平台入驻销售合同范本(中英文对照)3篇
- 电机课程设计总结
- 2025河南省建筑安全员《B证》考试题库及答案
- 甲醇合成精馏课程设计
- 2024年度宠物用品销售代理合同范本3篇
- 湖南2025年湖南生物机电职业技术学院招聘35人历年参考题库(频考版)含答案解析
- 部队物业服务投标方案
- 销售单 代合同范例
- 2024年3月天津第一次高考英语试卷真题答案解析(精校打印)
- GB/T 44351-2024退化林修复技术规程
- FANUC机器人培训教程(完成版)
- 220千伏线路工程内悬浮抱杆分解组立铁塔施工方案
- 2025年蛇年春联带横批-蛇年对联大全新春对联集锦
- 21ZJ111 变形缝建筑构造
- 2023年永州市农村信用社(农村商业银行)招聘员工参考题库附答案解析
评论
0/150
提交评论