首页 > 数据库 > Oracle > Oracle Resize
datafile,tempfile,undo空间使用过大时可以通过
resize将空间回收到
高水位线附近(不低于高水位);
其中表段,索引段存在高水位线,表空间的高水位线就是所有表段,索引段等高水位线的最大值;
---查看所有数据文件,undo文件
占用空间大小(filesize),
空闲空间大小(freesize),
使用空间大小(usedsize),
高水位线(hwmsize),
可以回收的空间(canshirnksize),
回收resize语句(cmd)
select a.file_id,
a.file_name,
a.filesize,
b.freesize,
(a.filesize - b.freesize) usedsize,
c.hwmsize,
c.hwmsize - (a.filesize - b.freesize) unsedsize_belowhwm,
a.filesize - c.hwmsize canshrinksize,
'alter database datafile ' || a.file_name || ' resize ' || c.hwmsize || 'M;' cmd
from (select file_id, file_name, round(bytes / 1024 / 1024) filesize
from dba_data_files) a,
(select file_id, round(sum(dfs.bytes) / 1024 / 1024) freesize
from dba_free_space dfs
group by file_id) b,
(select file_id, round(max(block_id) * 8 / 1024) HWMsize
from dba_extents
group by file_id) c
where a.file_id = b.file_id
and a.file_id = c.file_id
order by unsedsize_belowhwm desc;
http://blog.itpub.net/6517/viewspace-536246
欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29785807/viewspace-2094469/ ,如需转载,请注明出处,否则将追究法律责任。