1、掌握创建与管理撤消表空间的方法。了解与表空间和数据文件相关的数据字典。24.1 基本表空间4在创建数据库时,Oracle会自动地创建一系列表空间,例如system表空间。用户可以使用这些表空间进行数据操作。4但是,在实际应用中,如果所有用户都使用系统自动创建的这几个表空间,将会严重影响I/O性能。34.1.1 创建表空间4创建表空间需要使用CREATE TABLESPACE语句。其基本语法如下:CREATE TEMPORARY|UNDO TABLESPACE tablespace_name DATAFILE|TEMPFILE file_name SIZE size K|M REUSE AUTO
2、EXTEND OFF|ON NEXT number K|M MAXSIZE UNLIMITED|number K|M ,.MININUM EXTENT number K|M BLOCKSIZE number K ONLINE|OFFLINE LOGGING|NOLOGGING FORCE LOGGING DEFAULT STORAGE storage COMPRESS|NOCOMPRESS PERMANENT|TEMPORARY EXTENT MANAGEMENT DICTIONARY|LOCAL AUTOALLOCATE|UNIFORM SIZE number K|M SEGMENT SPA
3、CE MANAGEMENT AUTO|MANUAL;44.1.1 创建表空间4语法说明如下。(1)TEMPORARY|UNDO(2)tablespace_name(3)DATAFILE|TEMPFILE file_name(4)SIZE size(5)REUSE(6)AUTOEXTEND OFF|ON(7)NEXT number(8)MAXSIZE UNLIMITED|number(9)MININUM EXTENT number(10)BLOCKSIZE number(11)ONLINE|OFFLINE(12)LOGGING|NOLOGGING(13)FORCE LOGGING(14)DEFA
4、ULT STORAGE storage(15)COMPRESS|NOCOMPRESS(16)PERMANENT|TEMPORARY(17)EXTENT MANAGEMENT DICTIONARY|LOCAL(18)AUTOALLOCATE|UNIFORM SIZE number(19)SEGMENT SPACE MANAGEMENT AUTO|MANUAL54.1.2 表空间状态属性41在线(ONLINE)语句形式如下:|ALTER TABLESPACE tablespace_name ONLINE;42离线(OFFLINE)语句形式如下:|ALTER TABLESPACE tablespac
5、e_name OFFLINE parameter;43只读(READ ONLY)语句形式如下:|ALTER TABLESPACE tablespace_name READ ONLY;44读写(READ WRITE)语句形式如下:|ALTER TABLESPACE tablespace_name READ WRITE;64.1.3 重命名表空间4重命名表空间的语法如下:ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name;4【例例4.4】修改myspace表空间的名称为myspace2,语句如下:ALTER TABLESPA
6、CE myspace RENAME TO myspace2;74.1.4 修改表空间中数据文件的大小4【例例4.5】通过数据字典dba_free_space查看myspace表空间的空闲空间信息,如下:SQL SELECT tablespace_name,bytes,blocks 2 FROM dba_free_space 3 WHERE tablespace_name=MYSPACE;TABLESPACE_NAME BYTES BLOCKS-MYSPACE 20905984 25524其中,bytes字段以字节的形式表示表空间的空闲空间大小;blocks字段则以数据块数目的形式表示表空间空闲
7、空间的大小。84.1.4 修改表空间中数据文件的大小4【例例4.6】通过数据字典dba_data_files查看myspace表空间的数据文件信息,如下:SQL COLUMN file_name FORMAT A35;SQL COLUMN tablespace_name FORMAT A15;SQL SELECT tablespace_name,file_name,bytes 2 FROM dba_data_files 3 WHERE tablespace_name=MYSPACE;TABLESPACE_NAME FILE_NAME BYTES -MYSPACE E:APPADMINISTRA
8、TORORADATAORCL20971520 MYSPACE.DBF4其中,file_name字段表示数据文件的名称与路径;bytes字段表示数据文件的大小。94.1.4 修改表空间中数据文件的大小4【例例4.7】修改myspace表空间对应的数据文件的大小,如下:SQL ALTER DATABASE 2 DATAFILE E:APPADMINISTRATORORADATAORCLMYSPACE.DBF 3 RESIZE 40M;数据库已更改。104.1.5 增加表空间的数据文件4增加新的数据文件需要使用ALTER TABLESPACE语句,其语法如下:ALTER TABLESPACE tab
9、lespace_nameADD DATAFILE file_name SIZE number K|M AUTOEXTEND OFF|ON NEXT number K|M MAXSIZE UNLIMITED|number K|M ,.;114.1.5 增加表空间的数据文件4【例例4.8】为myspace表空间增加两个新的数据文件,如下:SQL ALTER TABLESPACE myspace 2 ADD DATAFILE 3 E:appAdministratororadataorclmyspace02.dbf 4 SIZE 10M 5 AUTOEXTEND ON NEXT 5M MAXSIZE
10、40M,6 E:appAdministratororadataorclmyspace03.dbf 7 SIZE 10M 8 AUTOEXTEND ON NEXT 5M MAXSIZE 40M;表空间已更改。4上述语句为myspace表空间在E:appAdministratororadataorcl目录下增加了两个数据文件,名称分别为myspace02.dbf和myspace03.dbf。124.1.6 删除表空间的数据文件4删除表空间的数据文件的语法如下:ALTER TABLESPACE tablespace_nameDROP DATAFILE file_name;4【例例4.9】删除mysp
11、ace表空间数据文件E:appAdministratororadataorclmyspace03.dbf,如下:SQL ALTER TABLESPACE myspace 2 DROP DATAFILE E:appAdministratororadataorclmyspace03.dbf;134.1.7 修改表空间中数据文件的自动扩展性4在创建表空间时,可以设置数据文件的自动扩展性。在为表空间增加新的数据文件时,也可以设置新数据文件的自动扩展性。而对于已创建的表空间中的已有数据文件,则可以使用ALTER DATABASE语句修改其自动扩展性。语法如下:ALTER DATABASE DATAFIL
12、E file_nameAUTOEXTEND OFF|ON NEXT number K|M MAXSIZE UNLIMITED|number K|M 144.1.7 修改表空间中数据文件的自动扩展性4【例例4.10】修改myspace表空间中数据文件的自动扩展性,如下:appAdministratororadataorclmyspace02.dbf 3 AUTOEXTEND OFF;appAdministratororadataorclmyspace02.dbf 3 AUTOEXTEND ON 4 NEXT 5M MAXSIZE 40M;4上述两条SQL语句中,第一条语句用于关闭myspace表
13、空间的myspace02.dbf文件的自动扩展性,第二条语句用于再次为myspace02.dbf文件设置自动扩展性。154.1.8 修改表空间中数据文件的状态4数据文件的状态主要有3种:ONLINE、OFFLINE和OFFLINE DROP。4设置数据文件状态的语法如下:ALTER DATABASE DATAFILE file_name ONLINE|OFFLINE|OFFLINE DROP4其中,ONLINE表示数据文件可以使用;OFFLINE表示数据文件不可使用,用于数据库运行在归档模式下的情况;OFFLINE DROP与OFFLINE一样用于设置数据文件不可用,但它用于数据库运行在非归档
14、模式下的情况。164.1.9 移动表空间中的数据文件4【例例4.12】移动myspace表空间中数据文件myspace02.dbf的步骤如下。(1)修改myspace表空间的状态为OFFLINE,如下:|SQL ALTER TABLESPACE myspace OFFLINE;|表空间已更改。(2)将磁盘中的myspace02.dbf文件移动到新的目录中(3)使用ALTER TABLESPACE语句,将myspace表空间中myspace02.dbf文件的原名称和路径修改为新名称和路径(4)修改myspace表空间的状态为ONLINE,如下:|SQL ALTER TABLESPACE mysp
15、ace ONLINE;检查文件是否移动成功,也就是检查myspace表空间的数据文件中是否包含了新的数据文件。174.1.10 删除表空间4删除表空间需要使用DROP TABLESPACE语句,其语法如下:DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES 4语法说明如下。(1)INCLUDING CONTENTS(2)AND DATAFILES4【例例4.13】删除表空间myspace,并同时删除该表空间中的所有数据库对象,以及操作系统中与之相对应的数据文件,如下:SQL DROP TABLESPACE myspace 2 INCLUDING CONTENTS AND DATAFILES;表空间已删除。184.2 临时表空间4临时表空间是一个磁盘空间,主要用于存储用户在执行ORDER BY等语句进行排序或汇总时产生的临时数据,它是所有用户公用的。4默认情况下,所有用户都使用temp作为临时表空间。但是也允许使用其他表空间作为临时表空间,这需要在创建用户时进行指定。194.2.1 创建临时表空间4创建临时表空间时需要使用TEMPORARY关键字,并且与临时表空间对应的是临时文件,由TEMPFILE关键字指定,而数据文件由DATAFILE关键字指定。4【例例4.14】创建一个临时表
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1