ORACLE 缩小数据文件
数据库服务器空间不足,数据库已经不用,但是不能删除。这能选择通过resize数据文件来释放空间
清空表内容,保留表结构;
truncate table <table name>;
方法一:这个针对是新的表空间,如果用了很久会出现表空间断层,无法回收空间
1. shrink表;
a. 开启row movement:alter talbe <table name> enable row movement;
b. 由于数据库停用使用:alter table <table name> shrink space compact;
c. 统计表信息:analyze table <table name> compute statistics;
2. resize数据文件:
a. 查看表空间剩余空间:select bytes/1024/1024 from dba_free_space where tablespace_name='<tablespace name>';
b. 根据剩余空间进行resize:alter database datafile '<datafile name>' resize <size>;
方法二:
1. 导出表结构
2. 删除原有表空间:
drop tablespace <tablespace name> including contents;
3. 新建表空间:
create tablespace <tablespace name> datafile '<datafile name>' size <size> autoextend on next <size>;
4. 新建表
Comments
Post a Comment