Skip to content

有害部落格同好會

2013/08/06 / Database

How do I calculate tables size in Oracle

資料來源: 這裡

SELECT owner,
       table_name,
       TRUNC(SUM(tb_bytes) / 1024 / 1024) meg,
       TRUNC(SUM(idx_bytes) / 1024 / 1024) idx_meg,
       TRUNC(SUM(lob_bytes) / 1024 / 1024) lob_meg,
       TRUNC(SUM(lob_idx_bytes) / 1024 / 1024) lob_idx_meg
  FROM (SELECT segment_name table_name,
               owner,
               bytes        tb_bytes,
               0            idx_bytes,
               0            lob_bytes,
               0            lob_idx_bytes
          FROM dba_segments
         WHERE segment_type = 'TABLE'
               AND owner IN ('XX', 'APPS', 'GIB')
        UNION ALL
        SELECT i.table_name, i.owner, 0, s.bytes, 0, 0
          FROM dba_indexes i, dba_segments s
         WHERE s.segment_name = i.index_name
               AND s.owner = i.owner
               AND s.segment_type = 'INDEX'
               AND i.owner IN ('XX', 'APPS', 'GIB')
        UNION ALL
        SELECT l.table_name, l.owner, 0, 0, s.bytes, 0
          FROM dba_lobs l, dba_segments s
         WHERE s.segment_name = l.segment_name
               AND s.owner = l.owner
               AND s.segment_type = 'LOBSEGMENT'
               AND l.owner IN ('XX', 'APPS', 'GIB')
        UNION ALL
        SELECT l.table_name, l.owner, 0, 0, 0, s.bytes
          FROM dba_lobs l, dba_segments s
         WHERE s.segment_name = l.index_name
               AND s.owner = l.owner
               AND s.segment_type = 'LOBINDEX'
               AND l.owner IN ('XX', 'APPS', 'GIB'))
-- WHERE owner IN upper('&owner')
 GROUP BY table_name, owner
HAVING SUM(tb_bytes) / 1024 / 1024 > 5 /* Ignore really small tables */
 ORDER BY SUM(tb_bytes) DESC;

SELECT owner, table_name, trunc(SUM(tb_bytes) / 1024 / 1024) meg, trunc(SUM(idx_bytes) / 1024 / 1024) idx_meg, trunc(SUM(lob_bytes) / 1024 / 1024) lob_meg, trunc(SUM(lob_idx_bytes) / 1024 / 1024) lob_idx_meg FROM (SELECT segment_name table_name, owner, bytes tb_bytes, 0 idx_bytes, 0 lob_bytes, 0 lob_idx_bytes FROM dba_segments WHERE segment_type = 'TABLE' AND owner IN ('XX', 'APPS', 'GIB') UNION ALL SELECT i.table_name, i.owner, 0, s.bytes, 0, 0 FROM dba_indexes i, dba_segments s WHERE s.segment_name = i.index_name AND s.owner = i.owner AND s.segment_type = 'INDEX' AND i.owner IN ('XX', 'APPS', 'GIB') UNION ALL SELECT l.table_name, l.owner, 0, 0, s.bytes, 0 FROM dba_lobs l, dba_segments s WHERE s.segment_name = l.segment_name AND s.owner = l.owner AND s.segment_type = 'LOBSEGMENT' AND l.owner IN ('XX', 'APPS', 'GIB') UNION ALL SELECT l.table_name, l.owner, 0, 0, 0, s.bytes FROM dba_lobs l, dba_segments s WHERE s.segment_name = l.index_name AND s.owner = l.owner AND s.segment_type = 'LOBINDEX' AND l.owner IN ('XX', 'APPS', 'GIB')) -- WHERE owner IN upper('&owner') GROUP BY table_name, owner HAVING SUM(tb_bytes) / 1024 / 1024 > 5 /* Ignore really small tables */ ORDER BY SUM(tb_bytes) DESC;

Post navigation

Previous Post:

Oracle ERP ZOOM按鈕開發

Next Post:

在 chrome執行 Oracle EBS R12 / 11i (修正版)

分類

  • 新奇有趣の搶先報導
    • Raspberry Pi
    • 手機相關
    • 推薦軟體
    • 新鮮有趣
    • 生活資訊
  • 想破腦袋の程式技巧
    • Oracle EBS
    • Database
    • Excel, VBA
    • php
    • JavaScript, VBScript
    • VS.NET
    • Others
    • Windows
    • SAP
  • 撩動心弦の短文小品
  • 聚沙成塔の理財守則
  • 不可不知の職場實錄
  • 剎那永恆の生活翦影

近期文章

  • 受保護的內容: 如何透過Personalize功能呼叫另一form來回傳值
  • Win10 / 8 / 7 無法安裝 SSD
  • 受保護的內容: 樹梅派+遠端連線
  • EBS R12 取得客戶的phone, email, URL資料
  • 受保護的內容: 管控Workflow Administrator Role

友站

  • Masaya396's 協奏曲
  • 老塗的咁仔店

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

Tag Cloud

你目前使用的瀏覽器不支援 HTML5 的 CANVAS 標籤。

  • CSS
  • LDAP
  • EBS 11.5.10
  • SQL
  • EBS 12.1.3
  • HTC
  • VB6
  • 管理
  • VBA
  • SAP
  • MySql
  • excel
  • 感情
  • Win7
  • php
  • Oracle DB
  • Oracle EBS
  • WinXP
  • javascript
  • VB.Net
© 2025 有害部落格同好會 - Powered by SimplyNews