表空间

一、表空间概念

oracle 表空间是一个逻辑概念,创建时需要指定物理文件,及实际数据分配磁盘空间,一个数据库由多个表空间组成,一个表空间可以对应多个数据文件

二、 表空间的分类

表空间包含3种表空间:永久表空间、临时表空间、undo表空间

永久表空间:用于存储永久化存放的东西,如:表、视图

临时表空间:用于存储数据库操作当中中间执行的过程,当执行结束自动释放数据(系统自带的临时表空间TEMP)

undo表空间:用于保存事务所修改数据的旧值,被修改之前的数据,可以对数据进行回滚及撤销操作(系统自带的undo表空间UNDOTBS1)

备注:普通用户一般默认的表空间为USERS,sys和system用户默认的表空间为SYSTEM

修改用户默认或临时表空间 :alter user 用户名 default|temporary tablespace 表空间名;例如:alter user scott default tablespace system;(管理员才有权更改)

查看用户的默认表空间和临时表空间可以在数据字典dba_users中查看,查看当前用户的信息可在user_users中查看

三、表空间的创建

3.1 、永久|临时表空间的创建永久表空间:create tablespace 表空间名 datafile 文件名 size 文件大小(文件后缀名为.dbf,若要一次性创建多个数据文件,文件大小后用逗号隔开)

临时表空间:create temporary tablespace 表空间名 tempfile 文件名 size 文件大小(文件后缀名为.dbf)

例如:create tablespace test1 datafile 'test1file.dbf' size 10m;

create temporary tablespace temptest1 tempfile 'temptest1file.dbf' size 10m;

create tablespace test1 datafile 'test1file.dbf' size 10m,'test2file.dbf' size 10m;

数据字典:dba_data_files(永久表空间)dba_temp_files(临时表空间)

3.2、 数据文件的扩展

数据文件的扩展:create tablespace 表空间名 datafile 文件名 size 文件大小 autoextend on

关闭数据文件扩展:create tablespace 表空间名 datafile 文件名 size 文件大小 autoextend off

例如:create tablespace test1 datafile 'test1file.dbf' size 10m autoextend on;create tablespace test1 datafile 'test1file.dbf' size 10m autoextend off;

3.3、扩展的长度及最大尺寸

指定数据文件的增长长度及最大尺度:create tablespace 表空间名 datafile 文件名 size 文件大小 autoextend on next 增长长度         maxsize 最大尺度

例如:create tablespace test1 datafile 'test1file.dbf' size 10m autoextend on next 5m maxsize 500m;

若不限制最大尺寸,maxsize 设置为unlimited例如:create tablespace test1 datafile 'test1file.dbf' size 10m autoextend on next 5m maxsize unlimited;

四、表空间的修改

4.1、表空间名字修改修改表空间名:alter tablespace 旧表空间名 rename to 新表空间名

例如:alter tablespace test1 rename to test2;

4.2、表空间状态修改设置联机或脱机状态

设置联机状态(默认读写状态):alter tablespace 表空间名online

设置脱机状态:aleter tablespace 表空间名 offline

例如: alter tablespace test1 offline;

alter tablespace test1 online;

设置只读或可读写状态(必须联机状态)

设置只读状态:alter tablespace 表空间名 read only

设置可读写状态:alter tablespace 表空间名 read write

例如: alter tablespace test1 read only;

alter tablespace test1 read write;备注: 在数据字典dba_tablespaces中查看修改的状态4.3、数据文件修改

增加数据文件:alter tablespace 表空间名 add datafile '文件名' size 文件大小

删除数据文件:alter tablespace 表空间名 drop datafile '文件名' (不能删除第一个数据文件,若要删除第一个数据文件,必须删除整个表空间)

例如:alter tablespace test1 add datafile 'addtest1.dbf' size 10m;alter tablespace test1 drop datafile 'addtest1.dbf';五、表空间的删除

只删除表空间,不删除数据文件:drop 表空间名

删除表空间和数据文件:drop 表空间名 including contents and datafiles例如:drop tablespace test1;

drop tablespace test1 including contents and datafiles;

备注:涉及到的数据字典有:dba_tablespaces、user_tablespaces、dba_data_files、dba_temp_files、dba_users、user_users

你可能感兴趣的:(表空间)