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;
本文来自博客园,作者:VipSoft 转载请注明原文链接:https://www.cnblogs.com/vipsoft/p/9516945.html