重做日誌、歸檔日誌、資料檔、程式碼檔的物理佈局決定 I/O 爭用程度。正確佈局是效能基石。
| 檔案類型 | 特性 | 佈局原則 | 禁忌同盤對象 |
|---|---|---|---|
| Online Redo Log | 循序寫入、高頻、低延遲要求 | 專用磁碟/控制器;多重成員分不同磁碟 | System/RBS/Data/Index 表空間 |
| Archive Log | 批次寫入、大量、間歇性 | 獨立磁碟;空間不足會凍結資料庫 | System/RBS/Index、Online Redo Log |
| Data Files | 隨機讀寫、核心業務 | 依表空間分盤;大表跨磁碟 Striping | 程式碼檔 (Oracle Home)、Redo/Archive |
| Oracle Binary/Code | 啟動/修補時讀取 | 與資料檔分離;若必須同盤放最冷資料檔 | Data Files |
OS、備份軟體、其他應用的 I/O 勿與 Oracle 核心檔案共用磁碟/控制器。
DB_WRITERS = N ~ 2N (N=磁碟數)。DISK_ASYNCH_IO=TRUE,單 DBWR 即可平行 I/O。LOG_ARCHIVE_BUFFERS/LOG_ARCHIVE_BUFFER_SIZE;磁碟目標通常無需調整。CREATE TABLESPACE trip
DATAFILE 'disk1/trip01.dbf' SIZE 500M,
'disk2/trip02.dbf' SIZE 500M,
'disk3/trip03.dbf' SIZE 500M;
CREATE TABLE large_table (...)
TABLESPACE trip
STORAGE (INITIAL 100M NEXT 100M MINEXTENTS 5 PCTINCREASE 0);
PCTFREE 過低主因。偵測與修復:ANALYZE TABLE t LIST CHAINED ROWS → 建立中介表 → 刪除遷移/鏈結行 → 重插入 → 再次分析。若仍有鏈結行 → 增大 DB_BLOCK_SIZE (需重建資料庫) 或調整行結構。
資料塊空間分配參數 (PCTFREE/PCTUSED) 直接影響遷移/鏈結發生率,務必依平均行長與塊大小科學設定。