oracle 回收表空间的数据文件大小

Posted 阿 军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 回收表空间的数据文件大小相关的知识,希望对你有一定的参考价值。

查看表空间的使用情况:

select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB", 
round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" 
from 
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, 
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b 
where a.tablespace_name=b.tablespace_name 
order by ((a.bytes-b.bytes)/a.bytes) desc 

回收表空间数据文件

select   \'alter database datafile \'\'\'||a.file_name||\'\'\' resize \'    ||round(a.filesize - (a.filesize - c.hwmsize-100) *0.8)||\'M;\',  
a.filesize,c.hwmsize
from ( select file_id,file_name,round(bytes/1024/1024) filesize from dba_data_files ) a, ( select file_id,round(max(block_id)*8/1024) HWMsize from dba_extents group by file_id) c where a.file_id = c.file_id and a.filesize - c.hwmsize > 100

 

 

 执行回收reize数据文件的sql

alter database datafile \'/home/oracledb/dbf/data_rhipgz.dbf\' resize 2816M;
alter database datafile \'/home/oracledb/dbf/medical_supplies_demo.dbf\' resize 126M;
alter database datafile \'/home/oracledb/dbf/ids_test.dbf\' resize 118M;
alter database datafile \'/home/oracle/oracledb/oracledb/dbf/cis_pharmacy.dbf\' resize 3646M;
alter database datafile \'/u01/app/oracle/oradata/orcl/data_pivas_nj.dbf\' resize 2177M;
alter database datafile \'/home/oracledb/dbf/medical_supplies_demo2.dbf\' resize 172M;
alter database datafile \'/home/oracledb/dbf/DATA_CIS_TEST_04.dbf\' resize 28703M;
alter database datafile \'/home/oracledb/dbf/DATA_CIS_TEST_07.dbf\' resize 28754M;
alter database datafile \'/home/oracledb/dbf/rhip.dbf\' resize 105M;
alter database datafile \'/home/oracledb/dbf/hip_tend.dbf\' resize 1529M; 

 

以上是关于oracle 回收表空间的数据文件大小的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 删除表空间回收磁盘空间

怎么修改mysql数据库临时表空间大小

Oracle移除表空间的数据文件 ora-00604 ora-01426

oracle dmp文件与表空间大小的问题

oracle数据库如何增加表空间的大小?

表空间回收操作判断