學習背景
有 SQL Server 基礎,轉學 Oracle 感覺上手較快。今日完成第一章,建立整體認知框架。
PL/SQL 六大核心優勢
- 提升應用效能:減少網路往返、批次處理、編譯優化。
- 模組化開發:過程、函數、套件封裝業務邏輯,便於維護復用。
- 良好相容性:支援多種語言介面 (Java、C、Python 等)。
- 靈活標識符定義:變數、常數、游標、例外等豐富類型。
- 完整程式控制結構:IF/CASE/LOOP/GOTO/EXCEPTION 等。
- 強大異常處理機制:預定義/自定義例外,精細錯誤控制。
Oracle 記憶體雙核心結構
| 區域 | 全稱 | 作用 | 特性 |
| SGA | System Global Area | 儲存所有用戶共享資料、SQL 緩存、執行計畫、Redo Log Buffer 等 | 例程啟動時分配、固定大小 (含動態調整)、所有程序共享 |
| PGA | Program Global Area | 儲存單一服務器程序私有資料 (排序區、游標狀態、Session 資訊) | 程序建立時分配、結束時釋放、獨立於 SGA、不共享 |
資料庫邏輯與物理結構對照
邏輯結構 (由大到小)
表空間 → 段 → 區 → 區塊 → 資料物件
- 表空間:邏輯儲存容器,對應一組物理資料檔。
- 段:特定物件 (表、索引、UNDO、臨時) 佔用的空間集合。
- 區:連續區塊集合,空間分配單位。
- 區塊:最小 I/O 單位 (建庫指定,如 8K)。
物理結構 (作業系統層面可見檔案)
- 資料檔:.dbf,儲存實際業務資料。
- 重做日誌檔:.log,循環寫入變更向量,保證恢復。
- 控制檔:.ctl,記錄資料庫物理結構資訊 (檔案路徑、SCN、檢查點等),至少 1 個,建議多路徑多工。
- 參數檔:PFILE (文本) / SPFILE (二進位),定義例程初始化參數。
- 密碼檔:orapw,鑑別 SYSDBA/SYSOPER 遠程連線。
數據字典與 Schema 概念
- 數據字典:唯讀表/視圖集合,記錄資料庫中所有物件定義、空間分配、約束、用戶、權限、審計等元資料。DDL 操作自動維護。
- Schema:物件邏輯容器,**一個 Schema 對應一個資料庫用戶,同名**。包含:表、視圖、索引、同義詞、序列、存儲過程、函數、套件、觸發器、類型、資料庫鏈接、簇等。
下一步學習計畫
- 深入 PL/SQL 語法 (變數、控制結構、游標、例外、集合、動態 SQL)。
- 實作建表、索引、約束、分區表操作。
- 理解執行計畫、統計資訊收集、基本 SQL 調優。
- 學習備份恢復 (RMAN)、Data Guard、RAC 基礎架構。