首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle Datafile 管理實操:新增、擴展、自動擴展與縮減

     編輯:Oracle 資料庫基礎

一、新增 Datafile / Tempfile


ALTER TABLESPACE myts01
ADD DATAFILE 'D:\oracle\oradata\orcl\myts03.dbf' SIZE 10M;


ALTER TABLESPACE temp
ADD TEMPFILE 'D:\oracle\oradata\orcl\mytemp.dbf' SIZE 10M;

二、建立表空間時指定自動擴展

CREATE SMALLFILE TABLESPACE myts02
DATAFILE 'D:\oracle\oradata\orcl\myts02_1.dbf' SIZE 10M
AUTOEXTEND ON NEXT 5M MAXSIZE 50M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

三、事後啟用/關閉自動擴展


ALTER DATABASE
DATAFILE 'D:\oracle\oradata\orcl\myts01_3.dbf'
AUTOEXTEND ON NEXT 2M MAXSIZE 20M;


ALTER DATABASE
DATAFILE 'D:\oracle\oradata\orcl\myts01_3.dbf'
AUTOEXTEND OFF;

四、手動調整 Datafile 大小 (Resize)


ALTER DATABASE
DATAFILE 'D:\oracle\oradata\orcl\myts01_3.dbf'
RESIZE 100M;


ALTER DATABASE
DATAFILE 'D:\oracle\oradata\orcl\myts01_3.dbf'
RESIZE 50M;

五、查詢 Datafile 使用狀況

SELECT file_name, tablespace_name,
       bytes/1024/1024 AS size_mb,
       maxbytes/1024/1024 AS max_mb,
       autoextensible,
       increment_by * (SELECT value FROM v$parameter WHERE name='db_block_size')/1024/1024 AS next_mb
FROM   dba_data_files
ORDER  BY tablespace_name, file_id;

六、最佳實踐建議

  • 預設啟用 AUTOEXTEND,設定合理 MAXSIZE 避免撐爆磁碟。
  • NEXT 增量:建議 10M~100M,避免頻繁擴展產生效能抖動。
  • Bigfile Tablespace (10g+):單一超大 Datafile (最多 128TB),簡化管理,配合 ASM 更佳。
  • 監控告警:設定 DBA_TABLESPACE_USAGE_METRICS 閾值告警 (如 85%),而非等待 ORA-01653/ORA-01654。
  • 縮小前必須:ALTER TABLESPACE ... COALESCE (字典管理) 或確認 LMT 高水位線已下移,否則 RESIZE 失敗。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved