2020年8月6日 星期四

1.1 Oracle Server 概述

Oracle Server = Instance + Database

Instance = Memory + Background Process

Database = Physical Structure + Logical Structure

這有點像是數學公式,不過由幾行短短的公式,便可很清楚的定義出 Oracle 資料庫的架構。

SNAG-0004

 

Oracle Server 主要是由 Instance 與 Database 兩部分所構成:

 

Instance 偏向系統面,由作業系統取得相關資源,包含 Memory 與 Background Process 兩部分,當 Instance 啟動之後,便會由作業系統獲取所需要的 Memory,同時也產生出資料庫運作所需要的Background Process。

 

Memory 包括 SGA 與 PGA ,其中 SGA 的成分有 Shared Pool (用於程式快取 " Library Cache" 與 資料字典快取 " Dircetory Cache")、Buffer Cache (用於存放讀取過的Data Block)、Log Buffer (存放交易日誌的快取)、Large Pool ( 資料庫特定的操作所會使用到的快取,例如使用 Shared Server 架構或是使用 RMAN 做備份還原時將使用此記憶體空間)、Jave Pool (程式有使用到 Java 相關功能時會使用此記憶體空間、Stream Pool (當資料庫有使用到Stream功能時才會使用到此空間)。

 

Background Process 主要有五個,缺一不可,若其中一個Process中斷,則會造成 Instance Crash,包括 SMON (用於 Instance recovery 與回收系統 Temporary 空間)、PMON (用於rollback失敗的交易與動態註冊Listener)、DBWR(用於將Buffer Cache中的Data Block 寫入Data File )、LGWR(用於將 Log Buffer 中的交易資訊寫入 Redo Log)、CKPT (用於更新資料庫的SCN)。

 

Database 可分為實體結構 (Physical Structue) 與邏輯結構 (Logical Structure)。實體結構表示實際上可看得到的,例如資料庫的控制檔 (Control File)、資料檔(Data File)、重做日誌檔(Redo Log)…等,我們可以利用作業系統的指令將這些檔案列出來,因此稱做實體結構。而邏輯結構則是比較抽象的,例如我們無法拿出一樣實體東西來說明這個就是 表格空間 ( Tablespace),表格空間 ( Tablespace) 這個概念是需要花費一點想像力去理解的,這些實體上看不到的東西,我們稱做邏輯結構。

 

另外 Oracle Server 除了 Instance 與 Database 兩大部分之外,還有一個成份為 Oracle Network,這也是資料庫架構中不可或缺的,Oracle Network 主要的成員就是 Listener,使用者必須透過Listener來對Oracle資料庫做連線,沒有了 Listener,使用者也就無法登入資料庫了。



沒有留言:

張貼留言