Oracle 管理表空间

修改用户的默认表空间
alter user 用户名 default tablespace 表空间
此时,该用户原有的表不会自动放到新的表空间里.新建的表才会放到当前用户的默认表空间里.

移动表到表空间
alter table move 表空间
移动完表后,此时主键的索引处于unusable状态,表不能插入记录,外键依然有效.要重建索引,主键,唯一性约束.
表中有LOB字段的,不能用move.

修改表空间大小
1.为表空间增加数据文件(适用于刚建立的表空间)
alter tablespace 表空间 add datafile 'E:\oracle\product\10.2.0\oradata\orcl\数据文件.dbf' size 100M;
2.增加表空间原有数据文件大小(适用于表空间中已有数据文件)
alter database datafile 'E:\oracle\product\10.2.0\oradata\orcl\数据文件.dbf' resize 1000M;

删除表空间
前提: 删除表空间之前要确认该表空间没有被其他用户使用;
drop tablespace 表空间 including contents and datafiles cascade constraints;
including contents: 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉.
including datafiles: 删除表空间中的数据文件
cascade constraints: 删除tablespace中表的外键参照

自动扩展表空间
select * from DBA_DATA_FILES查看数据库中的表空间状态,其中AUTOEXTENSIBLE为是否自动扩展.
关闭自动扩展: alter database datafile 'xxx.dbf' autoextend off;
开启自动扩展: alter database datafile 'xxx.dbf' autoextend on next 10m;


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