目录
- 一、方法一:使用dbms_space包的object_space_usage函数来查表大小情况。
- 二、方法二:查dba_extents视图。
- 三、方法三:查dba_segments视图。
- 总结
oracle查询表占用的空间(表大小)
一、方法一:使用dbms_space包的object_spa编程客栈ce_usage函数来查表大小情况。
上SQL:
DECLARE su NUMBER; sa NUMBER; cp NUMBER; BEGIN dbms_space.object_sjspace_usage('LOG' ,'BIG_TABLE' ,'TABLE' ,NULL ,su ,sa ,cp); dbms_output.put_line('Space Used: ' || to_char(su)); dbms_output.put_line('Space Allocated: ' || to_char(sa)); dbms_output.put_line('Chained Percentage: ' || to_char(cp)); END;
输出结果:
二、方法二:查dba_extents视图。
上SQL:
SELECTandroid segment_name "表名", segment_type "对象类型", sum(bytes) / 1024 / 1024 "占用空间(MB)" FROM dba_extents WHERE 1=1 -- AND segment_name = '表名' GROUpythonP BY segment_name, segment_type ORDER BY "占用空间(MB)" DESC;
三、方法三:查dba_segments视图。
上SQL:
SELECT owner, segment_name, segment_type, sum(bytes) / 1024 / 1024 "占用空间(MB)" FROM dba_segments WHERE 1=1 -- AND owner = '表所有者' GROUP BY owner, segment_name, segment_type ORDER BY "占用空间(MB)" DESC;
总结
到此这篇关于Oracle查询表占用的空间(表大小)的3种方法的文章就介绍到这了,更多相关Oracle查询表占用空间大小内容请搜索编程客栈(www.SxZcCRcppcns.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论