日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Oracle SGA多個(gè)部分的組成

如果你想了解Oracle SGA中用到的基本語(yǔ)法的話,你就可以點(diǎn)擊以下的文章對(duì)其在實(shí)際相關(guān)操作中的正確用法,有一個(gè)更加完善的認(rèn)識(shí),以下就是正文的詳細(xì)內(nèi)容的介紹。希望你再瀏覽玩之后會(huì)有所收獲。

在《Oracle內(nèi)存結(jié)構(gòu)研究-PGA篇》一文中提到,PGA是一個(gè)服務(wù)器進(jìn)程的專用的私有內(nèi)存區(qū),而SGA則是共享內(nèi)存區(qū)。

SGA由多個(gè)部分組成:

1, 固定SGA(Fixed SGA)

2, 塊緩沖區(qū)(Db cache)

3, 重做日志緩沖區(qū)(Redo log buffer)

4, Java池(Java pool)

5, 大池(Large pool)

6, 共享池(Shared pool)

7, 流池(Stream pool)

有如下參數(shù)控制共享池相關(guān)組件大?。?/p>

1, JAVA_POOL_SIZE:控制Java池大小。

2, SHARED_POOL_SIZE:9i中控制共享池中占用***的部分,10g以上控制共享池大小。

3, LARGE_POOL_SIZE:控制大池大小。

4, DB_*K_CACHE_SIZE:控制不同塊大小的緩沖區(qū)大小。

5, LOG_BUFFER:控制重做日志緩沖區(qū)大小。

6, SGA_TARGET:10g以上控制自動(dòng)SGA內(nèi)存管理的總內(nèi)存大小。

7, SGA_MAX_SIZE:控制SGA可以達(dá)到的***大小,改變需重啟數(shù)據(jù)庫(kù)。

下面將詳細(xì)介紹各個(gè)部分的作用和推薦設(shè)置。

SGA各組件作用

1, 固定SGA:

顧名思義,是一段不變的內(nèi)存區(qū),指向SGA中其他部分,Oracle SGA通過(guò)它找到SGA中的其他區(qū),可以簡(jiǎn)單理解為用于管理的一段內(nèi)存區(qū)。

2, 塊緩沖區(qū):

查詢時(shí),Oracle會(huì)先把從磁盤(pán)讀取的數(shù)據(jù)放入內(nèi)存,以后再查詢相關(guān)數(shù)據(jù)時(shí)不用再次讀取磁盤(pán)。插入和更新時(shí),Oracle SGA會(huì)現(xiàn)在該區(qū)中緩存數(shù)據(jù),之后批量寫(xiě)到硬盤(pán)中。通過(guò)塊緩沖區(qū),Oracle可以通過(guò)內(nèi)存緩存提高磁盤(pán)的I/O性能。

塊緩沖區(qū)中有三個(gè)區(qū)域:

默認(rèn)池(Default pool):所有數(shù)據(jù)默認(rèn)都在這里緩存。

保持池(Keep pool):用來(lái)緩存需要多次重用的數(shù)據(jù)。

回收池(Recycle pool):用來(lái)緩存很少重用的數(shù)據(jù)。

原來(lái)只有一個(gè)默認(rèn)池,所有數(shù)據(jù)都在這里緩存。這樣會(huì)產(chǎn)生一個(gè)問(wèn)題:大量很少重用的數(shù)據(jù)會(huì)把需重用的數(shù)據(jù)“擠出”緩沖區(qū),造成磁盤(pán)I/O增加,運(yùn)行速度下降。后來(lái)分出了保持池和回收池根據(jù)是否經(jīng)常重用來(lái)分別緩存數(shù)據(jù)。

這三部分內(nèi)存區(qū)需要手動(dòng)確定大小,并且之間沒(méi)有共享。例如:保持池中已經(jīng)滿了,而回收池中還有大量空閑內(nèi)存,這時(shí)回收池的內(nèi)存不會(huì)分配給保持池。

9i開(kāi)始,還可以設(shè)置db_nk_cache。9i之前數(shù)據(jù)庫(kù)只能使用相同的塊大小。9i開(kāi)始同一個(gè)數(shù)據(jù)庫(kù)可以使用多種塊大?。?KB,4KB,8KB,16KB,32KB),這些塊需要在各自的db_nk_cache中緩存。如果為不同的表空間指定了不同的塊大小,需要為其設(shè)置各自的緩沖區(qū)。

3, 重做日志緩沖區(qū)(Redo log buffer):

數(shù)據(jù)寫(xiě)到重做日志文件之前在這里緩存,在以下情況中觸發(fā):

每隔3秒

緩存達(dá)到1MB或1/3滿時(shí)

用戶提交時(shí)

緩沖區(qū)的數(shù)據(jù)寫(xiě)入磁盤(pán)前

4, Java池(Java pool):

在數(shù)據(jù)庫(kù)中運(yùn)行Java代碼時(shí)用到這部分內(nèi)存。例如:編寫(xiě)Java存儲(chǔ)過(guò)程在服務(wù)器內(nèi)運(yùn)行。需要注意的是,該內(nèi)存與常見(jiàn)的Java編寫(xiě)的B/S系統(tǒng)并沒(méi)關(guān)系。用JAVA語(yǔ)言代替PL/SQL語(yǔ)言在數(shù)據(jù)庫(kù)中寫(xiě)存儲(chǔ)過(guò)程才會(huì)用到這部分內(nèi)存。

5, 大池(Large pool):

下面三種情況使用到大池:

并行執(zhí)行:存放進(jìn)程間的消息緩沖區(qū)

RMAN:某些情況下用于磁盤(pán)I/O緩沖區(qū)

共享服務(wù)器模式:共享服務(wù)器模式下UGA在大池中分配(如果設(shè)置了大池)

6, 共享池(Shared pool)

共享池是SGA中最重要的內(nèi)存段之一。共享池太大和太小都會(huì)嚴(yán)重影響服務(wù)器性能。

SQL和PL/SQL的解釋計(jì)劃、代碼,數(shù)據(jù)字典數(shù)據(jù)等等都在這里緩存。

SQL和PL/SQL代碼在執(zhí)行前會(huì)進(jìn)行“硬解析”來(lái)獲得執(zhí)行計(jì)劃及權(quán)限驗(yàn)證等相關(guān)輔助操作。“硬解析”很費(fèi)時(shí)間。對(duì)于響應(yīng)時(shí)間很短的查詢,“硬解析”可以占到全部時(shí)間的2/3。對(duì)于響應(yīng)時(shí)間較長(zhǎng)的統(tǒng)計(jì)等操作,“硬解析”所占用的時(shí)間比例會(huì)下降很多。執(zhí)行計(jì)劃及所需的數(shù)據(jù)字典數(shù)據(jù)都緩存在共享池中,讓后續(xù)相同的查詢可以減少很多時(shí)間。

不使用“綁定變量”導(dǎo)致:

系統(tǒng)需要花費(fèi)大量的資源去解析查詢。

共享池中的代碼從不重用,系統(tǒng)花費(fèi)很大代價(jià)管理這部分內(nèi)存。

關(guān)于共享變量的優(yōu)缺點(diǎn)討論已經(jīng)超過(guò)了這篇文章的范疇,簡(jiǎn)單來(lái)講,響應(yīng)時(shí)間短的查詢要使用共享變量,響應(yīng)時(shí)間長(zhǎng)的統(tǒng)計(jì)不使用共享變量。

需要注意的是,SHARED_POOL_SIZE參數(shù)在9i中控制共享池中占用***的部分,10g以上控制共享池總大小。

7, 流池(Stream pool)

9iR2以上增加了“流”技術(shù),10g以上在SGA中增加了流池。流是用來(lái)共享和復(fù)制數(shù)據(jù)的工具。

上述的相關(guān)內(nèi)容就是對(duì)Oracle SGA的描述,希望會(huì)給你帶來(lái)一些幫助在此方面。

【編輯推薦】

  1. Oracle to_char的用法描述
  2. Oracle 多表關(guān)聯(lián)如何更新多個(gè)字段
  3. Oracle存儲(chǔ)過(guò)程的開(kāi)發(fā)的介紹
  4. Oracle數(shù)據(jù)庫(kù)中表的不同的連接方式描述
  5. 配置Oracle RAC中應(yīng)注意的問(wèn)題有哪些

當(dāng)前標(biāo)題:Oracle SGA多個(gè)部分的組成
分享URL:http://m.5511xx.com/article/cojshoe.html