亚洲最大的av在线,国产精品视频一区二区三区麻豆,欧美久久久久久久久久,www.日本欧美,亚洲456区乱码,在线免费日本

當(dāng)前位置: Oracle DBA培訓(xùn)網(wǎng)-優(yōu)技培訓(xùn) >> oca培訓(xùn) >

oca教程:Oracle 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)解析

oca教程:Oracle 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)解析

縱觀上圖可知,Oracle數(shù)據(jù)庫(kù)服務(wù)器大致分為兩個(gè)主要部分 既1.Oracle instance (數(shù)據(jù)庫(kù)實(shí)例 上半部分)2.database (數(shù)據(jù)庫(kù) 下半部分)。

用戶不能直接連接到數(shù)據(jù)庫(kù),而是用戶先發(fā)出一個(gè)用戶進(jìn)程, 用戶進(jìn)程和Oracle服務(wù)器發(fā)出的服務(wù)器進(jìn)程交互,然后服務(wù)器進(jìn)程再和實(shí)例交互,最后實(shí)例和底層數(shù)據(jù)庫(kù)交互,從而實(shí)現(xiàn)用戶和數(shù)據(jù)庫(kù)的交互。具體過程看下圖:

下面詳述體系結(jié)構(gòu)中各個(gè)組成部分的具體功能和特點(diǎn)

1.首先先有的整體的認(rèn)識(shí):

oracle 服務(wù)器=實(shí)例+數(shù)據(jù)庫(kù)

實(shí)例=SGA(實(shí)例內(nèi)存)+后臺(tái)進(jìn)程

內(nèi)存=SGA+PGA

SGA=database buffer cache (數(shù)據(jù)庫(kù)高速緩存區(qū)緩存)+share pool +redo log buffer

2.實(shí)例內(nèi)存SGA結(jié)構(gòu):前三個(gè)是必選的,其余是可選的。

1)database buffer cache(數(shù)據(jù)庫(kù)高速緩存區(qū)緩存) :是用來存放執(zhí)行SQL的工作區(qū)域 (1)存儲(chǔ)從數(shù)據(jù)文件中獲得的數(shù)據(jù)塊的鏡像(2)當(dāng)獲取和更新數(shù)據(jù)的時(shí)候能夠大幅度提高性能,因?yàn)閿?shù)據(jù)庫(kù)塊的鏡像會(huì)保存一段時(shí)間,等下次再執(zhí)行有關(guān)這個(gè)塊的操作時(shí),可直接在緩存區(qū)操作(3)能夠動(dòng)態(tài)調(diào)整大小,也可以對(duì)其進(jìn)行自動(dòng)管理。

2)Redo log buffer (在線日志緩沖區(qū)): ()記錄所有數(shù)據(jù)庫(kù)的塊的改變,主要用于恢復(fù),大小由log_buffer 決定, 在對(duì)數(shù)據(jù)庫(kù)塊進(jìn)行操作之前,會(huì)把所做的所有操作記錄這里。

3)share pool (共享池):包括library cache (庫(kù)高速緩沖區(qū))和database dictionary cache(數(shù)據(jù)字典緩存) ,前者主要存儲(chǔ)最近使用的SQL和pl/sql 語句的信息(存一次 多次使用,防止硬解析,) 后者主要存儲(chǔ)最近使用的定義,如表、索引、列、用戶權(quán)限、和其他數(shù)據(jù)庫(kù)對(duì)象。

4)Large pool : 是系統(tǒng)全局區(qū)的一個(gè)可選的部分,是共享服務(wù)器的會(huì)話內(nèi)存,以減輕在共享池中的負(fù)擔(dān),可動(dòng)態(tài)的改變大小,也可以自動(dòng)管理。

5)Java pool: java 命令的分析,可動(dòng)態(tài)的改變大小,也可以自動(dòng)管理

6)Stream pool : 流相關(guān)的數(shù)據(jù)在流池中,提高緩存效果。

3.接下來介紹實(shí)例后臺(tái)進(jìn)程:

1) pmon (進(jìn)程檢測(cè)進(jìn)程) :當(dāng)會(huì)話異常終止時(shí) 清除失敗的進(jìn)程 包括 回滾事務(wù)、釋放鎖、動(dòng)態(tài)注冊(cè)監(jiān)聽器,

2) Smon (系統(tǒng)檢測(cè)進(jìn)程):實(shí)例恢復(fù)(前滾所有重做日志中的改變、回滾沒有提交的事務(wù)),釋放臨時(shí)表空間。

3) DBWn(數(shù)據(jù)寫進(jìn)程): 將數(shù)據(jù)庫(kù)高速緩存區(qū)緩存中的臟塊,刷新到磁盤數(shù)據(jù)文件中, 寫的條件:1,發(fā)生檢查點(diǎn)2,臟緩存到達(dá)極限值(1/4)、沒有可用的緩存區(qū)時(shí)。

4) LGWR(日志寫進(jìn)程)將redo log buffer 中的redo 刷新到磁盤日志文件中, 寫的條件:1,commit 的時(shí)候,2.達(dá)到1/3滿時(shí),3.大小達(dá)到1M時(shí),4.每擱三秒 5.在DBWR進(jìn)程寫數(shù)據(jù)之前。

5) CKPT (檢查點(diǎn)進(jìn)程) : 給dbwn 信號(hào),使它開始寫臟塊。更新數(shù)據(jù)文件頭和控制文件,(就是把scn號(hào)更新為最新的)3秒一次。 常說的一致性 要保證三個(gè)scn 號(hào)一致,包括數(shù)據(jù)文件頭的scn號(hào),control files 記錄數(shù)據(jù)文件頭的scn號(hào),control files 記錄的總的scn號(hào)。檢查點(diǎn)進(jìn)程 觸發(fā)的越快,DBWR 寫的就越快,這樣內(nèi)存中的緩存區(qū)臟塊就越少,進(jìn)而恢復(fù)實(shí)例所用的時(shí)間就會(huì)越少,但是頻繁的I/O導(dǎo)致性能下降,所以性能和速度是矛盾的;

6) ARCn (歸檔進(jìn)程):將聯(lián)機(jī)重做日志文件歸檔到(也可以理解為復(fù)制)歸檔日志文件 ,如果開啟了歸檔模式 重做日志文件 一般分為兩個(gè)組,這兩組是循環(huán)復(fù)寫的,一個(gè)組用來記錄對(duì)數(shù)據(jù)庫(kù)的修改,另一組進(jìn)行歸檔。但是如果記錄修改的那組已經(jīng)寫滿,這樣本來該再去寫另一組,但是另一組還沒有完成歸檔,這就會(huì)出問題,數(shù)據(jù)庫(kù)夯住了。

技術(shù)沙龍MORE+

標(biāo)簽錯(cuò)誤:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要參加技術(shù)沙龍