表占了更多的存储空间Oracle:查看占用存储空间最多的表(oracle查看哪些)
Oracle中查看占用存储空间最多的表,可以通过查询“dba_segments”视图和“user_segments”视图来实现。dba_segments视图提供所有用户的所有对象的存储信息,user_segments视图提供当前用户拥有的存储信息。具体查询语句如下:
–查看所有用户占用存储空间最大的表
Select Owner, Segment_Name,
Sum(bytes)/1024/1024 as megabytes
From Dba_Segments
Where segment_type=’TABLE’
Group by Owner, Segment_Name
Order By megabytes desc
–查询当前用户占用存储空间最大的表
Select Owner, Segment_Name,
Sum(bytes)/1024/1024 as megabytes
From User_Segments
Where segment_type=’TABLE’
Group by Owner, Segment_Name
Order By megabytes desc
Oracle中查看占用存储空间最多的表,还可以使用Oracle的“Tablespace REPORT”报表功能,通过SQL*Plus 即可查看每个表空间中表的大小。这段SQL 语句:
Select a.tablespace_name, a.bytes/1024/1024 Total_Space_MB,
b.bytes/1024/1024 Used_space_MB,
Round(((b.bytes/a.bytes) * 100),2)|| ‘%’ used_percent
From (Select tablespace_name, Sum(bytes) bytes From Dba_Data_Files group by tablespace_name) a,
( Select tablespace_name, Sum(bytes) bytes From Dba_segments group by tablespace_name) b
Where a.tablespace_name=b.tablespace_name
Order By 4 desc;
即可查看当前用户占用存储空间最多的表,并显示总空间大小、已使用大小和已使用百分比,方便用户进行表空间容量的管理。
通过上述方法,可以轻松查看Oracle中占用存储空间最多的表,有效优化表空间,为应用程序提供更多的存储空间。