oracle服务器内存建议,Oracle内存分配建议
關(guān)于SGA設(shè)置的一點(diǎn)總結(jié)
本總結(jié)不針對(duì)特例,僅對(duì)服務(wù)器只存在OS + ORACLE 為例,如果存在其他應(yīng)用請(qǐng)酌情考慮
寫(xiě)這個(gè)也是因?yàn)榻鼇?lái)這種重復(fù)性的問(wèn)題發(fā)生的太多所導(dǎo)致的
首先不要迷信STS,SG,OCP,EXPERT 等給出的任何建議、內(nèi)存百分比的說(shuō)法
基本掌握的原則是, data buffer 通常可以盡可能的大,shared_pool_size 要適度,log_buffer 通常大到幾百K到1M就差不多了
設(shè)置之前,首先要明確2個(gè)問(wèn)題
1: 除去OS和一些其他開(kāi)銷,能給ORACLE使用的內(nèi)存有多大
2:oracle是64bit or 32 bit,32bit 通常 SGA有 1.7G 的限制(某些OS的處理或者WINDOWS上有特定設(shè)定可以支持到2G以上甚至達(dá)到3.7G,本人無(wú)這方面經(jīng)驗(yàn))
下面是我的windows2000下的oracle :
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
PL/SQL Release 8.1.7.0.0 - Production
CORE 8.1.7.0.0 Production
TNS for 32-bit Windows: Version 8.1.7.0.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
SQL>
windows上存在32bit的限制,如AIX、HP UNIX 等有明確的64BIT OS and ORACLE的版本,32bit oracle可以裝在64bit os 上,64 bit oracle不能裝在32 bit OS上
不管oracle是32 bit ORACLE還是 64 bit 的,假定應(yīng)用存在沒(méi)有很好的使用bind var 的情況,也不能設(shè)置 shared_pool_size 過(guò)大,通常應(yīng)該控制在200M--300M,如果是 ORACLE ERP 一類的使用了很多存儲(chǔ)過(guò)程函數(shù)、包 ,或者很大的系統(tǒng),可以考慮增大shared_pool_size ,但是如果超過(guò)500M可能是危險(xiǎn)的,達(dá)到1G可能會(huì)造成CPU的嚴(yán)重負(fù)擔(dān),系統(tǒng)甚至癱瘓。所以shared_pool_size 如果超過(guò)300M還命中率不高,那么應(yīng)該從應(yīng)用上找原因而不是一味的增加內(nèi)存,shared_pool_size 過(guò)大主要增加了管理負(fù)擔(dān)和latch 的開(kāi)銷。
log_buffer : 128K ---- 1M 之間通常問(wèn)題不大,不應(yīng)該太大
large_pool_size :如果不設(shè)置MTS,通常在 RMAN 、OPQ 會(huì)使用到,但是在10M --- 50M 應(yīng)該差不多了。假如設(shè)置 MTS,則由于 UGA 放到large_pool_size 的緣故,這個(gè)時(shí)候依據(jù) session最大數(shù)量和 sort_ares_size 等參數(shù)設(shè)置,必須增大large_pool_size 的設(shè)置,可以考慮為 session * (sort_area_size + 2M)。這里要提醒一點(diǎn),不是必須使用MTS,我們都不主張使用MTS,尤其同時(shí)在線用戶數(shù)小于500的情況下。
java_pool_size : 若不使用jav
總結(jié)
以上是生活随笔為你收集整理的oracle服务器内存建议,Oracle内存分配建议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spotify 旗下公司发起抗议,认为苹
- 下一篇: Alphabet 董事长:类似 Chat