1、用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。逻辑结构单元类型数据块:BLOCK区:EXTENT段:SEGMENT表空间:TABLESPACE5.2表空间的设置与管理表空间介绍创建表空间修改表空间大小修改表空间的可用性修改表空间的读写性设置默认表空间删除表空间查询表空间信息5.2.1表空间介绍表空间是Oracle数据库的最大逻辑容器,
2、一个表空间包含一个或多个数据文件。数据库容量在物理上由数据文件大小与数量决定的,在逻辑上由表空间大小与数量决定的。表空间属性:类型:永久性表空间(PERMANENTTABLESPACE)、临时表空间(TEMPTABLESPACE)、撤销表空间(UNDOTABLESPACE)管理方式:字典管理方式(DICTIONARY)和本地管理方式(LOCAL)区分配方式:自动分配(AUTOALLOCATE)和定制分配(UNIFORM)段的管理方式:自动管理(AUTO)和手动管理(MANUAL)5.2.2创建表空间创建永久表空间使用CREATETABLESPACE语句来实现,该语句包含以下几个子句:DATAF
3、ILE:设定表空间对应的数据文件。EXTENTMANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。SEGMENTSPACEMANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO(默认)。创建本地管理的永久表空间,区采用自动分配方式,段采用自动管理方式。CREATETABLESPACEHRTBS1DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTBS1_1.DBFSIZE50M;创建本地管理的永久表空间,区采用定制分配方式,
4、段采用自动管理方式。CREATETABLESPACEHRTBS2DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTBS2_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512K;创建本地管理的永久表空间,区采用自动分配方式,段采用手动管理方式。CREATETABLESPACEHRTBS3DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTBS3_1.DBFSIZE50MSEGMENTSPACEMANAGEMENTMANUAL;创建一个永久性的表空间HRTB
5、S4,区定制分配,段采用手动管理方式。CREATETABLESPACEHRTBS4DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTBS4_1.DBFSIZE50MEXTENTMANAGEMENTLOCALUNIFORMSIZE512KSEGMENTSPACEMANAGEMENTMANUAL;创建一个永久性的表空间INDX,区自动扩展,段采用自动管理方式,专门用于存储HUMAN_RESOURCE数据库中的索引数据。CREATETABLESPACEINDXDATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURC
6、EINDEX01.DBFSIZE50M;创建大文件表空间一个大文件表空间只包含一个数据文件,该数据文件可以包含4G(232)个数据块。通过查询数据字典DATABASE_PROPERTIES中数据库的属性DEFAULT_TBS_TYPE,可以知道数据库默认创建的是小文件表空间还是大文件表空间。创建一个大文件表空间,文件大小为1G,区的分配采用定制方式。CREATEBIGFILETABLESPACEbig_tbsDATAFILED:APPADMINISTRATORORADATAORCLbig01.dbfSIZE1GUNIFORMSIZE512K;需要注意的是,大文件表空间中段的管理只能采用自动管理
7、方式,而不能采用手动管理方式。创建临时表空间临时表空间是指专门存储临时数据的表空间,这些临时数据在会话结束时会自动释放。在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据,而内存不足以容纳这么多数据,此时可以使用临时表空间集中管理临时数据,既提高了排序操作的并发度,又提高了存储空间管理的效率。创建一个临时表空间HRTEMP1CREATETEMPORARYTABLESPACEHRTEMP1TEMPFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTEMP1_1.DBFSIZE20MEXTENTMANAGEMENTLOCALUNIFORMSI
8、ZE15M;为了避免临时空间频繁分配与回收时产生大量碎片,临时表空间的区只能采用自动分配方式。创建一个临时表空间HRTEMP2,并放入临时表空间组TEMP_GROUP。同时,将临时表空间HRTEMP1也放入该TEMP_GROUP中。CREATETEMPORARYTABLESPACEHRTEMP2TEMPFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRTEMP2_1.DBFSIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE15MTABLESPACEGROUPTEMP_GROUP;ALTERTABLESPACEHRTEMP1TA
9、BLESPACEGROUPTEMP_GROUP;创建撤销表空间从Oracle9i开始,Oracle数据库中引入撤销表空间,专门用于回退段的自动管理,由数据库自动进行回退段的创建、分配与优化。创建一个撤销表空间HRUNDO1。CREATEUNDOTABLESPACEHRUNDO1DATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEHRUNDO1_1.DBFSIZE20M;5.2.3修改表空间大小修改表空间大小改变数据文件大小的方法添加数据文件改变已有数据文件的大小改变数据文件的可扩展性重新设置数据文件的大小。为表空间添加数据文件通过ALTERTABLES
10、PACEADDDATAFILE语句为永久表空间添加数据文件通过ALTERTABLESPACEADDTEMPFILE语句为临时表空间添加临时数据文件向USERS表空间中添加一个大小为10MB的数据文件。ALTERTABLESPACEUSERSADDDATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBFSIZE10M向TEMP表空间中添加一个大小为5MB的临时数据文件。ALTERTABLESPACETEMPADDTEMPFILED:APPADMINISTRATORORADATAHUMAN_RESOURCETEMP02.DBFSIZE5M
11、改变数据文件的扩展性如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTENDON选项,则该文件的大小是固定的。如果为数据文件指定了AUTOEXTENDON选项,当数据文件被填满时,数据文件会自动扩展,即表空间被扩展了。修改USERS表空间的数据文件USERS02.DBF为自动增长方式。ALTERDATABASEDATAFILED:APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBFAUTOEXTENDONNEXT1MMAXSIZEUNLIMITED;USERS表空间的数据文件USERS02.DBF的自动增长方式。APPADMINISTRA
12、TORORADATAHUMAN_RESOURCEUSERS02.DBFAUTOEXTENDOFF;重新设置数据文件的大小可以使用ALTERDATABASEDATAFILERESIZE改变表空间已有数据文件的大小。将HUMAN_RESOURCE数据库USERS表空间的数据文件USERS02.DBF大小设置为8MB。APPADMINISTRATORORADATAHUMAN_RESOURCEUSERS02.DBFRESIZE8M;5.2.4修改表空间的可用性表空间的可用性是指表空间脱机或联机操作。除了SYSTEM表空间、存放在线回退信息的撤销表空间和临时表空间不可以脱机外,其它的表空间都可以设置为脱
13、机状态。将某个表空间设置为脱机状态时,属于该表空间的所有数据文件都处于脱机状态。可以使用ALTERTABLESPACEOFFLINE将表空间脱机。5.2.5修改表空间的读写性修改表空间的读写性满足下列条件的表空间才可以设置为只读状态。表空间必须处于联机状态。表空间中不能包含任何活动的回退段。系统表空间SYSTEM、辅助系统表空间SYSAUX、当前使用的撤销表空间(UNDO)和当前使用的临时表空间(TEMP)不能设置为只读状态。如果表空间正在进行联机数据备份,则不能将该表空间设置为只读状态。可以使用ALTERTABLESAPCEREADONLY语句将表空间设置为只读状态可以使用ALTERTABL
14、ESPACEREADWRITE语句将表空间由只读状态恢复为读写状态。5.2.6设置默认表空间在Oracle 11g数据库中,数据库的默认表空间为USERS表空间,默认的临时表空间为TEMP表空间。可以使用ALTER DATABASE DEFAULT TABLESPACE语句设置数据库默认表空间。可以使用ALTER DATABASE DEFAULT TEMPORARY TABLESPACE语句设置数据库的默认临时表空间。将HRTBS1表空间设置为案例数据库的默认表空间。ALTERDATABASEDEFAULTTABLESPACEHRTBS1;将HRTEMP1表空间设置为默认临时表空间ALTERD
15、ATABASEDEFAULTTEMPORARYTABLESPACEHRTEMP1;将temp_group临时表空间组设置为默认临时表空间。ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_group;5.2.7表空间的备份对表空间进行联机备份备份的基本步骤为(1)使用ALTERTABLESPACEBEGINBACKUP语句将表空间设置为备份模式;(2)在操作系统中备份表空间所对应的数据文件;(3)使用ALTERTABLESPACEENDBACKUP语句结束表空间的备份模式。备份案例数据库的HRTBS1表空间。ALTERTABLESPACEHRTBS1BEGINBACKUP;复制HRTBS1表空间的数据文件HRTBS1_1.DBF到目标位置。ALTERTABLESPACEHRTBS1ENDBACKUP;5.2.8删除表空间可以使用DROPTABLESPAC
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1