表空间

作者: lingoling | 来源:发表于2017-11-04 12:06 被阅读0次

    一、表空间概念

    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

    相关文章

      网友评论

          本文标题:表空间

          本文链接:https://www.haomeiwen.com/subject/rjufmxtx.html