| 欄位 | 說明 |
|---|---|
| FILE_NAME | 資料檔完整路徑 |
| FILE_ID | 檔案識別碼 |
| TABLESPACE_NAME | 所屬表空間 |
| BYTES / BLOCKS | 目前大小 (位元組/區塊) |
| AUTOEXTENSIBLE | YES/NO 是否自動擴展 |
| MAXBYTES / MAXBLOCKS | 最大擴展上限 |
| USER_BYTES / USER_BLOCKS | 可用空間 (扣除 LMT/DMT 元資料) |
STATUS (ONLINE/OFFLINE/SYSTEM)、ENABLED、CHECKPOINT_CHANGE#、CREATION_TIME。| 欄位 | 說明 |
|---|---|
| TABLESPACE_NAME | 表空間名稱 |
| FILE_ID | 資料檔 ID |
| BYTES / BLOCKS | 連續自由區塊大小 |
單一檔案可能有多列(碎片),合計即為總剩餘空間。
| 欄位 | 說明 |
|---|---|
| PHYRDS / PHYWRTS | 物理讀/寫次數 |
| PHYBLKRD / PHYBLKWRT | 物理讀/寫區塊數 |
| READTIM / WRITETIM | 累積讀/寫時間 (百毫秒) |
| AVGIOTIM | 平均 I/O 延遲 |
配合 FILE# 關聯 DBA_DATA_FILES 定位熱點檔案。
SELECT
ddf.TABLESPACE_NAME,
ROUND(SUM(ddf.BYTES)/1024/1024, 2) AS total_mb,
ROUND(SUM(dfs.BYTES)/1024/1024, 2) AS free_mb,
ROUND(100 * SUM(dfs.BYTES) / SUM(ddf.BYTES), 2) AS pct_free
FROM DBA_DATA_FILES ddf
LEFT JOIN DBA_FREE_SPACE dfs ON ddf.FILE_ID = dfs.FILE_ID
GROUP BY ddf.TABLESPACE_NAME
ORDER BY pct_free;
SELECT
ddf.FILE_NAME,
vfs.PHYRDS, vfs.PHYWRTS,
vfs.READTIM, vfs.WRITETIM,
ROUND((vfs.READTIM+vfs.WRITETIM)/NULLIF(vfs.PHYRDS+vfs.PHYWRTS,0), 2) AS avg_ms
FROM V$FILESTAT vfs
JOIN DBA_DATA_FILES ddf ON vfs.FILE# = ddf.FILE_ID
ORDER BY (vfs.PHYRDS+vfs.PHYWRTS) DESC
FETCH FIRST 10 ROWS ONLY;
-- LMT (Local Managed Tablespace) 建議
CREATE TABLESPACE app_data
DATAFILE '/u01/oradata/app_data01.dbf' SIZE 1G
AUTOEXTEND ON NEXT 100M MAXSIZE 10G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
掌握四大視圖,即可掌控儲存層面的容量規劃、效能調校與故障預警。