数据文件resize回收空间

问题描述:有一个数据文件缩容的需求,提前测试下,回收完要做表压缩的操作

 

1.查询可以resize的数据文件

复制代码
select a.file#,
a.name,
c.tablespace_name,
round(a.bytes/1024/1024) CurrentMB,
ceil(HWM *a.block_size)/1024/1024 ResizeTo,
(a.bytes - HWM*a.block_size)/1024/1024 ReleaseMB,
'alter database datafile ' || a.FILE# || ' resize ' ||
round(ceil(HWM*a.block_size)/1024/1024+5)||'M;' ResizeCmd
 from v$datafile a,
(SELECT file_id,MAX(block_id+blocks-1) HWM
FROM DBA_EXTENTS
GROUP BY file_id) b,
dba_data_files c
 where a.file# = b.file_id(+)
And (a.bytes - HWM * a.block_size) >0
and a.FILE#=c.file_id
and c.tablespace_name not in ('SYSTEM','SYSAUX')
and c.tablespace_name not like '%UNDO%'
 order by 6 desc;
复制代码

 

 

 

2.查询数据文件的大小

select file_name,bytes/1024/1024/1024 as GB from dba_data_files

 

 

 

 

3.进行数据文件resize的回收

alter database datafile 4 resize 1363M;
alter database datafile 8 resize 574M;
alter database datafile 7 resize 6M;
alter database datafile 9 resize 6M;
alter database datafile 6 resize 16M;
alter database datafile 5 resize 318M;

 

 

3.查看数据文件大小,可以看到数据文件已经变小

select file_name,bytes/1024/1024/1024 as GB from dba_data_files

 

posted @   我爱睡莲  阅读(168)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
点击右上角即可分享
微信分享提示