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

时间:2024-01-01 11:28:15

查看表空间的使用情况:

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

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

回收表空间数据文件

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

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

执行回收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 回收表空间的数据文件大小