从物理上讲,数据库中的数据被存放在数据文件中,但是从逻辑上讲数据被存储在表空间中
一般情况下,一个数据库有SYSTEM,SYSAUX,TEMP,UNDOTBS,USER这几个表空间,其中系统数据就存放在系统表空间SYSTEM和SYSAUX中;而排序、汇总等产生的临时数据会被存放到TEMP表中;UNDOTBS表空间用来存放撤销数据,比如回滚操作产生的数据;USER表空间用来存放用户数据
1) 创建表空间
CREATE UNDO TABLESPACE ly_undo
DATABASE ‘e:\ly_undo.dbf’ SIZE 4M
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
创建表空间时,有两种区分配方式——自动分配(ALLOCATE)和统一分配(UNIFORM)
创建撤销表空间不可以指定统一区大小选项
CREATE BIGFILE TABLESPACE ly_bigfile
DATABASE ‘e:\ly_bigfile.dbf’ SIZE 2M
SEGMENT SPACE MANAGEMENT AUTO;
2) 添加数据文件并使其自动扩展
ALTER TABLESPACE ly_undo
ADD DATAFILE ‘e:\ly_undo1.dbf’ SIEZE 1M
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
3) 修改表空间状态
表空间具有可读写性和在线性。当需要将表空间中的数据做归档时,就需要将该表空间修改为脱机状态,完成归档后需要将其修改为在线状态,否则该表空间不可用
ALTER TABLESPACE t1 READ ONLY;
ALTER TABLESPACE t1 READ WRITE;
ALTER TABLESPACE t1 OFFLINE; ——SYSTEM表空间不可OFFLINE
ALTER TABLESPACE t1 ONLINE;
4) 删除表空间
DROP TABLESPACE t1 INCLUDING CONTENTS AND DATAFILES;
其实这一章总觉着和一开始看的表空间管理其实是一样的……