表占了更多的存储空间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中占用存储空间最多的表,有效优化表空间,为应用程序提供更多的存储空间。


数据运维技术 » 表占了更多的存储空间Oracle:查看占用存储空间最多的表(oracle查看哪些)