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

下载本文档

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

文档简介

第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操作作。。为不不同同的的应应用用创创建建独独立立的的表表空空间间,,避避免免多多个个应应用用之之间间的的相相互互干干扰扰。。能够够将将表表空空间间设设置置为为脱脱机机状状态态或或联联机机状状态态,,以以便便对对数数据据库库的的一一部部分分进进行行备备份份或或恢恢复复。。能够够将将表表空空间间设设置置为为只只读读状状态态,,从从而而将将数数据据库库的的一一部部分分设设置置为为只只读读状状态态。。能够够为为某某种种特特殊殊用用途途专专门门设设置置一一个个表表空空间间,,如如临临时时表表空空间间,,优优化化表表空空间间的的使使用用效效率率。。能够够更更加加灵灵活活地地为为用用户户设设置置表表空空间间配配额额。。表空空间间的的管管理理((本本地地管管理理方方式式))创建建表表空空间间修改改表表空空间间表空空间间的的备备份份删除除表表空空间间大文文件件表表空空间间的的管管理理表空空间间信信息息查查询询利用用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段段概述回滚段段概述段的概述段是由一个个或多个扩扩展区组成成的逻辑存存储单元。。数据库模式式对象在逻逻辑上是以以段来占据据表空间的的大小。段代表特定定数据类型型的数据存存储结构。。段的类型::数据段索引段临时段回滚段数据段数据段用来来存储表或或簇的数据据,可以细细分为表数数据段、索索引表数据据段、分区区表数据段段及簇数据据段四种。。索引段用来存放索索引信息,,主要包括括存储ROWID和索引键。。索引段与其其相应的表表段经常会会被同时访访问,为了了减少硬盘盘访问的冲冲突,索引引段与表段段可以放到到处于不同同物理位置置的表空间间中。临时段当用户进行行排序查询询时,如果果在指定的的内存无法法完成排序序,Oracle将自动从用用户默认的的临时表空空间中指派派临时段进进行排序。。会话结束束,数据将将从临时段段中自动删删除。回滚段回滚段用于于保存数据据库的回滚滚信息,包包含当前未未提交事务务所修改的的数据的原原始版本。。一个事务只只能使用一一个回滚段段存放它的的回滚信息息,但是一一个回滚段段可以存放放多个事务务的回滚信信息。回滚滚段可以动动态创建和和撤销。TableClusterTable

partitionIndex-organizedtableIndex

partitionUndosegmentTemporary

segmentIndex6.5.2回滚段回滚段的工作方式回滚段的作用回滚段的种种类回滚段的管管理回滚段的查查询(1)回滚段的的工作方式回滚段采用用循环写的的方式进行行写入。当当回滚段中中最后一个个区写满时时,Oracle将覆盖写入入回滚段的的第一个

温馨提示

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

评论

0/150

提交评论