資料庫物理設計的核心目標:**資料安全**與**效能高效**。良好的物理分布是基石,如蓋樓打地基,必須在建立資料庫前規劃,而非事後補救。
| RAID 等級 | 可靠性 | 讀效能 | 寫效能 | 適用場景 |
|---|---|---|---|---|
| RAID 1 | 高 | 快 | 代價大 | 一般用途、非頻寫 |
| RAID 0+1 | 高 | 更快 | 較好 | 高讀取、關鍵業務 |
| RAID 5 | 高 | 循序讀佳 | 受影響 | 循序讀多、寫少 |
V$FILESTAT (phyrds/phyblkrd/phywrts) 監控熱點DB_BLOCK_SIZE (2K~32K):較大區塊提升全表掃描效能,但增加區塊競爭,需配合 FREELISTS/INITRANS/MAXTRANSDB_NAME, DB_DOMAIN, COMPATIBLE, NLS_*:建庫前必定DB_CACHE_SIZE (9i+)、SHARED_POOL_SIZE、LOG_BUFFER、LARGE_POOL、JAVA_POOLV$SYSSTAT (db block gets + consistent gets vs physical reads) 目標 > 90%PGA_AGGREGATE_TARGET (OLTP 20% / DSS 50% 可用記憶體)sar -u;Windows: 效能監視器OPTIMAL 設定目標縮小尺寸,監控 V$ROLLSTAT (extends/shrinks 高則調大)V$WAITSTAT (undo header/block) > 10% 請求總數則增加回滾段V$SYSSTAT 'redo log space requests' 接近 0,否則增 LOG_BUFFERinit.ora control_files → 啟動 mount-- 方法 1: ALTER DATABASE
SHUTDOWN; -- OS 層移動檔案
STARTUP MOUNT;
ALTER DATABASE RENAME FILE 'old' TO 'new';
ALTER DATABASE OPEN;
-- 方法 2: ALTER TABLESPACE (9i+ 可線上)
ALTER TABLESPACE users OFFLINE;
-- OS 移動
ALTER TABLESPACE users RENAME DATAFILE 'old' TO 'new';
ALTER TABLESPACE users ONLINE;
物理設計雖以 Oracle 為例,但**核心思想通用**:I/O 隔離、資源預留、單點失效排除、監控驅動調整。各資料庫語法不同,原則一致。