ORACLE数据库管理基础七_第1页
ORACLE数据库管理基础七_第2页
ORACLE数据库管理基础七_第3页
ORACLE数据库管理基础七_第4页
ORACLE数据库管理基础七_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

管理表空间和数据文件目标完成这一课的学习后,您应该能达到下列目标:•确定表空间和数据文件的用途•创建表空间•管理表空间•使用“Oracle管理文件”(OracleManagedFiles,OMF)创建和管理表空间表空间和数据文件Oracle在逻辑上以表空间存储数据,而实际上以数据文件进行存储。•表空间:–某一时刻只能属于一个数据库–由一个或多个数据文件组成–可进一步划分为逻辑存储单元•数据文件:–只能属于一个表空间和一个数据库–是方案对象数据的资料档案库表空间和数据文件数据库、表空间和数据文件是紧密相关的,但它们之间又有着重要区别:•Oracle数据库由一个或多个称为表空间的逻辑存储单元组成,表空间作为一个整体存储数据库中的所有数据。•Oracle数据库内的每个表空间由一个或多个称为数据文件的文件组成,这些数据文件是与Oracle运行所在的操作系统一致的物理结构。•数据库的所有数据都存储在数据文件中,数据库的每个表空间都由这些数据文件组成。例如,最简单的Oracle数据库只有一个表空间和一个数据文件。而另一个数据库可具有三个表空间,每个表空间由两个数据文件组成(共有六个数据文件)。表空间类型•SYSTEM表空间–随数据库创建–包含数据字典–包含SYSTEM还原段•非SYSTEM表空间–用于分开存储段–易于空间管理–控制分配给用户的空间量表空间类型为加强控制和方便维护,DBA创建了表空间。Oracle服务器识别两种类型的表空间:SYSTEM和所有其它表空间。SYSTEM表空间:•随数据库创建•所有数据库均需要•包括数据字典(内含存储程序单元)•包含SYSTEM还原段•应不包括用户数据,尽管允许这样做非SYSTEM表空间:•支持更灵活地管理数据库•将还原段、临时段、应用程序数据段和应用程序索引段分开•根据备份要求将数据分开•分开动态和静态数据•控制分配给用户对象的空间量创建表空间使用以下命令创建表空间:CREATETABLESPACECREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE100MAUTOEXTENDONNEXT5MMAXSIZE200M;创建表空间使用CREATETABLESPACE命令可创建表空间:CREATETABLESPACEtablespace[DATAFILEclause][MINIMUMEXTENTinteger[K|M]][BLOCKSIZEinteger[K]][LOGGING|NOLOGGING][DEFAULTstorage_clause][ONLINE|OFFLINE][PERMANENT|TEMPORARY][extent_management_clause][segment_management_clause]创建表空间其中:Tablespace:是要创建的表空间的名称DATAFILE:指定组成表空间的一个或多个数据文件MINIMUMEXTENT:确保表空间内每个占用区的大小是整数(integer)的倍数。使用K或M以千字节或兆字节为单位指定该大小。BLOCKSIZE:BLOCKSIZE指定表空间的非标准块大小。要指定该子句,必须具有DB_CACHE_SIZE,并至少设置一个DB_nK_CACHE_SIZE参数,在该子句中指定的整数(integer)必须与一个DB_nK_CACHE_SIZE参数设置相对应。LOGGING:指定在缺省情况下,表空间内的所有表、索引和分区的所有更改都写入重做日志文件。LOGGING为缺省设置。NOLOGGING:指定在缺省情况下,表空间内的所有表、索引和分区的所有更改都不写入重做日志文件。NOLOGGING只影响某些DML和DDL命令,如直接加载。DEFAULT:DEFAULT指定表空间内创建的所有对象的缺省存储参数。创建表空间OFFLINE:指定表空间从创建后就不可用。PERMANENT:指定表空间可用于保留永久对象。TEMPORARY:指定表空间仅用于保留临时对象,如:由ORDERBY子句引起的隐式排序所使用的段。不能指定EXTENTMANAGEMENTLOCAL或BLOCKSIZE子句。extent_management_clause:该子句指定如何管理表空间内的区。该子句在本课的后续部分中讨论。segment_management_clause:这只与永久的、且在本地管理的表空间相关。通过它可指定Oracle是否应使用空闲列表或位图来跟踪表空间段中的已占用空间和空闲空间。创建表空空间datafile_clause:==filename[SIZEinteger[K|M][REUSE][autoextend_clause]filename:是是表空间间中的数数据文件件的名称称。SIZE:指定定文件大大小。使使用K或或M以以千字字节或兆兆字节为为单位指指定大小小。REUSE:允允许Oracle服服务器重重新使用用现有文文件。autoextend_clause:该该子句启启用或禁禁用数据据文件的的自动扩扩展。NEXT:以字字节为单单位指定定在需要要更多区区时自动动分配的的磁盘空空间下一一增量的的大小其中:MAXSIZE:指定定数据文文件可以以自动扩扩展到的的最大磁磁盘空间间。UNLIMITED::指定可可分配给给数据文文件或Tempfile的的磁盘空空间是不不受限制制的。另请参阅阅“Oracle9iSQLReference””和““Oracle9iConcepts””以获获取更多多信息。。创建表空空间使用OracleEnterpriseManager创创建表表空间从“OEM控控制台””(OEMConsole)::1.导导航到““数据库库”(Databases)>“存存储”(Storage)>““表空空间”(Tablespaces)。2.单单击鼠标标右键,,从弹出出的菜单单中选择择“创建建”(Create)。3.在在“常规规”(General)和和“存存储”(Storage)选项项卡中填填写创建建表空间间所需的的信息。。4.单单击“创创建”(Create)。。表空间的的空间管管理•本地地管理的的表空间间:–在表表空间内内管理空空闲区–使用用位图来来记录空空闲区–每一一位与一一个块或或一组块块相对应应–位的的数值指指明是空空闲还是是已占用用•字典典管理的的表空间间:–由数数据字典典管理空空闲区–在分分配或回回收区时时更新对对应的表表表空间的的空间管管理表空间以以区为单单位分配配空间。。可使用用以下两两种不同同方法来来跟踪创创建的表表空间中中的空闲闲空间和和已占用用空间::本地管理理的表空空间:在在表空间间内通过过位图管管理区。。位图中中的每个个位对应应于一个个块或一一组块。。分配了了某个区区或释放放了某个个区可重重新使用用时,Oracle服服务器器更改位位图值以以显示块块的新状状态。从Oracle9i开开始,,在本地地管理已已成为缺缺省设置置。字典管理理的表空空间:由由数据字字典管理理区。Oracle服服务器器将在分分配或回回收区时时更新数数据字典典中对应应的表。。本地管理理的表空空间•减少少了对数数据字典典表的争争用•分配配或回收收空间时时不生成成还原数数据•无需需合并CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;本地管理理的表空空间EXTENTMANAGEMENT子子句的LOCAL选选项指定定表空间间在本地地管理。。缺省情情况下,,表空间间在本地地管理。。extent_management_clause:[EXTENTMANAGEMENT[DICTIONARY|LOCAL[AUTOALLOCATE|UNIFORM[SIZEinteger[K|M]]]]]其中:DICTIONARY:指定定使用字字典表来来管理表表空间。。LOCAL:指指定在本本地通过过位图管管理表空空间。如如果指定定了LOCAL,则不不能再指指定DEFAULTstorage_clause、MINIMUMEXTENT或或TEMPORARY。AUTOALLOCATE::指定表表空间由由系统管管理。用用户无法法指定区区大小。。这是缺缺省设置置。UNIFORM:指定定按照大大小统一一为SIZE字字节数数的各个个区来管管理表空空间。使使用K或或M以以千字字节或兆兆字节来来指定区区大小。。缺省大大小为1MB本地管理理的表空空间EXTENTMANAGEMENT子子句可用用于各种种CREATE命令令中:•对于于非SYSTEM的的永久表表空间,,您可以以在CREATETABLESPACE命令令中指定定EXTENTMANAGEMENTLOCAL。。•对于于临时表表空间,,您可以以在CREATETEMPORARYTABLESPACE命命令中指指定EXTENTMANGEMENTLOCAL。。在本地管管理表空空间的优优点:本地管理理的表空空间相对对于字典典管理的的表空间间有如下下优点::•本地地管理可可以避免免循环空空间管理理操作,,但是这这种操作作在字典典管理的的表空间间中却有有可能发发生。一一旦消耗耗或释放放某个区区的空间间会产生生另一个个消耗或或释放操操作(消消耗或释释放还原原段或数数据字典典表内的的空间))时,它它就会发发生。•由于于本地管管理的表表空间在在数据字字典表中中不记录录空闲空空间,从从而减少少了对这这些表的的争用。。•区的的本地管管理可自自动跟踪踪邻近的的空闲空空间,因因而无须须合并空空闲区。。•本地地管理的的区大小小可由系系统自动动确定。。•对区区的位图图进行更更改不会会生成还还原信息息,因为为它们不不更新数数据字典典中的表表(表空空间限额额信息等等特殊情情况除外外)。字典管理理的表空空间•在数数据字典典中管理理区•存储储在表空空间中的的每个段段都可以以有不同同的存储储子句•需要要合并CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARYDEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);字典管理理的表空空间内的的段可具具有自定定义的存存储设置置。这比比本地管管理的表表空间更更灵活,,但效率率要低得得多。还原表空空间•用于于存储还还原段•不能能包含任任何其它它对象•其中中的区要要在本地地管理•只能能使用DATAFILE和和EXTENTMANAGEMENT子子句CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo01.dbf'SIZE40M;还原表空空间还原表空空间使用用“自动动还原管管理”(AutomaticUndoManagement)的方方式。有有关“自自动还原原管理””的更更多信息息,请参参考“管管理还原原数据””一课课。CREATEUNDOTABLESPACEtablespace[DATAFILEclause]临时表表空间间•用用于排排序操操作•不不能包包含任任何永永久对对象•建建议在在本地地管理理区CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;临时表表空间间通过指指定专专门用用于排排序段段的临临时表表空间间,您您可以以更有有效地地管理理用于于排序序操作作的空空间。。在临临时表表空间间内不不能驻驻留永永久方方案对对象。。当一个个段由由多个个排序序操作作共享享时,,就使使用排排序段段或者者临时时段。。当多多个排排序太太大而而无法法装入入内存存时,,使用用临时时表空空间能能改进进性能能。给给定临临时表表空间间的排排序段段在例例程首首次执执行排排序操操作时时创建建。排排序段段通过过分配配更多多的区区来扩扩展,,直到到段大大小等等于或或者大大于该该例程程上运运行的的所有有活动动排序序的存存储要要求总总和。。临时表表空间间本地管管理的的临时时表空空间具具有临临时数数据文文件(Tempfile),,它与与普通通数据据文件件很相相似,,只有有以下下几点点不同同:•Tempfile始始终终设为为NOLOGGING模模式式。•无无法将将Tempfile设设置为为只读读。•无无法重重命名名Tempfile。•无无法通通过ALTERDATABASE命命令令创建建Tempfile。•Tempfile对对于于只读读数据据库是是必需需的。。•介介质恢恢复不不恢复复Tempfile。若要优优化临临时表表空间间内的的排序序性能能,可可将UNIFORMSIZE设设置置为SORT_AREA_SIZE参参数的的整数数倍。。临时表表空间间使用OracleEnterpriseManager创创建临临时表表空间间从“OEM控控制台台”(OEMConsole)::1.导导航航到““数据据库””(Databases)>““存储储”(Storage)>““表表空间间”(Tablespaces)。2.单单击击鼠标标右键键,从从弹出出的菜菜单中中选择择“创创建””(Create)。。3.在在““常规规”(General)选选项项卡中中提供供详细细信息息。4.在在““类型型”(Type)区区域中中选择择“临临时””(Temporary)选选项。。5.单单击击“存存储””(Storage)选选项卡卡,输输入存存储信信息。。6.单单击击“创创建””(Create)。。缺省临临时表表空间间•指指定数数据库库范围围内的的缺省省临时时表空空间•避避免使使用SYSTEM表表空空间存存储临临时数数据•可可使用用以下下命令令进行行创建建:–CREATEDATABASE–在在本地地管理理–ALTERDATABASEALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;缺省临临时表表空间间创建未未指定定缺省省临时时表空空间的的数据据库时时,分分配给给任意意用户户的,,未使使用TEMPORARYTABLESPACE子子句句创建建的表表空间间是SYSTEM表表空空间。。此时时,alert_sid.log中中会记记录一一条警警告消消息,,指出出SYSTEM表表空间间是缺缺省临临时表表空间间。在在创建建数据据库期期间创创建缺缺省临临时表表空间间可防防止将将SYSTEM表表空间间用作作临时时空间间。创建数数据库库后,,可通通过创创建临临时表表空间间然后后改变变数据据库来来设置置缺省省临时时表空空间。。SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp;定义后后,未未显式式分配配到临临时表表空间间的用用户将将被分分配到到该缺缺省临临时表表空间间。缺省临临时表表空间间可通通过使使用ALTERDATABASEDEFAULTEMPORARYTABLESPACE命命令随随时进进行更更改。。更改改缺省省临时时表空空间后后,分分配到到该缺缺省临临时表表空间间的所所有用用户将将被重重新分分配到到新的的缺省省表空空间。。创建缺缺省临临时表表空间间在创建数据据库期间::CREATEDATABASEDBA01LOGFILEGROUP1('/$HOME/ORADATA/u01/redo01.log')SIZE100M,GROUP2('/$HOME/ORADATA/u02/redo02.log')SIZE100M,MAXLOGFILES5MAXLOGMEMBERS5MAXLOGHISTORY1MAXDATAFILES100MAXINSTANCES1DATAFILE'/$HOME/ORADATA/u01/system01.dbf'SIZE325MUNDOTABLESPACEundotbsDATAFILE'/$HOME/ORADATA/u02/undotbs01.dbf'SIZE200DEFAULTTEMPORARYTABLESPACEtempTEMPFILE'/$HOME/ORADATA/u03/temp01.dbf'SIZE4MCHARACTERSETUS7ASCII创建缺省临临时表空间间在创建数据据库期间::创建未指定定缺省临时时表空间的的数据库时时,分配给给任意用户户的,未使使用TEMPORARYTABLESPACE子句句创建的缺缺省表空间间是SYSTEM表表空间。。此时,alertSID.log会会记录一一条警告消消息,指示示出SYSTEM表表空间是是缺省临时时表空间。。在创建数据据库期间创创建缺省临临时表空间间可防止将将SYSTEM表表空间用作作临时空间间。使用CREATEDATABASE命命令创建缺缺省临时表表空间时,,其类型是是在本地管管理。创建缺省临临时表空间间•创建数数据库后::ALTERDATABASEDEFAULTTEMPORARYTABLESPACEdefault_temp2;•查询DATABASE_PROPERTIES以以确定数据据库的缺省省临时表空空间SELECT*FROMDATABASE_PROPERTIES;创建缺省临临时表空间间创建数据库库后:缺省临时表表空间可通通过下列方方法创建和和设置:•使用CREATETABLESPACE命令创创建临时表表空间•使用ALTERDATABASE命令令,如上所所述定义后后,未显式式分配到临临时表空间间的用户将将被分配到到该缺省临临时表空间间。缺省临时表表空间可通通过使用ALTERDATABASEDEFAULTTEMPORARYTABLESPACE命令令随时进行行更改。更更改缺省临临时表空间间后,已分分配到该缺缺省临时表表空间的所所有用户将将被重新分分配到新的的缺省表空空间。创建缺省临临时表空间间使用OracleEnterpriseManager创创建临时表表空间:从“OEM控制台台”(OEMConsole)::1.导航航到“数据据库”(Databases)>“存储储”(Storage)>“表表空间”(Tablespaces)。2.单击击鼠标右键键,从弹出出的菜单中中选择“创创建”(Create)。。3.在““常规”(General)选项项卡中选择择“临时””(Temporary),然后选选择“设置置为缺省临临时表空间间”(SetasDefaultTemporaryTablespace)。。4.在““存储”(Storage)选项项卡中输入入必要的信信息。5.单击击“创建””(Create)。缺省临时表表空间的限限制不能对缺省省临时表空空间执行下下列操作::•将其删删除,除非非已经有新新的缺省临临时表空间间•使其脱脱机•更改为为永久表空空间缺省临时表表空间的限限制删除缺省临临时表空间间您只有指定定了一个新新的缺省表表空间后,,才能删除除旧的缺省省临时表空空间。必须须使用ALTERDATABASE命命令才能能将缺省临临时表空间间更改为新新的缺省值值。旧的缺缺省临时表表空间仅在在新的缺省省临时表空空间可用时时才会被删删除。分配配到旧的缺缺省临时表表空间的用用户将被自自动重新分分配到新的的缺省临时时表空间。。更改缺省临临时表空间间的类型由于缺省临临时表空间间必须是SYSTEM表空空间或临时时表空间,,因此,无无法将缺省省临时表空空间更改为为永久类型型。使缺省临时时表空间脱脱机使表空间脱脱机后,例例如在进行行脱机备份份、维护或或更改使用用该表空间间的应用程程序时,其其他用户将将无法使用用对应的这这部分数据据库内容。。由于上述述情况都不不适用于临临时表空间间,因此无无法使缺省省临时表空空间脱机。。只读表空间间•使用以以下命令可可将表空间间置于只读读模式–导致检检查点操作作–数据仅仅用于读操操作–可从表表空间删除除对象只读表空间间只读表空间间ALTERTABLESPACE[tablespace]READONLY命令令将表空间间置于过渡渡只读模式式。除了以以前修改过过该表空间间中的块的的已有事务务处理回退退,这种过过渡状态不不允许再对对该表空间间进行任何何写入操作作。当已有有的所有事事务处理提提交或者回回退后,只只读命令完完成,该表表空间置于于只读模式式。您可以删除除只读表空空间内的表表和索引等等项,因为为这些命令令只影响数数据字典。。之所以可可以这样操操作,是因因为DROP命令令只更新数数据字典,,而不更新新构成表空空间的物理理文件。对对于本地管管理的表空空间,删除除的段将改改为临时段段以避免更更新位图。。要使只读读表空间可可写,表空空间内的所所有数据文文件都必须须联机。将将表空间设设为只读将将导致对表表空间的数数据文件执执行检查点点操作。只读表空间间将表空间设设为只读可可防止对表表空间中的的数据文件件进行任何何写操作。。为此,数数据文件可可驻留在只读介质质上,如CD-ROM或一一次性写入入(WORM)驱驱动器。只只读表空间间可以免去去对数据库大量的静静态分配执执行备份。。在一次性写写入(WORM)设设备上创创建只读表表空间:1.ALTERTABLESPACE...READONLY2.使用用操作系统统命令将表表空间的数数据文件移移动到只读读设备上。。3.ALTERTABLESPACE...RENAMEDATAFILE只读表空间间使用OracleEnterpriseManager将将表空间设设为只读从“OEM控制台台”(OEMConsole)::1.导航航到“数据据库”(Databases)>“存储储”(Storage)>“表表空间”(Tablespaces)。2.选择择表空间。。3.在““General””(常规))选项卡的的“Status””(状态))区域选择择“ReadOnly”((只读)复复选框。4.单单击击““应应用用””(Apply)使表表空空间间脱脱机机•无无法法访访问问数数据据•不不能能设设为为脱脱机机的的表表空空间间::–SYSTEM表表空空间间–具具有有活活动动的的还还原原段段的的表表空空间间–缺缺省省临临时时表表空空间间•使使用用以以下下命命令令可可使使表表空空间间脱脱机机::ALTERTABLESPACEuserdataOFFLINE;•使使用用以以下下命命令令可可使使表表空空间间联联机机::ALTERTABLESPACEuserdataONLINE;使表表空空间间脱脱机机表空空间间一一般般是是联联机机的的,,这这样样可可方方便便数数据据库库用用户户使使用用其其中中包包含含的的数数据据。。但但是是,,数数据据库库管管理理员员可可以以让让表表空空间间脱脱机机以以便便::•使使数数据据库库的的一一部部分分不不可可用用,,但但允允许许正正常常访访问问数数据据库库的的其其余余部部分分•执执行行脱脱机机表表空空间间备备份份((尽尽管管表表空空间间可可以以在在联联机机使使用用时时备备份份))•在在数数据据库库打打开开时时恢恢复复表表空空间间或或数数据据文文件件•在在数数据据库库打打开开时时移移动动数数据据文文件件使表表空空间间脱脱机机表空空间间的的脱脱机机状状态态当表表空空间间脱脱机机后后,,Oracle不不允允许许随随后后有有任任何何SQL语语句句引引用用该该表表空空间间含含有有的的对对象象。。试试图图对对脱脱机机表表空空间间内内的的对对象象进进行行访访问问的的用用户户将将收收到到一一条条错错误误消消息息。。当表表空空间间脱脱机机或或者者重重新新联联机机后后,,该该事事件件记记录录在在数数据据字字典典和和控控制制文文件件内内。。如如果果关关闭闭数数据据库库时时表表空空间间仍仍然然脱脱机机,,则则当当随随后后数数据据库库装装载载并并重重新新打打开开时时,,该该表表空空间间仍仍保保持持脱脱机机且且不不会会被被检检查查。。如果果遇遇到到某某些些错错误误((例例如如,,当当数数据据库库写写入入程程序序进进程程DBWn几几次次试试图图向向某某表表空空间间的的数数据据文文件件写写入入都都失失败败时时)),,Oracle例例程程自自动动将将表表空空间间从从联联机机切切换换为为脱脱机机。。不不同同的的错错误误情情况况在在Oracle9i数数据据库库管管理理基基础础II课课程程内内有有更更为为详详细细的的讨讨论论。。使表表空空间间脱脱机机只要要数数据据库库打打开开,,数数据据库库管管理理员员就就可可以以使使任任何何表表空空间间脱脱机机((SYSTEM表表空空间间和和任任何何具具有有活活动动还还原原段段或或临临时时段段的的表表空空间间除除外外))。。当当一一个个表表空空间间脱脱机机后后,,Oracle服服务务器器将将使使与与之之相相关关联联的的所所有有数数据据文文件件脱脱机机ALTERTABLESPACEtablespace{ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDIATE|FORRECOVER]}其中中::NORMAL::将将该该表表空空间间中中所所有有数数据据文文件件内内的的所所有有块块从从SGA中中清清空空。。这这是是缺缺省省设设置置。。在在使使该该表表空空间间重重新新联联机机之之前前,,您您无无须须对对其其执执行行介介质质恢恢复复。。尽尽可可能能使使用用NORMAL子子句句。。TEMPORARY::对对表表空空间间内内的的所所有有联联机机数数据据文文件件执执行行检检查查点点操操作作,,即即使使某某些些文文件件无无法法写写入入。。所有有脱脱机机文文件件可可能能都都需需要要进进行行介介质质恢恢复复。。IMMEDIATE::不不保保证证表表空空间间文文件件可可用用,,而而且且不不执执行行检检查查点点操操作作。。在在使使表表空空间间重重新新联联机机前前,,您必必须须对对其其执执行行介介质质恢恢复复操操作作。。FORRECOVER::使使表表空空间间脱脱机机以以进进行行表表空空间间时时间间点点恢恢复复。。使表表空空间间脱脱机机使用用OracleEnterpriseManager使使表表空空间间脱脱机机从“OEM控控制台”(OEMConsole):1.导航到到“数据库””(Databases)>““存储”(Storage)>“表空空间”(Tablespaces)。2.选择表表空间。3.在“常常规”(General)选项项卡的“状态态”(Status)区域,选选择“脱机””(Offline)。。4.从下拉拉菜单中选择择“模式”(Mode)。5.单击““应用”(Apply)。更改存储设置置•使用ALTERTABLESPACE命命令更改存存储设置ALTERTABLESPACEuserdataMINIMUMEXTENT2M;ALTERTABLESPACEuserdataDEFAULTSTORAGE(INITIAL2MNEXT2MMAXEXTENTS999);•不能更改改在本地管理理的表空间的的存储设置使用ALTERTABLESPACE命令令可以改变表表空间的缺省省存储定义::ALTERTABLESPACEtablespace[MINIMUMEXTENTinteger[K|M]|DEFAULTstorage_clause]更改存储设置置使用OracleEnterpriseManager更改存存储设置从“OEM控控制台”(OEMConsole):1.导航到到“数据库””(Databases)>““存储”(Storage)>“表空空间”(Tablespaces)。2.使用鼠鼠标右键单击击表空间,从从弹出的菜单单中选择“查查看/编辑详详细资料”(View/EditDetails)。3.单击““存储”(Storage)选选项卡并进行行必要的更改改。4.单击““应用”(Apply)。调整表空间大大小表空间大小可可通过以下方方法进行调整整:•更改数据据文件的大小小:–使用AUTOEXTEND自自动调整–使用ALTERTABLESPACE手手动调整•使用ALTERTABLESPACE添添加数据文文件您可以通过下下面两种方法法增大表空间间:•选择自动动或手动更改改数据文件的的大小。•向表空间间添加数据文文件。启用数据文件件自动扩展•可使用以以下命令自动动调整大小::–CREATEDATABASE–CREATETABLESPACE–ALTERTABLESPACE…ADDDATAFILE•示例:CREATETABLESPACEuser_dataDATAFILE'/u01/oradata/userdata01.dbf'SIZE200MAUTOEXTENDONNEXT10MMAXSIZE500M;•查询DBA_DATA_FILES视图图以确定是否否启用了AUTOEXTEND。。启用数据文件件自动扩展为新数据文件件指定AUTOEXTEND通过AUTOEXTEND子句可可启用或禁用用数据文件的的自动扩展。。文件将按指指定的增量增增加直到达到到指定的最大大值。使用AUTOEXTEND子句的的优点:•当表空间间的空间用尽尽时无需过多多的直接干预预•确保应用用程序不会由由于未能分配配区而暂停创建数据文件件后,可使用用下列SQL命令启用用数据文件的的自动扩展::•CREATEDATABASE•CREATETABLESPACE...DATAFILE•ALTERTABLESPACE...ADDDATAFILE启用数据文件件自动扩展使用ALTERDATABASE命令可修修改数据文件件并启用自动动扩展:ALTERDATABASEDATAFILEfilespec[autoextend_clause]autoextend_clause:==[AUTOEXTEND{OFF|ON[NEXTinteger[K|M]][MAXSIZEUNLIMITED|integer[K|M]]}]其中:AUTOEXTENDOFF:禁禁用数据文件件的自动扩展展AUTOEXTENDON:启用用数据文件的的自动扩展NEXT:指指定在需要更更多区时分配配给数据文件件的磁盘空间间MAXSIZE:指定允允许分配给该该数据文件的的最大磁盘空空间UNLIMITED:将将分配给数据据文件的磁盘盘空间设为不不受限为现有数据文文件指定AUTOEXTEND使用SQL命命令ALTERDATABASE可对现现有数据文件件启用或禁用用自动文件扩扩展:ALTERDATABASE[database]DATAFILE'filename'[,'filename']...autoextend_clause启用数据文件件自动扩展确定AUTOEXTEND已启用用还是已禁用用查询DBA_DATA_FILES视图以确确定是否启用用了AUTOEXTEND并检查查AUTOEXTENSIBLE列列。SQL>selecttablespace_name,file_name,autoextensible2fromdba_data_files;TABLESPACE_NAMEFILE_NAMEAUTOEXTENSIBLE-----------------------------------------------------SYSTEM/home/dba01/ORADATA/u01/system01.dbfYESDATA01/home/dba01/ORADATA/u04/data01.dbfNOUSERS/home/dba01/ORADATA/u03/users01.dbfNOINDX/home/dba01/ORADATA/u06/indx01.dbfNOSAMPLE/home/dba01/ORADATA/u02/sample01.dbfYESDATA02/home/dba01/ORADATA/u03/data02.dbfNOINDEX01/home/dba01/ORADATA/u06/index01.dbfYESUNDO2/home/dba01/ORADATA/u01/UNDO2.dbfNO8rowsselected.启用数据文件件自动扩展使用OracleEnterpriseManager启用自自动调整大小小功能从“OEM控控制台”(OEMConsole):1.导航到到“数据库””(Databases)>““存储”(Storage)>“数据据文件”(Datafiles)。。2.选择数数据文件。3.在“存存储”(Storage)选项项卡中,选择择“数据文件件已满后自动动扩展”(Automaticallyextenddatafilewhenfull)复复选框。4.设置““增量”(Increment)和“最大大大小”(MaximumSize)的的值。5.单击““应用”(Apply)。手动调整数据据文件的大小小•使用ALTERDATABASE可手手动增加或减减少数据文件件的大小•调整数据据文件大小可可在无需添加加更多数据文文件的情况下下添加更多空空间•手动调整整数据文件大大小将回收数数据库中的未未用空间•示例:ALTERDATABASEDATAFILE'/u03/oradata/userdata02.dbf'RESIZE200M;手动调整数据据文件的大小小DBA能够够更改数据文文件的大小,,他们可以使使用ALTERDATABASE命令手动动增加或减少少数据文件的的大小,而不不必通过添加加数据文件来来向数据库添添加空间:ALTERDATABASE[database]DATAFILE‘filename’[,‘filename’]...RESIZEinteger[K|M]其中:Integer:以字节节为单位表示示的结果数据据文件的绝对对大小如果存储的数数据库对象超超过指定大小小,那么数据据文件大小只只能减少到数数据文件内最最后一个对象象的最后的块块为止。向表空间添加加数据文件•通过添加加其它数据文文件来增加分分配给表空间间的空间•通过ADDDATAFILE子句可添添加数据文件件•示例:ALTERTABLESPACEuser_dataADDDATAFILE'/u01/oradata/userdata03.dbf'SIZE200M;向表空间添加加数据文件您可以通过ALTERTABLESPACEADDDATAFILE命命令,向表空空间添加数据据文件以增加加分配给表空空间的磁盘空空间总量:ALTERTABLESPACEtablespaceADDDATAFILEfilespec[autoextend_clause]向表空间添加加数据文件使用OracleEnterpriseManager添加数数据文件从“OEM控控制台”(OEMConsole):1.导航到到“数据库””(Databases)>““存储”(Storage)>“表空空间”(Tablespaces)。2.选择表表空间。3.选择““添加数据文文件”(AddDatafile)。4.在“常常规”(General)选项项卡中输入文文件信息。5.单击““创建”(Create)。移动数据文件件的方法•ALTERTABLESPACE–表表空间间必须须脱机机–目目标数数据文文件必必须存存在•重重命名名数据据文件件的步步骤::–使使表空空间脱脱机。。–使使用操操作系系统命命令移移动或或复制制文件件。–执执行ALTERTABLESPACERENAMEDATAFILE命命令令。–使使表空空间联联机。。–必必要时时使用用操作作系统统命令令删除除该文文件。。移动数数据文文件的的方法法根据表表空间间类型型的不不同,,数据据库管管理员员可使使用以以下两两种方方法之之一来来移动动数据据文件件:ALTERTABLESPACE命命令令下面显显示了了ALTERTABLESPACE命命令,,它仅仅适用用于不不含活活动还还原段段或临临时段段的非非SYSTEM表表空间间中的的数据据文件件:ALTERTABESPACEtablespaceRENAMEDATAFILE'filename'[,'filename']...TO'filename'[,'filename']...源文件件名必必须与与存储储在控控制文文件内内的名名称匹匹配。。移动数数据文文件的的方法法•ALTERDATABASE–数数据库库必须须已装装载–目目标数数据文文件必必须存存在ALTERDATABASERENAMEFILE'/u01/oradata/system01.dbf'TO'/u03/oradata/system01.dbf';移动数数据文文件的的方法法ALTERDATABASE命命令令ALTERDATABASE命命令令可用用来移移动任任意类类型的的数据据文件件:ALTERDATABASE[database]RENAMEFILE'filename'[,'filename']...TO'filename'[,'filename']...因为SYSTEM表表空空间无无法脱脱机,,您必必须使使用该该方法法移动动SYSTEM表表空间间内的的数据据文件件。使用如如下进进程重重命名名无法法脱机机的表表空间间内的的文件件:1.关关闭闭数据据库。。2.使使用用操作作系统统命令令移动动文件件。3.装装载载数据据库。。4.执执行行ALTERDATABASERENAMEFILE命命令。。5.打打开开数据据库。。移动数数据文文件的的方法法

温馨提示

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

评论

0/150

提交评论