微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle:如何找出表使用的存储空间?

如何找出(如果可能通过企业管理器),某个表正在使用的Mb总量?
通过OEM 10g,

>照常连接到数据库
>单击“架构”选项卡
>在数据库对象中的表链接
>输入架构名称和对象名称(可选),然后单击“执行”
>使用单选按钮选择要查看的表,然后单击编辑(不要单击表名链接)
>单击“细分”选项卡(等待…)
>您将看到表数据的大小和使用的索引.

好的,技术上回答了你的问题.但更好的方法是:

>使用sqlPLUS登录
>从vincent运行脚本.

我喜欢将脚本保存为t.sql作为快速参考

COLUMN size_mb      FORMAT '999,999,990.0'
COLUMN num_rows     FORMAT '999,990'
COLUMN fmt_short    FORMAT A24


COLUMN owner        FORMAT A16
COLUMN table_name   LIKE fmt_short
COLUMN tablespace_name  LIKE fmt_short

SET LInesIZE 200
SET AUTOTRACE OFF

COmpuTE SUM OF size_mb ON REPORT
BREAK ON REPORT

SELECT 
    lower( owner )      AS owner,lower(table_name)  AS table_name,tablespace_name,num_rows,blocks*8/1024      AS size_mb,pct_free,compression,logging
FROM    all_tables 
WHERE   owner           LIKE UPPER('&1')
OR  owner           = USER
ORDER BY 1,2;

CLEAR COmpuTES
CLEAR BREAKS

原文地址:https://www.jb51.cc/oracle/205432.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐