| 原則 | 實作要點 |
| 應用資料隔離 | 專用表空間,禁止用 SYSTEM;用戶 SYSTEM 表空間配額設 0 |
| 索引表分離 | 索引與表放不同磁碟的不同表空間 |
| 高併發表分離 | 同時被訪問的表分散不同磁碟 |
| 磁碟有限時 | 低關聯表可共用磁碟 |
| 預分配 | INITIAL 足夠大 (接近最大容量)、NEXT 靈活、PCTINCREASE=0 減少碎片、PCTFREE 依更新頻率調整、INITRANS=FREELISTS=併發交易數 |
| 分區表 | 大表分區存放不同磁碟,支援分區剪枝、Truncate Partition、移動分區、彈性備份 |
| 相似增長表同 TS | 控制碎片、提高空閒塊重用 |
| 同備份策略表同 TS | 簡化備份管理 |
| 關鍵應用對象放快磁碟 | SSD/NVMe 放核心交易表/索引/Undo/Redo |
三、應用系統設計與開發
1. 應用設計五步驟
- 分析功能 → 確定類型 (OLTP/DSS/批次)。
- 明確使用時間、用戶、訪問資料、組件、響應時間要求。
- 確定架構:Two-tier (Client/Server) vs Multi-tier (Browser/Server/微服務)、應用伺服器選型。
- 功能劃分模組,明確流量、高峰、資料庫對象、互操作特性、排程。
- 模組化設計,選擇 DB 組件、開發語言、工具。
2. 開發階段 9 大關鍵實踐
- 會話關鍵型應用:優先 Pro*C/C++ 或 OCI;OCI 直達核心、支援 TAF (Transparent Application Failover)。
- 失敗檢查與恢復:指定備用 DB/Instance、終止錯誤 Client 進程。
- 可維護性:View 封裝、%TYPE/%ROWTYPE 相對定義、Table-Driven 設計模式。
- 充分單元/模組測試:為整合奠基。
- 關鍵表操作:操作前備份表,成功後刪除備份。
- 代碼優化:高比例效能問題源自拙劣代碼,優化為常態。
- 空間成長監控:定期檢查表空間/段增長,預警擴容。
- 定時資料整理:Partition Truncate / DBMS_SCHEDULER / Cron + Shell + Pro*C 批次刪除。Shell 必須設定 ORACLE_BASE/HOME/NLS_LANG/LD_LIBRARY_PATH/PATH。
- 大量刪除優化:
- 分區表 →
TRUNCATE PARTITION (秒級、不產生碎片、需重建全局索引 8i/9i,10g+ 自動維護)。
- 非分區大量 DELETE → 專用大 Undo 表空間 (平常 OFFLINE,作業時 ONLINE + 指定
SET TRANSACTION USE ROLLBACK SEGMENT)。
結語
「硬體為基、設計為魂、開發為形、運維為命」。從 CPU/記憶體/儲存選型,到邏輯/物理設計八大問題、十大建立原則,再到應用設計五步驟、開發九大實踐,構建高效能、高可用、可維護的 Oracle 應用系統完整知識體系。
- 上一篇文章: Oracle SQL 進階優化規則大全:操作符、函數、隱式轉換、通配符、UNION、SQL 寫法標準化、表連接順序完整指南
- 下一篇文章: Oracle 多行字串聚合完整指南:WM_CONCAT、LISTAGG、XMLAGG、COLLECT、自定義彙總函數五大方案對比
Copyright ©
程式碼之家 All Rights Reserved