《Administrator's Guide》第6章介紹了ORACLE實(shí)例的內(nèi)存管理,在11g中,ORACLE默認(rèn)使用自動(dòng)內(nèi)存管理(AMM)來(lái)管理SGA和PGA的大小。除了默認(rèn)的方法之外,還可以使用自動(dòng)共享內(nèi)存管理SGA(ASMM)、手動(dòng)共享內(nèi)存管理SGA、自動(dòng)PGA內(nèi)存管理、手動(dòng)PGA內(nèi)存管理。
一、自動(dòng)內(nèi)存管理
自動(dòng)內(nèi)存管理是最方便的內(nèi)存管理方式,只需要設(shè)定參數(shù)MEMORY_TARGET的值,ORACLE 就會(huì)根據(jù)實(shí)際需要分配SGA和PGA。
1.1應(yīng)用自動(dòng)內(nèi)存管理
1.用SYSDBA的身份連接SQL*PLUS
2. 計(jì)算MEMORY_TARGET的值
1)show parameter target,查看sga_target和pga_aggregate_target的值
2)查看實(shí)例啟動(dòng)之后分配的大的pga的值
select round(value/1024/1024) "MB"
from v$pgastat
where name='maximum PGA allocated';
3)MEMORY_TARGET=sga_target+max(pga_aggregate_target,maximum PGA allocated)
3.可以使用第二步中計(jì)算出來(lái)的MEMORY_TARGET的值,或者設(shè)定一定大于計(jì)算出來(lái)的值,記為m.
4.可以使用MEMORY_TARGET或者一個(gè)大于MEMORY_TARGET的值作為MEMORY_MAX_TARGET的值,MEMORY_MAX_TARGET是MEMORY_TARGET所能調(diào)整到的大值,記為n。
5.修改MEMORY_MAX_TARGET的值:
ALTER SYSTEM SET MEMORY_MAX_TARGET = nM SCOPE = SPFILE;
6.重啟數(shù)據(jù)庫(kù)
7.修改MEMORY_TARGET的值。
ALTER SYSTEM SET MEMORY_TARGET = nM;
ALTER SYSTEM SET SGA_TARGET = 0;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;
1.2 監(jiān)控自動(dòng)內(nèi)存管理
select * from v$memory_target_advice order by memory_size;
二、自動(dòng)共享內(nèi)存管理
自動(dòng)共享內(nèi)存管理(ASMM)簡(jiǎn)化了SGA的管理,通過(guò)設(shè)置SGA_TARGRT的值,數(shù)據(jù)庫(kù)會(huì)自動(dòng)管理SGA組成部分的值。SGA可以被自動(dòng)管理的部分分別是shared pool、large pool、Java pool、buffer cache、Streams pool,需要手動(dòng)設(shè)值的部分是log buffer、keep and recycle buffer caches、Nonstandard block size buffer caches。
監(jiān)控ASMM內(nèi)存管理的視圖是v$sga_target_advice:
select * from v$sga_target_advice order by sga_size;
應(yīng)用自動(dòng)共享內(nèi)存管理:
1.從手動(dòng)共享內(nèi)存管理切換到自動(dòng)共享內(nèi)存管理
1)運(yùn)行以下SQL:
SELECT round(((SELECT SUM(value) FROM V$SGA) - (SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY))/1024/1024,2) "SGA_TARGET"
FROM DUAL;
2)設(shè)置SGA_TARGET的值:
ALTER SYSTEM SET SGA_TARGET=value [SCOPE={SPFILE|MEMORY|BOTH}]
value的值可以是1)中計(jì)算出的值,也可以是SGA各個(gè)部分之和至 SGA_MAX_SIZE中的值。
3)指定SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE、DB_CACHE_SIZE、STREAMS_POOL_SIZE的最小值(可以是0也可以是非0值)。
2.從AMM切換到ASMM:
1)ALTER SYSTEM SET MEMORY_TARGET = 0;
2)設(shè)置SGA_TARGET的值
3)指定SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE、DB_CACHE_SIZE、STREAMS_POOL_SIZE的最小值(可以是0也可以是非0值)。
三、手動(dòng)共享內(nèi)存管理
在這種模式下,需要設(shè)置SGA各個(gè)部分的值,如果沒(méi)有設(shè)置的話,就會(huì)使用默認(rèn)值。
要啟用這種模式,則需要禁用MEMORY_TARGET、SGA_TARGET的值。
四、自動(dòng)PGA內(nèi)存管理
需設(shè)置pga_aggregate_target的值。
五、手動(dòng)PGA內(nèi)存管理
workarea_size_policy的值要設(shè)置成manual, 需要設(shè)置SORT_AREA_SIZE、HASH_AREA_SIZE、BITMAP_MERGE_AREA_SIZE 、 CREATE_BITMAP_AREA_SIZE.的值。
Oracle強(qiáng)烈建議使用自動(dòng)管理PGA的模式。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱(chēng):【讀書(shū)筆記】ORACLE內(nèi)存管理-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article32/cdhosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化、網(wǎng)頁(yè)設(shè)計(jì)公司、自適應(yīng)網(wǎng)站、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容