Oracle查看錶空間使用率SQL指令碼

來源:互聯網
上載者:User

  資料庫使用了一段時間有時候突然會爆出表沒有足夠的空間,一般來說是使用者配額空間滿了,或者是資料表空間、磁碟空間滿了。大部分情況還是資料表空間滿了。

  如果你經常看資料庫的警示日誌(日誌位置$find /u01 -iname "alert*.log")和OEM上的資訊很容易發現警告或者錯誤資訊。但是我們大部分項目沒有這樣的條件,只能在pl/sql中看看。

查詢資料表空間‘空間’使用方式sql語句:

SELECT F.TABLESPACE_NAME,

TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),'999,999') "USED (MB)",

TO_CHAR (F.FREE_SPACE, '999,999') "FREE (MB)",

TO_CHAR (T.TOTAL_SPACE, '999,999') "TOTAL (MB)",

TO_CHAR(T.MAX_SPACE,'999,999') "MAXSIZE(MB)",

TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),'999')||' %' PER_FREE,

CASE T.MAX_SPACE

  WHEN 0 THEN 'autoextensible=no'

    ELSE 'autoextensible=yes'

      END AS AUTOEXTEN 

FROM (

SELECT TABLESPACE_NAME,

ROUND (SUM (BLOCKS*(SELECT VALUE/1024

FROM V$PARAMETER

WHERE NAME = 'db_block_size')/1024)

) FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME

) F,

(

SELECT TABLESPACE_NAME,

ROUND (SUM (BYTES/1048576)) TOTAL_SPACE,

ROUND (SUM(MAXBYTES/1024/1024)) MAX_SPACE

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME

) T

WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME;

說明:TOTAL 資料表空間對應的資料檔案佔用磁碟空間

      MAXSIZE 資料檔案可以增長的最大值

      USED  資料庫實際使用的塊

      FREE   空閑塊

    TOTAL = USED + FREE oracle資料庫中資料區塊和空閑塊都佔用磁碟空間的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.