溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

大世界Oracle體系(未完成)

發(fā)布時(shí)間:2020-04-16 22:39:56 來源:網(wǎng)絡(luò) 閱讀:849 作者:長(zhǎng)路慢 欄目:關(guān)系型數(shù)據(jù)庫

    寫本篇文章主要受兩本書的啟發(fā)寫一些個(gè)人心得筆記,分享知識(shí),并把書籍推薦給大家閱讀1、《收獲,不止Oracle》 2、《Oracle內(nèi)核技術(shù)》 不涉及編程,設(shè)計(jì)體系架構(gòu)思路,如果有編程書更是好!還有官方文檔一定要讀,英語水平差看翻譯也要讀一遍,真正權(quán)威來源于官方。我感覺了解Oracle Internal時(shí)候,盡可能把自己成為設(shè)計(jì)者的角度去看待問題,如果你能用C寫成底層過程更是了得。

    我們一起來說一說,那么數(shù)據(jù)庫分為Instance與Database,我們知道用戶訪問必須通過實(shí)例才能訪問數(shù)據(jù)庫,這是硬規(guī)定。實(shí)例與數(shù)據(jù)庫中都是什么,用戶訪問還要經(jīng)過PGA,這又是什么,下面我們一起來來看一看

    PGA,當(dāng)我們的通過Socket請(qǐng)求(其實(shí)也分為很多種處理,不想細(xì)說)我們的指令會(huì)先到PGA區(qū)域是Program Global Area,這個(gè)區(qū)域有會(huì)保存會(huì)話屬性,存綁定變量等也就是我們用戶連接信息,然后用戶進(jìn)程與數(shù)據(jù)庫建立會(huì)話時(shí)候,系統(tǒng)會(huì)將用戶相關(guān)權(quán)限查出來,保存在這個(gè)區(qū)域,PGA里面有進(jìn)程叫Server process來完成這些工作,而且是私有不是共享!

    SGA,System Global Area,共享內(nèi)存區(qū)域,Instance 其實(shí)就是 SGA+process(后臺(tái)),SGA里面板塊有很多,我認(rèn)為相對(duì)來說shared_pool,database buffer cache,Redo log buffer相對(duì)重要,因?yàn)槊恳粋€(gè)組件都很重要,這里只相對(duì)概念,SGA里面也包含Java pool,Large_pool等,我們那個(gè)簡(jiǎn)單的查詢語句來說select * from t來說說他怎樣過程。

    Shared_pool共享池,這個(gè)其實(shí)作用很大,當(dāng)我們從PGA訪問到實(shí)例時(shí)候先到SGA中,那么在PGA會(huì)生成唯一標(biāo)識(shí)HASH,這時(shí)候會(huì)在SGA的共享池中尋找著唯一標(biāo)識(shí),如果找到HASH會(huì)從對(duì)應(yīng)數(shù)據(jù)緩存緩沖中找到對(duì)應(yīng)的values,把values直接返回用戶,如果找不到就比較麻煩,他會(huì)顯示判斷語法是否錯(cuò)誤,權(quán)限是否正確,解析用什么樣的方式去查詢,會(huì)先預(yù)估成本COST,比較成本選擇較低的方式去查詢,那么當(dāng)著動(dòng)作完成后就會(huì)生成唯一HASH值存儲(chǔ)到共享池中,然后去數(shù)據(jù)緩存緩沖區(qū)中查詢。

    數(shù)據(jù)緩沖緩存里面會(huì)尋找我們想要的數(shù)據(jù),SGA是在內(nèi)存中開辟的空間,這時(shí)候沒有我們只能去Database中來實(shí)現(xiàn)完成,查詢磁盤中的數(shù)據(jù)文件找到就好找不到也好,都必須帶著結(jié)果返回給用戶,那么一條查詢語句粗略的算是完成。

    再說一說實(shí)例里面的進(jìn)程,我們?cè)贚inux下,ps aux | grep oracle就會(huì)發(fā)現(xiàn)很多后臺(tái)進(jìn)程,我說幾個(gè)里面主要的進(jìn)程和功能,PMON,SMON,LCKn,RECO,CKPT,ARCH,包括DBWR,LGWR,我們理解這些詞語英語英語!很重要,基本就是英語翻譯過來的字面意思,下面我們都去說一說,知道怎樣工作,負(fù)責(zé)什么工作,重點(diǎn)說一下Redo log與ARCH日志功能!

    草稿2個(gè)多月沒有去寫,以后有空繼續(xù)研究!(Oracle到此告一段落)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI