
描述:每个数据文件上限是32G,可是我已经增加第5个数据文件了。总大小也只有66G,想问下为什么没有充分利用每个数据文件,然后再使用下一个?如何解决此问题?
多个数据文件默认是均衡的,这个也符合性能优化的目的。如果一定要实现你的想法:
1、等数据文件快满时在新增新文件
2、手工为对象预分配extent到指定数据文件
其实你的想法是反数据库优化理论的。
评论
有用 0就如我截图所示,表空间使用率已经95%啦。剩余使用空间只剩下3G啦,我需要继续新增数据文件吗? 我已经新增了4个数据文件,4*32=128G
评论
有用 0SELECT file_name,TABLESPACE_name,bytes,autoextensible FROM dba_data_files;
结果贴出来看看
评论
有用 0用我这个SQL查,应该可以看出最大可使用的
SELECT SUBSTR(a.TABLESPACE_NAME,1,30) TablespaceName,
round(SUM(a.bytes/1024/1024/1024),2) AS “Totle_size(G)”,
round(SUM(NVL(b.free_space1/1024/1024/1024,0)),2) AS “Free_space(G)”,
round(SUM(a.bytes/1024/1024/1024),2)-round(SUM(NVL(b.free_space1/1024/1024/1024,0)),2) AS “Used_space(G)”,
ROUND((SUM(a.bytes/1024/1024/1024)-SUM(NVL(b.free_space1/1024/1024/1024,0))) *100/SUM(a.bytes/1024/1024/1024),2) AS “Used_percent%”,
round(SUM((case when a.MAXBYTES = 0 then a.bytes else a.MAXBYTES end)/1024/1024/1024),2) AS “Max_size(G)”,
ROUND((SUM(a.bytes/1024/1024/1024)-SUM(NVL(b.free_space1/1024/1024/1024,0)))*100/SUM((case when a.MAXBYTES = 0 then a.bytes else a.MAXBYTES end)/1024/1024/1024),2) AS “Max_percent%”
FROM dba_data_files a,
(SELECT SUM(NVL(bytes,0)) free_space1,
file_id
FROM dba_free_space
GROUP BY file_id
) b
WHERE a.file_id = b.file_id(+)
GROUP BY a.TABLESPACE_NAME
ORDER BY “Used_percent%” desc;
评论
有用 0
这个已经使用百分比,96.67%,不是真实的吗?平时都是用这个脚本查看
查询分配空间的使用情况:
SELECT tablespace_name as 表空间,round((sum_alloc - nvl(sum_free,0))/1024/1024,1) as 已用空间M,round(sum_max/1024/1024,1) as 总大小M,round(100*(sum_alloc - nvl(sum_free,0))/sum_max,1) As 使用百分比 FROM ( SELECT tablespace_name, sum(bytes) AS sum_alloc, sum(decode(bytes,0,bytes,bytes)) AS sum_max FROM dba_data_files GROUP BY tablespace_name),( SELECT tablespace_name AS fs_ts_name, sum(bytes) AS sum_free FROM dba_free_space GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name(+) order by 使用百分比 desc;
评论
有用 0如果 autoextensible 是yes ,则表明数据文件会随着使用情况自动扩展
一般生产环境直接指定最大数据文件大小,并把 autoextensible 关闭,防止由于数据文件增长导致性能瓶颈
评论
有用 0我就想了解,到底以哪个参数作为指标。大概到90%的时候,我好及时扩容
评论
有用 0
墨值悬赏




