| 段類型 | 對應物件 | 特性 |
| Data Segment | Heap Table, Partition, Cluster | 儲存列資料 |
| Index Segment | B-tree Index, Bitmap Index, IOT | 儲存索引項 |
| Undo Segment | Undo Tablespace 內 | 交易回滾、一致性讀、Flashback |
| Temporary Segment | Sort/Hash/Global Temp Table | 操作完成自動釋放 |
| LOB Segment | CLOB/BLOB/NCLOB | 大物件儲存,可含 LOB Index |
關鍵規則:一段 僅屬於 一表空間,但可跨越 多資料檔 (Extent 級別跨檔)。
3. 區 — 空間配置單位
- 連續區塊集合,減少碎片與磁頭移動。
- LMT 下區大小:
UNIFORM SIZE 1M (固定) 或 AUTOALLOCATE (系統自動 64KB~64MB)。
- 段滿時自動申請新區,直到
MAX_EXTENTS (LMT 理論無上限) 或磁碟空間耗盡。
- 效能建議:區數越少越好,避免大量小區造成字典/位圖掃描開銷。
4. 塊 — 最小 I/O 單位
DB_BLOCK_SIZE 建庫時指定 (2K/4K/8K/16K/32K),終身不可變更。
- OS Block 整數倍 (通常 4KB/8KB)。
- 所有存取 (讀/寫/快取/恢復) 以塊為單位。
- 區大小若非塊大小整數倍,Oracle 會向上取整至塊邊界。
關鍵查詢視圖
-- 表空間與資料檔
SELECT tablespace_name, file_name, bytes/1024/1024 MB FROM dba_data_files;
-- 段資訊
SELECT segment_name, segment_type, tablespace_name, extents, blocks
FROM dba_segments WHERE owner = 'SCOTT';
-- 區分佈
SELECT file_id, block_id, blocks FROM dba_extents
WHERE segment_name = 'EMP' AND owner = 'SCOTT';
結語
理解「表空間→段→區→塊」四層對應關係,是容量規劃、效能調校 (如區碎片、塊大小選擇)、故障診斷 (如區損壞) 的基礎。
- 上一篇文章: Oracle EBS 整合實戰:Web Service 介面層架構設計、安全通訊與標準請求交互模式
- 下一篇文章: Oracle DBA 常用 SQL 腳本庫:建立表空間、用戶、授權與權限查詢一站式參考
Copyright ©
程式碼之家 All Rights Reserved