• ORACLE获取表所占用空间大小计算和展示


     ORACLE获取表所占用空间大小计算和展示

    1. 脚本:

                    SELECT s.segment_name,
                           decode(SUM(BYTES), null, 0, SUM(BYTES) / 1024)
                      FROM DBA_SEGMENTS S, dba_tables t
                     where s.owner = 'you segment owner'
                       and t.owner = 'your table owner'
                       and s.segment_name = t.table_name
                       and s.blocks is not null
                       and s.blocks > 0
                     group by s.segment_name
                    having SUM(BYTES) > 0

                    其中有些表的大小为表初始大小,尽管数据行为0,也能包含在其中,因为之前的行被删除,高水位线没下来。

                    如果要快速计算表大概拥有的行数可以通过DBA_SEGMENTS 中的blocks汇总值和抽样的blocks中的平均行数的乘积来确定。

      2、格式化:

                   将查询的数据导入Excel,在Excel2007中对数据表大小格式化显示公式:

                  =IF(C15555<1024,CONCATENATE(C15555,"k"),IF((C15555<1024*1024),CONCATENATE(C15555/1024,"M"),IF((C15555<1024*1024*1024),CONCATENATE(C15555/1024/1024,"G"),C15555)))

                   其中C15555为表占空间大小,单位为K,在Excel 2003中公式只支持7层函数嵌套。

                   如:                


     

  • 相关阅读:
    通过 VB5 创建 ActiveX DLL 文件并用 ASP 调用一例
    Autocad VBA初级教程
    自学资料第一集
    Linux虚拟化:10个不得不爱的理由
    EXCEL VBA编程的一些小结
    FAQ 工作薄及工作表
    很重要的EXCEL使用技巧
    Excel VBA编程的常用代码
    VBA生成一个CorelDraw工具栏
    支付宝,网银在线,快钱 3大支付接口的集成与对比,统合实现
  • 原文地址:https://www.cnblogs.com/zzj8704/p/1270356.html
Copyright © 2020-2023  润新知