,有些项目比较小,硬盘空间也只有40多克,加上无人维护,久而久之就出现了硬盘空间告警的问题。经过查看之后,发现有些数据文件一开始就设置成2 G,但实际可能就只使用了100米左右。为了解决硬盘空间告警的问题,就想到了重置数据文件大小的方法。
<强>第一步是查看各个表空间的适用率,找出可以缩小的数据文件。强>
——查看表空间使用率,找到闲置的表空间
选择上(F.TABLESPACE_NAME),,,,“表空间名”,
,,,D。TOT_GROOTTE_MB,,,,,,,,“表空间大小(M)”,
,,,D。TOT_GROOTTE_MB - F。TOTAL_BYTES”已使用空间(M)”,
,,,To_char(圆((D。TOT_GROOTTE_MB - F。TOTAL_BYTES)/D。TOT_GROOTTE_MB * 100, 2),“990.99”)
,,,,| |‘%’,,,,,,,,,,,,,“使用比”,
,,,F。TOTAL_BYTES,,,,,,,,,,“空闲空间(M)”,
,,,F。MAX_BYTES,,,,,,,,,,,“最大块(M)“
,(选择TABLESPACE_NAME,
,,,,,,,,圆(总和(字节数)/(1024 * 1024),2)TOTAL_BYTES,
,,,,,,,,圆(Max(字节数)/(1024 * 1024),2)MAX_BYTES
,,,,从,SYS.DBA_FREE_SPACE
,,,,组,由TABLESPACE_NAME) F
,,,,(选择DD.TABLESPACE_NAME,
,,,,,,,,圆(总和(DD.BYTES)/(1024 * 1024), 2) TOT_GROOTTE_MB
,,,,从,SYS。DBA_DATA_FILES DD
,,,,组,由DD.TABLESPACE_NAME) D
, D。TABLESPACE_NAME=F。TABLESPACE_NAME
订单,由4 desc;
<强>第二步是查看所选择的表空间数据文件的高水位线,以用户表空间为例。强>
——查找表空间的高水线
SELECT *
,,,从(选择/* +命令use_hash (a, b, c) */
,,,,,,a.file_id,
,,,,,,a.file_name,
,,,,,,a.filesize,
,,,,,,b.freesize,
,,,,,,(一个。文件大小- b.freesize) usedsize,
,,,,,,c。hwmsize,高水位线
,,,,,,c。hwmsize - (a。文件大小- b.freesize) unsedsize_belowhwm,
,,,,,,一个。文件大小- - - c。hwmsize canshrinksize
,,,,,,,(选择file_id,
,,,,,,,,,,,,,file_name,
,,,,,,,,,,,,,轮(字节/1024/1024)文件大小
,,,,,,,,,,,从dba_data_files),
,,,,,,,,,(选择file_id轮(SUM (dfs.bytes)/1024/1024) freesize
,,,,,,,,,,,从dba_free_space dfs
,,,,,,,,,,集团通过file_id) b,
,,,,,,,,,(选择file_id轮(MAX (block_id) * 8/1024) HWMsize
,,,,,,,,,,,从dba_extents
,,,,,,,,,,集团通过file_id) c
,,,,,,一个地方。file_id=b.file_id
,,,,,,,和一个。file_id=c.file_id
,,,,,,ORDER BY unsedsize_belowhwm DESC)
,,在file_id(选择file_id
,,,,,,,,,,,,从dba_data_files
,,,,,,,,,,,,tablespace_name=坝没А?
,,ORDER BY file_id;
<强>第三步是使用管理员账号登录,执行:强>
改变数据库丢失file_id调整N M/G;——N为任意整数
改变数据库丢失file_id autoextend未来100 M最大容量1 G;
通过以上3个步骤,就可以临时解决磁盘空间告警的问题。