表領域の空き領域の照会
Oracleストレージコマンド
SELECT df.tablespace_name,
ROUND(df.total_mb/1024,2) AS total_gb,
ROUND(NVL(fs.free_mb,0)/1024,2) AS free_gb,
ROUND((df.total_mb-NVL(fs.free_mb,0))/df.total_mb*100,1) AS pct_used
FROM (SELECT tablespace_name, SUM(bytes)/1024/1024 total_mb
FROM dba_data_files GROUP BY tablespace_name) df
LEFT JOIN
(SELECT tablespace_name, SUM(bytes)/1024/1024 free_mb
FROM dba_free_space GROUP BY tablespace_name) fs
ON df.tablespace_name = fs.tablespace_name
ORDER BY pct_used DESC;概要
各表領域の合計領域、空き領域、使用率を示す(現在割り当てられている領域に基づき、autoextend による拡張の余地は含まない)。
使用する場面
領域の監視、どの表領域を拡張する必要があるかの特定。
注意
このクエリは現在のデータファイルサイズに基づく。autoextend でさらに拡張できる。一時表領域には DBA_TEMP_FREE_SPACE を使用する。照会のみ。リスクなし。