oracle基本查询问题
想看看表空间的使用情况,结果在网上搜了一下出来好多都是这东西,不理解,求解释
查看表物理文件大小:select segment_name,bytes/1024/1024 from user_segments/dba_segments;
这个地方我想查询单个表的物理文件大小该怎么查啊,上面的是全部(segment_name,这个字段是上面意思啊)
查看表空间使用情况的SQL语句:
SELECT
a.tablespace_name "表空间名",
total 表空间大小,
free 表空间剩余大小,
(total-free) 表空间使用大小,
ROUND((total-free)/total,4)*100 "使用率 %"
FROM
(SELECT tablespace_name,SUM(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name ) a,
(SELECT tablespace_name,SUM(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name) b
WHERE a.tablespace_name=b.tablespace_name
查看表空间使用情况的语句为什么用到子查询啊
路过的朋友支招啊
------解决方案--------------------
主要的是搞懂这几个系统视图的含义。
DBA_FREE_SPACE 计算数据文件、表空间剩余空间大小
DBA_DATA_FILES 计算数据文件定义的大小
DBA_SEGMENTS 计算段使用的大小
计算表的大小:
select segment_name,bytes/1024/1024 from user_segments group by segment_name
简单的方式,百度这几个视图