Oracle の一時表領域を表示する SQL

  SYSDBA でのログインが必要。

  • SQL

SELECT
    DT.TABLESPACE_NAME "表領域",
    ROUND(DT.BYTES / (1024 * 1024), 0) "割当済(MB)",
    ROUND(T.BYTES_CACHED / (1024 * 1024), 0) "空容量(MB)",
    ROUND(T.BYTES_CACHED / DT.BYTES * 100, 2) "使用率(%)"
FROM
    SYS.DBA_TEMP_FILES DT,
    V$TEMP_EXTENT_POOL T,
    V$TEMPFILE V
WHERE
    T.FILE_ID(+)= DT.FILE_ID AND
    DT.FILE_ID = V.FILE#
/

  • 出力

表領域                         割当済(MB) 空容量(MB)  使用率(%)
------------------------------ ---------- ---------- ----------
TEMP                                  528        527      99.81