首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle 平台應用資料庫系統設計與開發最佳實踐

     編輯:Oracle 資料庫相關知識

前言

完整資料庫系統包含硬體、OS、網路、DBMS、應用程式與資料,各層相互依賴。本文分享中小型 LAN 環境下 Oracle 系統硬體選型、邏輯/物理設計與開發部署經驗。

一、系統硬體選擇與使用

1. CPU

  • 優先優化 SQL 程式碼,劣質應用白白消耗 CPU;
  • 評估 OS 對 CPU 數量限制與擴展性;
  • 排程將高 CPU 作業安排在離峰時段,善用工作調度降低競爭。

2. 記憶體

  • Unix 交換區:實體記憶體 < 1GB 設 4 倍,否則 2 倍,置於最快磁碟;
  • SGA 設為可用記憶體 55-57%,過大反降效能;
  • Oracle 9i 支援動態調整 SGA 參數無需重啟;
  • 定期監控記憶體使用,依應用調整 SGA 子元件。

3. 儲存設備

  • 選支援熱插拔硬碟,故障時不停機更換;
  • 避免超大硬碟,1-4GB 較適合 Oracle,大量中小硬碟提供 RAID 彈性;
  • RAID 0+1 為 OLTP 最佳 (讀寫平衡、重建快);RAID 5 適合 DSS (讀多寫少),OLTP 寫入效能損失大、重建耗時;
  • Stripe Size 選擇三因素:應用類型 (OLTP 32-64KB、DSS 64-256KB)、OS/DB 區塊大小 (Stripe 必為 OS 區塊整數倍)、磁碟數量;
  • 水平條帶跨控制器、垂直條帶跨磁碟群,成員數 ≤ 控制器數。

二、應用資料庫設計與開發

1. 邏輯設計

  • 依業務抽象 ER 模型,映射為正規化關聯模型 (資料完整、與應用無關、儲存優化);
  • 輔助工具:Oracle Designer 等實現 ER 到 SQL 映射。

2. 物理設計與物件規劃

設計前需深入理解業務、資料與關係,包含:

  • 資料庫使用者、系統權限、表空間配額、Resource Profile;
  • 表數量、歸屬使用者、操作權限;
  • 表結構、PK、Constraints;
  • 關鍵表 vs 交易表、主表 vs 從表、FK、驅動表選擇;
  • 索引策略:哪些表、哪些欄位;
  • 表空間、回滾段規劃,優先本地管理表空間;
  • Trigger、Procedure 需求;
  • 備份恢復策略。

3. 物件建立原則

原則說明
資料與系統分離應用資料放獨立表空間,使用者 SYSTEM 配額設 0
表索引分離不同表空間/磁碟,提升速度
熱門表分散同時存取表分不同磁碟,利於並發
預分配儲存INITIAL 略大 (整數倍 DB_BLOCK_SIZE)、PCTINCREASE=0 減少碎片、INITRANS=FREELISTS 依並發數設定
大表分區不同分區置不同磁碟均衡 I/O、支援分區查詢/刪除/移動、彈性備份恢復 (8i 操作分區後需重建全域索引)
同類表同表空間大小/增長相似表同表空間,控制碎片、提高自由區塊重用
同備份策略同表空間利於備份恢復作業
關鍵應用物件置快速磁碟滿足嚴格回應時間需求

結語

設計階段越細緻,後期問題越少。硬體選型、邏輯/物理設計、儲存規劃三位一體,構建高效能、可維護、可擴展的 Oracle 應用系統。

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved