Oracle数据库应用教程-管理表空间_第1页
Oracle数据库应用教程-管理表空间_第2页
Oracle数据库应用教程-管理表空间_第3页
Oracle数据库应用教程-管理表空间_第4页
Oracle数据库应用教程-管理表空间_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章管管理理表空间间本章要点点:熟练掌握握创建表表空间的的方法。掌握如何何设置表表空间的的状态。了解如何何重命名名表空间间。掌握表空空间中数数据文件件的管理理。了解临时时表空间间。了解大文文件表空空间。了解非标标准数据据块表空空间。理解撤消消表空间间的作用用。掌握创建建与管理理撤消表表空间的的方法。了解与表表空间和和数据文文件相关关的数据据字典。24.1基基本本表空间间在创建数数据库时时,Oracle会自自动地创创建一系系列表空空间,例例如system表空空间。用用户可以以使用这这些表空空间进行行数据操操作。但是,在在实际应应用中,如果所所有用户户都使用用系统自自动创建建的这几几个表空空间,

2、将将会严重重影响I/O性性能。34.1.1创创建表表空间创建表空空间需要要使用CREATETABLESPACE语句句。其基基本语法法如下:CREATETEMPORARY|UNDO TABLESPACEtablespace_name DATAFILE| TEMPFILE file_name SIZEsizeK |M REUSE AUTOEXTEND OFF| ON NEXTnumber K|M MAXSIZEUNLIMITED |number K|M ,. MININUMEXTENT numberK |M BLOCKSIZEnumberK ONLINE| OFFLINE LOGGING|NOLO

3、GGING FORCE LOGGING DEFAULTSTORAGEstorage COMPRESS |NOCOMPRESS PERMANENT| TEMPORARY EXTENTMANAGEMENTDICTIONARY |LOCAL AUTOALLOCATE| UNIFORMSIZEnumberK| M SEGMENTSPACEMANAGEMENTAUTO |MANUAL ;44.1.1创创建表表空间语法说明明如下。(1)TEMPORARY |UNDO(2)tablespace_name(3)DATAFILE|TEMPFILEfile_name(4)SIZEsize(5)REUSE(6)AU

4、TOEXTENDOFF|ON(7)NEXTnumber(8)MAXSIZEUNLIMITED|number(9)MININUMEXTENTnumber(10)BLOCKSIZEnumber(11)ONLINE| OFFLINE(12)LOGGING|NOLOGGING(13)FORCE LOGGING(14)DEFAULTSTORAGEstorage(15)COMPRESS |NOCOMPRESS(16)PERMANENT| TEMPORARY(17)EXTENTMANAGEMENT DICTIONARY|LOCAL(18)AUTOALLOCATE| UNIFORMSIZEnumber(19)

5、SEGMENTSPACEMANAGEMENTAUTO |MANUAL54.1.2表表空间间状态属属性1在线线(ONLINE)语句形式式如下:ALTERTABLESPACE tablespace_nameONLINE;2离线线(OFFLINE)语句形式式如下:ALTERTABLESPACE tablespace_nameOFFLINE parameter;3只读读(READONLY)语句形式式如下:ALTERTABLESPACE tablespace_nameREAD ONLY;4读写写(READWRITE)语句形式式如下:ALTERTABLESPACE tablespace_nameREAD

6、WRITE;64.1.3重重命名名表空间间重命名表表空间的的语法如如下:ALTERTABLESPACE tablespace_nameRENAMETOnew_tablespace_name;【例4.4】修改myspace表表空间的的名称为为myspace2,语句如如下:ALTERTABLESPACE myspaceRENAME TO myspace2;74.1.4修修改表表空间中中数据文文件的大大小【例4.5】通过数据据字典dba_free_space查看看myspace表空空间的空空闲空间间信息,如下:SQL SELECTtablespace_name,bytes, blocks2FROM

7、dba_free_space3WHEREtablespace_name=MYSPACE;TABLESPACE_NAMEBYTESBLOCKS-MYSPACE209059842552其中,bytes字段段以字节节的形式式表示表表空间的的空闲空空间大小小;blocks字段段则以数数据块数数目的形形式表示示表空间间空闲空空间的大大小。84.1.4修修改表表空间中中数据文文件的大大小【例4.6】通过数据据字典dba_data_files查看看myspace表空空间的数数据文件件信息,如下:SQL COLUMNfile_nameFORMAT A35;SQL COLUMNtablespace_nameFO

8、RMAT A15;SQL SELECTtablespace_name,file_name,bytes2FROM dba_data_files3WHEREtablespace_name=MYSPACE;TABLESPACE_NAMEFILE_NAMEBYTES-MYSPACEE:APPADMINISTRATORORADATAORCL20971520MYSPACE.DBF其中,file_name字字段表示示数据文文件的名名称与路路径;bytes字段段表示数数据文件件的大小小。94.1.4修修改表表空间中中数据文文件的大大小【例4.7】修改myspace表表空间对对应的数数据文件件的大小小,如下下:

9、SQL ALTER DATABASE2DATAFILEE:APPADMINISTRATORORADATAORCLMYSPACE.DBF3RESIZE40M;数据库已已更改。104.1.5增增加表表空间的的数据文文件增加新的的数据文文件需要要使用ALTERTABLESPACE语句,其语法法如下:ALTERTABLESPACE tablespace_nameADDDATAFILEfile_nameSIZEnumberK| M AUTOEXTEND OFF| ON NEXTnumber K|M MAXSIZEUNLIMITED |number K|M ,.;114.1.5增增加表表空间的的数据文文件

10、【例4.8】为myspace表空空间增加加两个新新的数据据文件,如下:SQL ALTER TABLESPACEmyspace2ADDDATAFILE3E:appAdministratororadataorclmyspace02.dbf4SIZE 10M5AUTOEXTEND ON NEXT5MMAXSIZE40M,6E:appAdministratororadataorclmyspace03.dbf7SIZE 10M8AUTOEXTEND ON NEXT5MMAXSIZE40M;表空间已已更改。上述语句句为myspace表表空间在在E:appAdministratororadataorcl目录

11、录下增加加了两个个数据文文件,名名称分别别为myspace02.dbf和和myspace03.dbf。124.1.6删删除表表空间的的数据文文件删除表空空间的数数据文件件的语法法如下:ALTERTABLESPACE tablespace_nameDROP DATAFILE file_name;【例4.9】删除myspace表表空间数数据文件件E:appAdministratororadataorclmyspace03.dbf,如下:SQL ALTER TABLESPACEmyspace2DROP DATAFILE E:appAdministratororadataorclmyspace03.d

12、bf;表空间已已更改。134.1.7修改表空空间中数数据文件件的自动动扩展性性在创建表表空间时时,可以以设置数数据文件件的自动动扩展性性。在为为表空间间增加新新的数据据文件时时,也可可以设置置新数据据文件的的自动扩扩展性。而对于于已创建建的表空空间中的的已有数数据文件件,则可可以使用用ALTERDATABASE语语句修改改其自动动扩展性性。语法法如下:ALTERDATABASEDATAFILEfile_nameAUTOEXTEND OFF| ON NEXTnumber K|M MAXSIZEUNLIMITED |number K|M 144.1.7修改表空空间中数数据文件件的自动动扩展性性【例

13、4.10】修改myspace表表空间中中数据文文件的自自动扩展展性,如如下:SQL ALTER DATABASE2DATAFILEE:appAdministratororadataorclmyspace02.dbf3AUTOEXTEND OFF;数据库已已更改。SQL ALTER DATABASE2DATAFILEE:appAdministratororadataorclmyspace02.dbf3AUTOEXTEND ON4NEXT 5M MAXSIZE40M;数据库已已更改。上述两条条SQL语句中中,第一一条语句句用于关关闭myspace表表空间的的myspace02.dbf文件件的自动动

14、扩展性性,第二二条语句句用于再再次为myspace02.dbf文件设设置自动动扩展性性。154.1.8修修改表表空间中中数据文文件的状状态数据文件件的状态态主要有有3种:ONLINE、OFFLINE和OFFLINE DROP。设置数据据文件状状态的语语法如下下:ALTERDATABASEDATAFILEfile_nameONLINE |OFFLINE| OFFLINEDROP其中,ONLINE表表示数据据文件可可以使用用;OFFLINE表表示数据据文件不不可使用用,用于于数据库库运行在在归档模模式下的的情况;OFFLINEDROP与OFFLINE一一样用于于设置数数据文件件不可用用,但它它用于

15、数数据库运运行在非非归档模模式下的的情况。164.1.9移移动表表空间中中的数据据文件【例4.12】移动myspace表表空间中中数据文文件myspace02.dbf的的步骤如如下。(1)修修改myspace表空间间的状态态为OFFLINE,如下:SQL ALTER TABLESPACEmyspaceOFFLINE;表空间已已更改。(2)将将磁盘盘中的myspace02.dbf文件移移动到新新的目录录中(3)使使用ALTERTABLESPACE语句,将myspace表表空间中中myspace02.dbf文件件的原名名称和路路径修改改为新名名称和路路径(4)修修改myspace表空间间的状态态为

16、ONLINE,如如下:SQL ALTER TABLESPACEmyspaceONLINE;表空间已已更改。检查文件件是否移移动成功功,也就就是检查查myspace表空空间的数数据文件件中是否否包含了了新的数数据文件件。174.1.10删删除除表空间间删除表空空间需要要使用DROP TABLESPACE语语句,其其语法如如下:DROP TABLESPACEtablespace_name INCLUDINGCONTENTS ANDDATAFILES语法说明明如下。(1)INCLUDING CONTENTS(2)AND DATAFILES【例4.13】删除表空空间myspace,并同时时删除该该表空

17、间间中的所所有数据据库对象象,以及及操作系系统中与与之相对对应的数数据文件件,如下下:SQL DROPTABLESPACEmyspace2INCLUDINGCONTENTSAND DATAFILES;表空间已已删除。184.2临临时时表空间间临时表空空间是一一个磁盘盘空间,主要用用于存储储用户在在执行ORDERBY等语语句进行行排序或或汇总时时产生的的临时数数据,它它是所有有用户公公用的。默认情况况下,所所有用户户都使用用temp作为为临时表表空间。但是也也允许使使用其他他表空间间作为临临时表空空间,这这需要在在创建用用户时进进行指定定。194.2.1创创建临临时表空空间创建临时时表空间间时需

18、要要使用TEMPORARY关关键字,并且与与临时表表空间对对应的是是临时文文件,由由TEMPFILE关关键字指指定,而而数据文文件由DATAFILE关键键字指定定。【例4.14】创建一个个临时表表空间mytemp,如下:SQL CREATETEMPORARYTABLESPACEmytemp2TEMPFILEF:oraclefilemytemp.dbf3SIZE 10M4AUTOEXTEND ON NEXT2MMAXSIZE20M;表空间已已创建。204.2.1创创建临临时表空空间【例4.15】通过数据据字典v$tempfile,查看看临时表表空间mytemp的的临时文文件信息息,如下下:SQL

19、 COLUMNfile_nameFORMAT A40;SQL COLUMNtablespace_nameFORMAT A15;SQL SELECTtablespace_name,file_name,bytes2FROM dba_temp_files3WHEREtablespace_name=MYTEMP;TABLESPACE_NAMEFILE_NAMEBYTES-MYTEMPF:ORACLEFILEMYTEMP.DBF10485760214.2.2创创建与与管理临临时表空空间组1创建建临时表表空间组组临时表空空间组不不需要特特别创建建,只需需要在创创建临时时表空间间时,使使用TABLESPAC

20、EGROUP语语句为其其指定一一个组即即可。2查看看临时表表空间组组信息如果要查查询一个个临时表表空间组组中的临临时表空空间信息息,可以以使用数数据字典典dba_tablespace_ groups。3移动动临时表表空间可以使用用ALTERTABLESPACE语句句,将临临时表空空间从一一个组移移动到另另一个组组中,实实际上也也就是修修改临时时表空间间所在的的组。目目标组同同样可以以是已存存在的,也可以以是不存存在的。4删除除临时表表空间组组一个临时时表空间间组中至至少需要要存在一一个临时时表空间间,当组组中的所所有临时时表空间间都被删删除或移移动到其其他组中中后,该该组就被被自动删删除了。2

21、24.3大大文文件表空空间大文件表表空间是是Oracle 10g引进进的一个个新表空空间类型型,主要要用于解解决存储储文件大大小不够够的问题题。创建大文文件表空空间需要要使用BIGFILE关键字字,而且且只能为为其指定定一个数数据文件件或临时时文件。【例4.19】创建一个个大文件件表空间间mybigspace,如如下:SQL CREATEBIGFILE TABLESPACEmybigspace2DATAFILEF:oraclefilemybigspace.dbf3SIZE 10M;表空间已已创建。234.3大大文文件表空空间【例4.20】通过数据据字典dba_tablespaces查查看当前前

22、数据库库中的表表空间的的类型,如下:SQL SELECTtablespace_name,bigfile2FROM dba_tablespaces;TABLESPACE_NAMEBIG-SYSTEMNOSYSAUXNOUNDOTBS1NOTEMPNOUSERSNOMYTEMPNOMYBIGSPACEYES已选择7行。如果bigfile字字段值为为NO,则表示示对应的的表空间间的类型型不是BIGFILE,即为为SMALLFILE;如果果bigfile字段段值为YES,则表示示对应的的表空间间的类型型为BIGFILE。244.4非非标标准数据据块表空空间非标准数数据块表表空间是是指其数数据块大大小不

23、基基于标准准数据块块大小的的表空间间。使用SHOWPARAMETER语句可可以查看看db_block_size参数数的信息息,如下下:SQL SHOWPARAMETER db_block_size;NAMETYPEVALUE-db_block_sizeinteger8192254.4非非标标准数据据块表空空间【例4.21】创建一个个非标准准数据块块表空间间nonstandard,其数据据块大小小设置为为16KB。步步骤如下下。(1)使使用SHOW PARAMWTER语句句查看数数据缓冲冲区参数数db_16k_cache_size的的值(2)使使用ALTERSYSTEM语语句修改改参数db_16

24、k_cache_size的值值(3)创创建表表空间nonstandard,指指定其数数据块大大小为16KB264.5设设置置默认表表空间Oracle允允许使用用非users表空间间作为默默认的永永久性表表空间,使用非非temp表空空间作为为默认临临时表空空间。设设置默认认表空间间需要使使用ALTER DATABASE语句,语法如如下:ALTERDATABASEDEFAULT TEMPORARY TABLESPACEtablespace_name;如果使用用TEMPORARY关键字字,则表表示设置置默认临临时表空空间;如如果不使使用该关关键字,则表示示设置默默认永久久性表空空间。274.5设设置

25、置默认表表空间【例4.22】将myspace表空空间设置置为默认认的永久久性表空空间,将将mytemp表空间间设置为为默认临临时表空空间,如如下:SQL ALTER DATABASE DEFAULTTABLESPACEmyspace;数据库已已更改。SQL ALTER DATABASE DEFAULTTEMPORARY TABLESPACEmytemp;数据库已已更改。查询数据据字典database_properties,检查查默认表表空间是是否设置置成功,如下:SQL SELECTproperty_name ,property_value,description2FROM database_

26、properties3WHEREproperty_name4IN(DEFAULT_PERMANENT_TABLESPACE ,DEFAULT_TEMP_TABLESPACE);PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION-DEFAULT_TEMP_TABLESPACEMYTEMPName of defaulttemporarytablespaceDEFAULT_PERMANENT_TABLESPACEMYSPACENameofdefaultpermanenttablespace284.6撤撤消消表空间间用户对数数据库中中的数据据进行修修改后,Oracle将会把把

27、修改前前的数据据存储到到撤消表表空间中中,如果果用户需需要对数数据进行行恢复,就会使使用到撤撤消表空空间中存存储的撤撤消数据据。本节将介介绍如何何创建与与管理撤撤消表空空间。对对于具体体的数据据撤消操操作将在在本书Oracle闪闪回技术术章节中中介绍。294.6.1管管理撤撤消表空空间的方方式Oracle11g支持两两种管理理撤消表表空间的的方式:回退段段撤消管管理(RollbackSegmentsUndo,RSU)和和自动撤撤消管理理(SystemManaged Undo,SMU)。1自动动撤消管管理如果选择择使用自自动撤消消管理方方式,则则应将参参数undo_management的值值设置

28、为为AUTO,并并且需要要在数据据库中创创建一个个撤消表表空间。默认情情况下,Oracle系统在在安装时时会自动动创建一一个撤消消表空间间undotbs1。系统当当前所使使用的撤撤消表空空间由参参数undo_tablespace决定定。使用SHOWPARAMETER undo语语句可以以查看当当前数据据库的撤撤消表空空间的设设置,如如下:SQL SHOWPARAMETER undo;NAMETYPEVALUE-undo_managementstringAUTOundo_retentioninteger900undo_tablespacestringUNDOTBS1304.6.1管管理撤撤消表空

29、空间的方方式2回退退段撤消消管理如果选择择使用回回退段撤撤消管理理方式,则应将将参数undo_management的的值设置置为MANUAL,并并且需要要设置下下列参数数。rollback_segments:设设置数据据库所使使用的回回退段名名称。transactions:设置系系统中的的事务总总数。transactions_per_rollback_segment:指定回回退段可可以服务务的事务务个数。max_rollback_segments:设置回回退段的的最大个个数。314.6.2创创建与与管理撤撤消表空空间1创建建撤消表表空间创建撤消消表空间间需要使使用CREATEUNDO TABL

30、ESPACE语语句,与与创建普普通表空空间类似似,但也也有其特特定的限限制,说说明如下下:撤消表空空间只能能使用本本地化管管理表空空间类型型,即EXTENTMANAGEMENT子句句只能指指定LOCAL(默认认值)。撤消表空空间的盘盘区管理理方式只只能使用用AUTOALLOCATE(默认认值),即由Oracle系系统自动动分配盘盘区大小小。撤消表空空间的段段的管理理方式只只能为手手动管理理方式,即SEGMENTSPACEMANAGEMENT只能能指定MANUAL。如果是是创建普普通表空空间,则则此选项项默认为为AUTO,而而如果是是创建撤撤消表空空间,则则此选项项默认为为MANUAL。324.

31、6.2创创建与与管理撤撤消表空空间2修改改撤消表表空间的的数据文文件由于撤消消表空间间主要由由Oracle系统自自动管理理,所以以对撤消消表空间间的数据据文件的的修改也也主要限限于以下下几种形形式:为撤消表表空间添添加新的的数据文文件。移动撤消消表空间间的数据据文件。设置撤消消表空间间的数据据文件的的状态为为ONINE或或OFFLINE。334.6.2创创建与与管理撤撤消表空空间3切换换撤消表表空间一个数据据库中可可以有多多个撤消消表空间间,但数数据库一一次只能能使用一一个撤消消表空间间。默认认情况下下,数据据库使用用的是系系统自动动创建的的undotbs1撤撤消表空空间。如如果要将将数据库库使用的的撤消表表空间切切换成其其他表空空间,修修改参数数undo_tablespace的值即即可,这这需要使使用ALTER SYSTEM语句句。切换撤消消表空间间后,数数据库中中新事务务的撤消消数据将将保存在在新的撤撤消表空空间中。344.6.2创创建与

温馨提示

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

评论

0/150

提交评论