当前位置:首页>开发>正文

怎么查询Oracle中一张表占用空间 如何查看oracle表空间已使用大小

2023-05-18 00:47:22 互联网 未知 开发

 怎么查询Oracle中一张表占用空间 如何查看oracle表空间已使用大小

怎么查询Oracle中一张表占用空间

执行如下语句即可: select OWNER, t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) mmm
from dba_segments t
where t.owner = 你要查询的用户
and t.segment_type=TABLE
group by OWNER, t.segment_name, t.segment_type
order by mmm desc

如何查看oracle表空间已使用大小

1.查看所有表空间大小:
Sql代码 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name 2.已经使用的表空间大小: Sql代码 select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name 3. 所以使用空间可以这样计算: Sql代码 select a.tablespace_name,total,free,total-free used from ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) a, ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name

如何查看ORACLE表空间里面某一张表所占用的内存大小

每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。
段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。
sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name=表名。
解释:
segment_name 就是要查询的表名(大写),BYTES 为表存储所占用的字节数。本sql的意思就是查询出表名和表所占的存储空间大小。

oracle 如何查看表空间最大的大小

select tablespace_name,sum(maxbytes)/1024/1024/1024 from dba_data_files where tablespace_name=XXXXXX(大写,或者用upper)
如果要查看所有表空间的,那么就用group by分组解决。

oracle 查询出 表的空间大小 占用存储空间

这样的SQL,网上有很多,可能你搜的关键字不对。

select * from sys.dba_tablespaces

--查询表空间使用情况
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 1
--查询表空间的free space
select tablespace_name,
count(*) as extends,
round(sum(bytes) / 1024 / 1024, 2) as MB,
sum(blocks) as blocks
from dba_free_space
group by tablespace_name
--查询表空间的总容量
select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name
--查询表空间使用率
select total.tablespace_name,
round(total.MB, 2) as Total_MB,
round(total.MB - free.MB, 2) as Used_MB,
round((1 - free.MB / total.MB) * 100, 2) || % as Used_Pct
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_free_space
group by tablespace_name) free,
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name) total
where free.tablespace_name = total.tablespace_name

如何查看oracle中某个用户占用表空间大小情况

可以通过以下语句查看所有的表空间大小:
sql:SELECT C.TABLESPACE_NAME,A.BYTES/1048576 MEGS_TOTAL,(A.BYTES-B.BYTES)/1048576 MEGS_USED,
B.BYTES/1048576 MEGS_FREE,(A.BYTES-B.BYTES)/A.BYTES * 100 PCT_USED, B.BYTES/A.BYTES * 100 PCT_FREE
FROM (SELECT TABLESPACE_NAME,SUM(A.BYTES) BYTES,MIN(A.BYTES) MINBYTES,MAX(A.BYTES) MAXBYTES FROM SYS.DBA_DATA_FILES A
GROUP BY TABLESPACE_NAME) A,(SELECT A.TABLESPACE_NAME,NVL(SUM(B.BYTES),0) BYTES
FROM SYS.DBA_DATA_FILES A,SYS.DBA_FREE_SPACE B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME ( ) AND A.FILE_ID = B.FILE_ID ( )
GROUP BY A.TABLESPACE_NAME) B,SYS.DBA_TABLESPACES C
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME( ) AND A.TABLESPACE_NAME = C.TABLESPACE_NAME ORDER BY 6
备注:如果是查询特定的可以在外面在嵌套一层select * from(sql)t1 where t1.TABLESPACE_NAME=表空间名称的形式即可。

怎么查oracle那个表空间占用空间比较大

--查询表空间使用情况
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 1
--查询表空间的free space
select tablespace_name,
count(*) as extends,
round(sum(bytes) / 1024 / 1024, 2) as MB,
sum(blocks) as blocks
from dba_free_space
group by tablespace_name

--查询表空间的总容量
select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name

--查询表空间使用率
select total.tablespace_name,
round(total.MB, 2) as Total_MB,考试大论坛
round(total.MB - free.MB, 2) as Used_MB,
round((1 - free.MB / total.MB) * 100, 2) || % as Used_Pct
from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_free_space
group by tablespace_name) free,
(select tablespace_name, sum(bytes) / 1024 / 1024 as MB
from dba_data_files
group by tablespace_name) total
where free.tablespace_name = total.tablespace_name

oracle中如何查看一个表所占空间的大小,用一条sql

每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息,例:
SELECT segment_name AS TABLENAME,BYTES B,BYTES/1024 KB,BYTES/1024/1024 MB FROM user_segments WHERE segment_name=EP_SC106

如何在Oracle中查看各个表,表空间占用空间的大小

在Oracle中查看各表及表空间占用空间大小可用sql语句执行查看。
Oracle版本:Oracle 10g
一、查看表占用空间大小语句:
select t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) "占用空间(M)"from dba_segments twhere t.segment_type=TABLEgroup by OWNER, t.segment_name, t.segment_type查询结果:

二、查看表空间占用空间大小语句:
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc查询结果:

如何查看ORACLE表空间里面某一张表所占用的内存大小

Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name
这个命令可以查看oracle的所有表空间大小。
引用 http://wenwen.sogou.com/z/q660026673.htm

最新文章