千家信息网

回收数据库表空间的一个思路

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,有些项目比较小,硬盘空间也只有40多G,加上无人维护,久而久之就出现了硬盘空间告警的问题。经过查看之后,发现有些数据文件一开始就设置成2G,但实际可能就只使用了100M左右。为了解决硬盘空间告警的问题
千家信息网最后更新 2026年10月31日回收数据库表空间的一个思路

有些项目比较小,硬盘空间也只有40多G,加上无人维护,久而久之就出现了硬盘空间告警的问题。经过查看之后,发现有些数据文件一开始就设置成2G,但实际可能就只使用了100M左右。为了解决硬盘空间告警的问题,就想到了重置数据文件大小的方法。

第一步是查看各个表空间的适用率,找出可以缩小的数据文件。

--查看表空间使用率,找到闲置的表空间

SELECT Upper(F.TABLESPACE_NAME) "表空间名",

D.TOT_GROOTTE_MB "表空间大小(M)",

D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')

|| '%' "使用比",

F.TOTAL_BYTES "空闲空间(M)",

F.MAX_BYTES "最大块(M)"

FROM (SELECT TABLESPACE_NAME,

Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,

Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES

FROM SYS.DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) F,

(SELECT DD.TABLESPACE_NAME,

Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB

FROM SYS.DBA_DATA_FILES DD

GROUP BY DD.TABLESPACE_NAME) D

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

ORDER BY 4 desc;


第二步是查看所选择的表空间数据文件的高水位线,以USERS表空间为例。

-- 查找表空间的高水线

SELECT *

FROM (SELECT /*+ ordered use_hash(a,b,c) */

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

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)

WHERE file_id IN (SELECT file_id

FROM dba_data_files

WHERE tablespace_name = 'USERS')

ORDER BY file_id;

第三步是使用管理员账号登录,执行:

alter database datafile file_id resize N M/G;-- N 为任意整数

alter database datafile file_id autoextend on next 100M maxsize 1G;

通过以上3个步骤,就可以临时解决磁盘空间告警的问题。




空间 数据 文件 硬盘 问题 大小 水位 水位线 最大 久而久之 使用率 只有 实际 整数 方法 步骤 水线 磁盘 空闲 管理员 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技活动banner 广州互联网科技公司 易互联网科技有限公司 互联网科技公司怎么样 银优互联网科技有限公司 互联网科技上市公司 北京华百购互联网科技有限公司 搜狐科技互联网 深圳市罗太互联网科技有限公司 互联网金融科技名词解释 互联网科技圈年度人物 互联网金融科技元年 黑科技 体验场景 互联网大会 互联网相关科技技术 富国互联网科技002692 福仕德教育科技互联网 求路客互联网科技电话 恒生科技指数 中概互联网 盐城市攀科互联网科技有限公司 华服互联网科技怎么样 厦门中拓互联网络科技有限公司 凡科互联网科技 哈尔滨新华互联网科技学院 辽宁互联网新科技 上海钢联属于互联网科技股吗 本届互联网大会上的黑科技 广州有谷有贝互联网科技有限公司 互联网时代科技型公司的机会 互联网科技企业文化
0