溫馨提示×

溫馨提示×

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

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

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

發(fā)布時間:2021-11-04 11:53:56 來源:億速云 閱讀:138 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要介紹“Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么”,在日常操作中,相信很多人在Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”O(jiān)racle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

每個數(shù)據(jù)庫實例有兩個關(guān)聯(lián)的內(nèi)存結(jié)構(gòu)—系統(tǒng)全局區(qū)(SGA),程序全局區(qū)(PGA)。

  • 系統(tǒng)全局(SGA):一組共享的內(nèi)存結(jié)構(gòu)(稱為SGA 組件),其中包含一個OracleDB 實例的數(shù)據(jù)和控制信息。SGA 由所有服務(wù)器進程和后臺進程共享。SGA 中存儲的數(shù)據(jù)有高速緩存的數(shù)據(jù)塊和共享SQL 區(qū)域等;SGA的大小由參數(shù)sga_target決定。

 Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

  • 程序全局區(qū)(PGA):包含某個服務(wù)器進程或后臺進程的數(shù)據(jù)及控制信息的內(nèi)存區(qū)域。PGA 是Oracle DB 在服務(wù)器進程或后臺進程啟動時創(chuàng)建的非共享內(nèi)存。服務(wù)器進程對PGA 的訪問是獨占式的。每個服務(wù)器進程和后臺進程都具有自己的PGA。PGA的大小由參數(shù)pga_aggregate_target決定。

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

SGA幾個關(guān)鍵組件做以說明:

  • 共享池:shared pool,用于緩存可在用戶間共享的各種構(gòu)造,比如給定SQL 語句的語法分析樹和執(zhí)行計劃。

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

  • 數(shù)據(jù)庫緩沖區(qū)高速緩存:buffer cache,從數(shù)據(jù)庫中檢索到的數(shù)據(jù)塊是緩存在此,數(shù)據(jù)塊從此內(nèi)存組件對數(shù)據(jù)塊進行操作,降低了硬盤IO負(fù)擔(dān),如果用戶進程所需的數(shù)據(jù)在該區(qū)域能很找到,我們稱之為高速緩存區(qū)命中,高的命中率反映出來的效果就是操作反應(yīng)快,這點很好理解,數(shù)據(jù)庫優(yōu)化中很有必要考慮這點。

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

   在buffer cache中,存在以下的緩沖區(qū):

          (*)KEEP 緩沖區(qū)池:一種專用數(shù)據(jù)庫緩沖區(qū)高速緩存,用于長時間在內(nèi)存中保留數(shù)據(jù)塊。一些頻繁使用的數(shù)據(jù)塊可相對長期的保留在此,不至于每次都從硬盤獲取,從而優(yōu)化了數(shù)據(jù)庫的性能;

          (*)RECYCLE 緩沖區(qū)池:一種專用數(shù)據(jù)庫緩沖區(qū)高速緩存,用于從內(nèi)存中快速回收或刪除數(shù)據(jù)塊。相對于KEEP的對立面,很好理解;

          (*) nK 緩沖區(qū)高速緩存:多種專用數(shù)據(jù)庫緩沖區(qū)高速緩存中的一種,用于存放大小不同于默認(rèn)數(shù)據(jù)庫塊大小的數(shù)據(jù)塊。注意默認(rèn)數(shù)據(jù)塊為8K

  • 重做日志緩沖區(qū):log buffer,用于存放有關(guān)對數(shù)據(jù)庫所做更改的信息,重做信息在寫入磁盤中重做日志文件(即redo文件)前,將緩存在此處。

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

  • 大型池,用于為某些大型進程(例如Oracle 備份和恢復(fù)操作)和I/O 服務(wù)器進程提供大型內(nèi)存分配。

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

  • Java池和流池

Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么

到此,關(guān)于“Oracle數(shù)據(jù)庫的內(nèi)存結(jié)構(gòu)是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

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

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

AI