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

Popular posts from this blog

Nginx Proxy & Load Balance & LNMP

Snort+barnyard2+Snorby CentOS 6.5_64 Installation

ORACLE Error