資料最終落盤,物理儲存優化核心在於:合理分配邏輯物件至物理磁碟,實現讀寫並行化、消除熱點爭用、抑制動態擴展抖動。本文提供三大技術方向具體實施指南與參數化計算方法。
統計驅動佈局:收集 V$SEGMENT_STATISTICS / AWR Segments by Physical Reads 識別熱點物件
| 隔離維度 | 執行策略 | 典型對象 |
|---|---|---|
| 高頻表互斥 | 核心交易表、日誌表、報表表分散不同磁碟組 | ORDERS, TRANSACTIONS, AUDIT_LOG |
| 關聯表分離 | 頻繁 JOIN 的主從表 (PK-FK) 放不同物理裝置 | ORDERS ↔ ORDER_ITEMS, CUSTOMERS ↔ ACCOUNTS |
| 表/索引分離 | 表空間 + 磁碟物理隔離 | TBS_DATA / TBS_INDEX 映射不同 ASM Diskgroup |
| Redo/Undo/Temp 專用 | 各自獨立高速磁碟 (SSD/NVMe) | REDO_DG, UNDO_DG, TEMP_DG |
動態擴展代價:分配新區塊 → 更新空間管理位圖/字典 → 可能觸發資料檔/表空間擴展 → 產生遞歸等待、Checkpoint 壓力、LGWR 競爭
ANALYZE TABLE ... ESTIMATE STATISTICS / DBMS_STATS 獲取當前大小、增長率CREATE TABLE large_table (
...
) TABLESPACE tbs_data
STORAGE (
INITIAL 5G -- 首期載入 + 3 個月增長
NEXT 1G -- 固定增量,避免 PCTINCREASE 指數膨脹
MINEXTENTS 10 -- 預分配 10 個區塊
MAXEXTENTS UNLIMITED
PCTINCREASE 0
);
READ ONLY + COMPRESS FOR QUERY HIGH| 物件類型 | INITIAL | NEXT | MINEXTENTS | PCTINCREASE | 備註 |
|---|---|---|---|---|---|
| 核心大表 | 5-10G | 1-2G | 10-20 | 0 | 分區表每分區獨立設定 |
| 高頻索引 | 1-2G | 500M | 5-10 | 0 | 獨立索引表空間 |
| 暫時段 | 1G | 500M | 5 | 0 | 暫表空間多檔案並行 |
| UNDO 段 | 2G | 1G | 10 | 0 | UNDO 表空間保證保留 |
ALTER DISKGROUP DATA ADD TEMPLATE 'HOT' ATTRIBUTES (MIRROR_HOT); 將熱段導向外側磁軌REBALANCE POWER 11 (11gR2+) 限制重平衡 I/O 影響Segments by Physical Reads/Writes Top 10 物件物理位置確認iostat -xmt 5 / sar -d 磁碟佇列長度、服務時間、利用率監控物理優化無銀彈,只有「統計驅動佈局 → 參數精算預分配 → ASM 透明條帶化 → 持續監控微調」工程化閉環。將磁碟 I/O 從瓶頸轉化為可計算、可規劃、可優化的資源維度。