首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 資料庫 25 條核心基礎知識:架構、儲存、實例與檔案關係圖譜

     編輯:Oracle 資料庫基礎

基礎決定上層建築穩固度

以下 25 條知識點涵蓋表空間、檔案、實例、記憶體、備份恢復等核心架構關係,是進階學習的基石。

儲存結構層級關係

  1. 一個**表空間**只能屬於一個**資料庫**。
  2. 每個資料庫**至少一個控制檔**(建議 3 個,置於不同磁碟)。
  3. 每個資料庫**至少一個表空間**(SYSTEM 表空間,強制存在)。
  4. 建立 SYSTEM 表空間目的:集中存放**資料字典**,提高存取效率,**僅存資料字典**。
  5. 每個資料庫**至少兩個線上日誌組**,每組**至少一個線上日誌檔**。
  6. 一個**資料檔**只能屬於一個**表空間**。
  7. 資料檔一旦加入表空間,**無法移除、無法轉移**至其他表空間。
  8. 建立新表空間**必須建立新資料檔**。
  9. 資料檔被格式化為 **Oracle 區塊**,9i 前區塊大小創庫時固定,**事後不可變**(除非重建庫)。
  10. 區塊大小上限 **16KB**(2K/4K/8K/16K 可選)。
  11. 最大資料檔數受區塊大小限制:
    • 2K 區塊:20,000 檔
    • 4K 區塊:40,000 檔
    • 8K+ 區塊:65,536 檔
  12. 一個**段**只能屬於一個表空間,但可跨多個資料檔。
  13. 一個**區間**只能屬於一個資料檔,**不可跨檔**。
  14. PCTFREE + PCTUSED 總和 **< 100**(否則無空間供插入)。

事務與恢復核心機制

  1. 單一事務**不可跨越多個回滾段**。
  2. 索引表**不包含 ROWID**(索引組織表除外)。
  3. 不同大小回滾段**無額外效益**(現代建議使用自動 Undo 管理)。
  4. COMMIT 後資料**不一定立即寫盤**(資料檔),由 DBWn 延寫。
  5. 未提交事務的 Redo **依然會寫入線上 Redo Log**(保證恢復能力)。

實例、資料庫、安裝關係

  1. Oracle 8.0.4 預設資料庫實例名 ORCL。
  2. Oracle Server 可**同時啟動多個資料庫**。
  3. 單一 OS 可安裝**多版本 Oracle**(Unix/Linux 支援,Windows 不支援多版本共存)。
  4. 一套 Oracle 軟體可建立**多個資料庫及其對應實例**。
  5. 每個資料庫擁有**一個實例**(OPS/RAC 除外,一資料庫多實例)。
  6. 因此,單一 OS 可同時運行**多個 Oracle 實例**。

速記圖譜

OS (可多版本/多實例)
  └─ Oracle Home (軟體安裝)
       └─ Instance (SGA + 背景進程) 1:N
            └─ Database (物理檔案集合)
                 ├─ Controlfile (1+N, 多路徑)
                 ├─ Redo Log Groups (2+N, 多成員)
                 ├─ Tablespaces (1+N)
                 │    └─ Datafiles (1+N, 歸屬唯一)
                 │         └─ Blocks (2K-16K)
                 │              └─ Extents (單檔)
                 │                   └─ Segments (單表空間, 多檔)
                 ├─ Undo Tablespace (自動管理)
                 └─ Temp Tablespace

學習建議

將這 25 條內化為直覺,畫出上圖架構圖,**任何進階主題(備份恢復、RAC、調優、升級)都能找到落腳點**。

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