一、Oracle Server 兩大核心
- Instance(例項) = SGA(記憶體結構)+ 背景程序
- Database(資料庫) = 邏輯結構(表空間、段、區、塊)+ 物理結構(資料檔、控制檔、Redo Log、參數檔)
二、邏輯儲存階層
資料庫 → 表空間 → 段 → 區 → 區塊 (Data Block) → 物理塊
- 區塊大小由
DB_BLOCK_SIZE 決定(通常 2K/4K/8K/16K/32K)。
- 段類型:資料段、索引段、暫存段、回滾段。
三、物理檔案
| 檔案 | 用途 | 關鍵參數 |
| 資料檔 | 實際儲存資料 | 自動擴充、構成表空間 |
| Redo Log | 記錄所有變更,供恢復 | 多路徑、循環寫入、歸檔/非歸檔模式 |
| 控制檔 | 記錄資料庫物理結構 | CONTROL_FILES、至少一份、二進制 |
| 參數檔 | 啟動參數 | PFILE/SPFILE、修改後需重啟 |
四、記憶體結構 (SGA)
- 資料庫緩衝區:缓存資料塊,
DB_BLOCK_SIZE、DB_nK_CACHE_SIZE
- Redo Log Buffer:缓存 Redo 記錄,
LOG_BUFFER
- 共享池:Library Cache (SQL/PLAN) + Data Dictionary Cache,
SHARED_POOL_SIZE
- 大池:RMAN 備份、共用伺服器,
LARGE_POOL_SIZE
- Java 池:Java 程式碼,
JAVA_POOL_SIZE (≧20M)
五、PGA 與排序區
- PGA:專用伺服器連線私有記憶體,存變數/陣列。
- 排序區:
SORT_AREA_SIZE 控制排序記憶體,不足則用暫存段。
六、背景程序
| 程序 | 功能 |
| DBWn | 髒塊寫入資料檔,LRU 演算法 |
| LGWR | Redo Log Buffer 寫入 Redo Log,提交/1/3滿/3秒/DBWn前 |
| CKPT | 檢查點,同步資料檔/控制檔/Redo Log |
| SMON | 例項恢復、合併空閒空間、釋放暫存段 |
| PMON | 清理失敗程序資源、回滾交易、釋放鎖 |
| ARCH | 歸檔模式下備份線上 Redo Log |
| RECO | 分散式交易恢復 |
| LCKn | RAC 節點間鎖管理 |
七、SQL 基礎語法速查
-- 查詢
SELECT [DISTINCT] col1, col2 FROM table WHERE cond GROUP BY cond ORDER BY expr [ASC|DESC];
-- DML
UPDATE table SET col1=val1 WHERE cond;
INSERT INTO table (col1, col2) VALUES (val1, val2);
DELETE FROM table WHERE cond;
- 上一篇文章: JDBC 呼叫 Oracle 預存程序完整範例:OUT 參數與 REF CURSOR
- 下一篇文章: Android 權限完整對照表:中英說明與使用場景
Copyright ©
程式碼之家 All Rights Reserved