Oracle之表空间的概念、类型及实例讲解
1:表空间概念:
表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数据库至少包含一个表空间。每个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。
在每一个数据库中都有一个名为SYSTEM的表空间,即系统表空间,该表空间是在创建数据库或数据库安装时自动创建的,用于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。
2:表空间类型:
永久性表空间:一般保存表、视图、过程和索引等的数据。
临时性表空间:只用于保存系统中短期活动的数据。
撤销表空间:用来帮助回退未提交的事务数据。
3:操作与应用:
3.1:创建表空间
CREATE TABLESPACE 表空间名
DATAFILE '数据文件路径' SIZE 大小
[AUTOEXTEND ON] [NEXT 大小]
[MAXSIZE大小];
【说明】[]里面内容可选项;数据文件路径中若包含目录需要先创建
SIZE为初始表空间大小,单位为K或者M
AUTOEXTEND ON是否自动扩展
NEXT为文件满了后扩展大小
MAXSIZE为文件最大大小,值为数值或UNLIMITED(表示不限大小)
示例:
CREATETABLESPACE test_ts
DATAFILE'd:\oracle_data\test01.dbf'SIZE10M
AUTOEXTENDON;
3.2:查询表空间
--管理员角色查看表空间
SELECTfile_name,tablespace_name,bytes,autoextensible
FROMdba_data_files
WHEREtablespace_name='TEST_TS';
3.3:修改表空间
【语法】
ALTER TABLESPACE 表空间名
ADD DATAFILE '文件路径' SIZE 大小
[AUTOEXTEND ON] [NEXT大小]
[MAXSIZE 大小];
示例:
ALTERTABLESPACE test_ts
ADDDATAFILE'd:\oracle_data\test02.DBF'SIZE5M
AUTOEXTENDON;
3.4:删除表空间
【语法】
DROP TABLESPACE 表空间名;
DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES;
【说明】
第一个删除语句只删除表空间;第二个删除语句则删除表空间及数据文件
示例:
DROPTABLESPACE test_ts;
DROPTABLESPACE test_ts INCLUDINGCONTENTSANDDATAFILES;