Oracle

Oracle:如何找出表使用的儲存空間?

  • November 12, 2019

如何找出(如果可能通過企業管理器)某個表正在使用的總 Mb?

通過 OEM 10g,

  1. 像往常一樣連接到數據庫
  2. 點擊Schema選項卡
  3. Tables在數據庫對象內的連結上
  4. 輸入架構名稱和對象名稱(可選)並點擊Go
  5. 使用單選按鈕選擇要查看的表並點擊Edit (不要點擊表名連結)
  6. 點擊Segments選項卡*(並等待…)*
  7. 您將看到表數據的大小和使用的索引。

好的,這在技術上回答了你的問題。但更好的方法是:

  1. 使用 SQLPLUS 登錄
  2. 從文森特執行腳本。

我喜歡將腳本保存t.sql為快速參考

COLUMN size_mb      FORMAT '999,999,990.0'
COLUMN num_rows     FORMAT '999,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://serverfault.com/questions/132620