SELECT tablespace_name, file_id, file_name,
ROUND(bytes/1024/1024,0) total_mb
FROM dba_data_files
ORDER BY tablespace_name;
ALTER TABLESPACE users
ADD DATAFILE '/u01/oracle/oradata/umail/users02.dbf'
SIZE 4000M
AUTOEXTEND OFF;
若原檔案開啟自動擴展,建議同步關閉:
ALTER DATABASE DATAFILE '/u01/oracle/oradata/umail/users01.dbf'
AUTOEXTEND OFF;
SELECT a.tablespace_name,
a.bytes/1024/1024 total_mb,
b.bytes/1024/1024 used_mb,
c.bytes/1024/1024 free_mb,
ROUND(b.bytes*100/a.bytes,2) pct_used,
ROUND(c.bytes*100/a.bytes,2) pct_free
FROM sys.sm$ts_avail a,
sys.sm$ts_used b,
sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
或使用標準視圖(不依賴 SM$ 內部表):
SELECT tablespace_name,
SUM(bytes)/1024/1024 total_mb,
SUM(bytes - NVL(free_bytes,0))/1024/1024 used_mb,
SUM(NVL(free_bytes,0))/1024/1024 free_mb
FROM (
SELECT tablespace_name, bytes, 0 free_bytes FROM dba_data_files
UNION ALL
SELECT tablespace_name, 0, bytes FROM dba_free_space
)
GROUP BY tablespace_name;
DBA_TABLESPACE_USAGE_METRICS + OEM/自製腳本)。