oracle查询表空间占用sql

查询表空间占用

SELECT
	tablespace_name "表空间名",
	100 "已使用空间(MB)",
	0 "剩余空间(MB)",
	100 "总的预分配空间(MB)",
	100 || '%' "已使用百分比",
	0 || '%' "剩余百分比"
FROM
	(
	SELECT
		tablespace_name
	FROM
		dba_tablespaces
	WHERE
		contents = 'PERMANENT'
MINUS
		SELECT
			DISTINCT tablespace_name
		FROM
			dba_free_space )
UNION ALL
SELECT
	fs.tablespace_name "表空间名",
	(df.totalspace - fs.freespace) "已使用空间(MB)",
	fs.freespace "剩余空间(MB)",
	df.totalspace "总的预分配空间(MB)",
	round(100 *((df.totalspace - fs.freespace)/ df.totalspace), 2)|| ' %' "已使用百分比",
	round(100 *(1-(df.totalspace - fs.freespace)/ df.totalspace), 2)|| ' %' "剩余百分比"
FROM
	(
	SELECT
		tablespace_name,
		round(sum(bytes)/ 1048576) Totalspace
	FROM
		dba_data_files
	GROUP BY
		tablespace_name
) df,
	(
	SELECT
		tablespace_name,
		round(sum(bytes)/ 1048576) Freespace
	FROM
		dba_free_space
	GROUP BY
		tablespace_name
) fs
WHERE
	df.tablespace_name = fs.tablespace_name;

 

posted @   许孟  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示