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

Oracle 建立表空間完整指令範本與最佳實踐

     編輯:Oracle 資料庫基礎

表空間是 Oracle 邏輯儲存架構的核心單元。本文提供標準化的建立語法範本,涵蓋永久、暫存、UNDO 表空間,並說明自動擴展、區塊管理、大檔案等關鍵選項配置原則。

1. 暫存表空間

CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE '/u01/oradata/ORCL/temp_data01.dbf'
SIZE 512M
AUTOEXTEND ON NEXT 256M MAXSIZE 8G
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;  -- 建議固定區塊大小減少碎片

關鍵點:TEMPFILE 不記錄重做日誌,啟動快;UNIFORM SIZE 避免大量小區塊分配競爭。

2. 永久資料表空間 (小檔案 vs 大檔案)

標準小檔案表空間 (傳統)

CREATE TABLESPACE app_data
DATAFILE '/u01/oradata/ORCL/app_data01.dbf'
SIZE 1G
AUTOEXTEND ON NEXT 512M MAXSIZE 32G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE  -- 系統自動決定區塊大小 (64K/1M/64M)
SEGMENT SPACE MANAGEMENT AUTO;          -- ASSM,位圖管理自由空間,優於 FREELISTS

大檔案表空間 - 適合超大資料倉庫 (單檔案可達 128TB)

CREATE BIGFILE TABLESPACE dw_data
DATAFILE '/u02/oradata/ORCL/dw_data01.dbf'
SIZE 10T
AUTOEXTEND ON NEXT 100G MAXSIZE 128T
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;

限制:單表空間僅一個資料檔,無法手動加檔案分散 I/O;備份/還原單元較大。

3. UNDO 表空間

CREATE UNDO TABLESPACE undotbs2
DATAFILE '/u01/oradata/ORCL/undotbs02.dbf'
SIZE 2G
AUTOEXTEND ON NEXT 512M MAXSIZE 16G
EXTENT MANAGEMENT LOCAL
RETENTION GUARANTEE;  -- 保證 UNDO 保留時間,防止 ORA-01555

啟用:ALTER SYSTEM SET UNDO_TABLESPACE = undotbs2 SCOPE=BOTH;

4. 使用者建立與預設表空間指派

CREATE USER app_user IDENTIFIED BY "ComplexPass#2024"
DEFAULT TABLESPACE app_data
TEMPORARY TABLESPACE temp_data
QUOTA UNLIMITED ON app_data;  -- 或指定額度 QUOTA 10G ON app_data

GRANT CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE VIEW TO app_user;
-- 視需求授予 RESOURCE / DBA 等角色

關鍵參數選項速查表

子句建議值說明
EXTENT MANAGEMENTLOCAL字典管理已棄用,Local 使用位圖在檔案頭管理,效能極佳
AUTOALLOCATE vs UNIFORM SIZE資料表空間用 AUTOALLOCATE;暫存/大批量載入用 UNIFORM SIZE 1M~16MAUTOALLOCATE 自適應;UNIFORM 減少分配競爭
SEGMENT SPACE MANAGEMENTAUTO (ASSM)位圖管理自由列表,解決 High Water Mark 競爭,支援壓縮
AUTOEXTENDON NEXT 256M~1G MAXSIZE UNLIMITED/具體上限避免半夜空間不足掛起;MAXSIZE 防止單一失控撐爆磁碟
LOGGING / NOLOGGING資料表空間 LOGGING;暫存/中繼表空間可 NOLOGGINGNOLOGGING 僅影響直路徑載入/建立索引,DML 仍產生重做

規劃原則與命名慣例

  • 職責分離:系統、UNDO、暫存、使用者資料、索引、LOB、歸檔日誌分別獨立表空間。
  • 命名規範:{ENV}_{APP}_{TYPE}_{SEQ},例:PRD_ERP_DATA_01、PRD_ERP_IDX_01、PRD_ERP_LOB_01。
  • 檔案佈放:資料、索引、暫存、重做日誌、控制檔、歸檔日誌分散不同磁碟群組 (ASM Disk Group / LUN)。
  • 配額控制:生產環境避免 UNLIMITED QUOTA,按應用模組設定額度,防止失控寫入影響其他租戶。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved