- Oracle數(shù)據(jù)庫從入門到運(yùn)維實(shí)戰(zhàn)
- 甘長春 孟飛編著
- 862字
- 2021-09-27 12:48:16
第1章 Oracle體系結(jié)構(gòu)
作為一個關(guān)系數(shù)據(jù)庫產(chǎn)品,Oracle占據(jù)了關(guān)系數(shù)據(jù)庫市場的最大份額。與同類產(chǎn)品(SQL SERVER、SYBASE ASE、MySQL等)比較,Oracle提供了一套獨(dú)有的機(jī)制,確保用戶快速、安全地訪問數(shù)據(jù)庫,同時確保數(shù)據(jù)庫安全、穩(wěn)定地運(yùn)行。在用戶的評價中,Oracle具有性能穩(wěn)定、運(yùn)行高效等特點(diǎn)。
Oracle的特點(diǎn)是顯而易見的,然而它的體系結(jié)構(gòu)非常復(fù)雜。作為一名數(shù)據(jù)庫管理員,為了使數(shù)據(jù)庫高效、安全地運(yùn)行,并且在出現(xiàn)故障時能夠快速進(jìn)行恢復(fù)等,了解Oracle的體系結(jié)構(gòu)是必要的。
數(shù)據(jù)庫中的數(shù)據(jù)是以文件的形式存儲在磁盤上的,數(shù)據(jù)庫就是指這些存儲。數(shù)據(jù)庫的數(shù)據(jù)文件是一個靜態(tài)的概念,對數(shù)據(jù)庫的訪問則是一個動態(tài)的過程,必須通過數(shù)據(jù)庫服務(wù)器來進(jìn)行。數(shù)據(jù)庫服務(wù)器不僅包括數(shù)據(jù)文件,還包括一組用來訪問數(shù)據(jù)文件的內(nèi)存結(jié)構(gòu)和后臺進(jìn)程,這些內(nèi)存結(jié)構(gòu)和后臺進(jìn)程構(gòu)成Oracle實(shí)例。換句話說,實(shí)例是區(qū)分不同數(shù)據(jù)庫的唯一標(biāo)識,是外部訪問該數(shù)據(jù)庫的入口及接口,它凌駕于整套數(shù)據(jù)庫之上。
實(shí)例是Oracle體系結(jié)構(gòu)中最重要的概念。除此之外,讀者還應(yīng)該了解數(shù)據(jù)在邏輯上和物理上的組織形式。
Oracle體系結(jié)構(gòu)如圖1-1所示。

圖1-1
Instance(實(shí)例)包含SGA(系統(tǒng)全局區(qū))和Background Processes(后臺進(jìn)程)兩部分。SGA(系統(tǒng)全局區(qū))則由Shared Pool(共享池)、DataBase Buffer Cache(數(shù)據(jù)庫高速緩沖區(qū))、Redo Buffer(日志緩沖區(qū))以及Java Pool(Java池)等構(gòu)成。其中,Shared Pool(共享池)與Server(服務(wù)器進(jìn)程,主要是PGA,程序全局區(qū))交互,而Server(服務(wù)器進(jìn)程,主要是PGA,程序全局區(qū))又與User(用戶進(jìn)程)交互。Background Processes(后臺進(jìn)程)則由DBW0(數(shù)據(jù)庫寫進(jìn)程)、SMON(系統(tǒng)監(jiān)視進(jìn)程)、PMON(監(jiān)控和管理進(jìn)程)、CKPT(檢查點(diǎn)進(jìn)程)、LGWR(日志寫進(jìn)程)以及ARC0(歸檔進(jìn)程)等進(jìn)程構(gòu)成。其中,DBW0(數(shù)據(jù)庫寫進(jìn)程)負(fù)責(zé)將內(nèi)存數(shù)據(jù)寫入Datafile(數(shù)據(jù)庫物理數(shù)據(jù)文件);CKPT(檢查點(diǎn)進(jìn)程)與Control File(控制文件)交互;LGWR(日志寫進(jìn)程)負(fù)責(zé)將內(nèi)存數(shù)據(jù)寫入Redo Log File(重做日志文件);ARC0(歸檔進(jìn)程)負(fù)責(zé)將Redo Log File(重做日志文件)歸檔到Archive Log File(歸檔日志文件)。
除Oracle實(shí)例外,Oracle數(shù)據(jù)庫還包含Parameter File(參數(shù)文件)、Password File(口令文件)、Alert File(警報文件)、Trace File(跟蹤文件)以及External Tables(外部表)等輔助管理。
接下來詳細(xì)介紹Oracle的體系結(jié)構(gòu)。
- Practical Data Analysis Cookbook
- Microsoft Dynamics 365 Extensions Cookbook
- Java從入門到精通(第4版)
- PHP網(wǎng)絡(luò)編程學(xué)習(xí)筆記
- Python Network Programming Cookbook(Second Edition)
- Python編程與幾何圖形
- Mastering KnockoutJS
- Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)實(shí)戰(zhàn)
- JavaScript動態(tài)網(wǎng)頁開發(fā)詳解
- 微服務(wù)架構(gòu)深度解析:原理、實(shí)踐與進(jìn)階
- Hands-On GUI Programming with C++ and Qt5
- Unity&VR游戲美術(shù)設(shè)計(jì)實(shí)戰(zhàn)
- 大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)
- Go語言入門經(jīng)典
- scikit-learn Cookbook(Second Edition)