資源描述:
《Oracle數(shù)據(jù)庫優(yōu)化參考配置》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、1.1Oracle數(shù)據(jù)庫優(yōu)化參考配置1、Oracle10g相對Oracle9i的一個重要進(jìn)步是內(nèi)存自動分配,就是一般不需要進(jìn)行內(nèi)存調(diào)整;2、即使是Oracle9i,內(nèi)存調(diào)整還是要慎重,必須是精通數(shù)據(jù)庫的人員才能調(diào)整,建議有必要的話讓用戶聯(lián)系數(shù)據(jù)庫提供商進(jìn)行優(yōu)化。以免調(diào)整后數(shù)據(jù)庫無法啟動。本部分主要介紹Oracle數(shù)據(jù)庫參數(shù)優(yōu)化建議,在給出優(yōu)化參數(shù)之前,先要理解oracle數(shù)據(jù)庫系統(tǒng)的內(nèi)存結(jié)構(gòu),如下圖:ORACLE總內(nèi)存sga_max_size(如果只有Oracle服務(wù),可以使用總內(nèi)存35%到50%)pga_aggreg
2、ate_target(350M-500M)db_cache_size(55%)shared_pool_size(30%)java_pool_size(固定為160M)large_pool_size((固定為20M)processes(300)sessions(335)Open_cursors(10000-30000)sort_area_size(3276800-5242880)可能影響數(shù)據(jù)庫性能的參數(shù)如下:1.1.1參數(shù)調(diào)整數(shù)一般的規(guī)則是:sessions數(shù)=processes數(shù)*1.1+5參數(shù)調(diào)整建議:1、sessi
3、ons數(shù)為335。2、processes數(shù)為300。3、Open_cursors數(shù)推薦5000-30000。4、sort_area_size(排序區(qū)大小)推薦為3276800(3M)到5242880(5M)。1.1.2Pga內(nèi)存調(diào)整對我們的系統(tǒng)來說,一般需要保證一個session至少能有1M的內(nèi)存,因此pga的推薦值是500M使用oracle的建議視圖,協(xié)助進(jìn)行PGA參數(shù)調(diào)整下面語句可以幫助我們確定需要設(shè)定的內(nèi)存大?。簊electa.ESTD_PGA_CACHE_HIT_PERCENTAGE,a.PGA_TARGET_
4、FOR_ESTIMATEfromv$pga_target_adviceawherea.ESTD_PGA_CACHE_HIT_PERCENTAGE>951.1.3Sga內(nèi)存調(diào)整如果只有ORACLE應(yīng)用服務(wù),Sga的值可以設(shè)置為物理內(nèi)存的50%SGA_MAX_SIZE=DB_CACHE_SIZE+SHARED_POOL_SIZE+LARGE_POOL_SIZE+JAVA_POOL_SIZE1、Db_cache_sizedb_cache_size確定OracleSGA中的數(shù)據(jù)庫塊緩沖的數(shù)量,并且代表著Oracle內(nèi)存最重要的
5、一個參數(shù)Db_cache_size=sga_max_size*55%檢查數(shù)據(jù)緩存命中率。如果命中率在95%以下,通常必須增大DB_CACHE_SIZE的值,檢查語句如下:selectsum(decode(name,'physicalreads',value,0))phys,sum(decode(name,'dbblockgets',value,0))gets,sum(decode(name,'consistentgets',value,0))con_gets,(1-sum(decode(name,'physicalre
6、ads',value,0))/(sum(decode(name,'dbblockgets',value,0))+sum(decode(name,'consistentgets',value,0))))*100hitratiofromv$sysstat利用建議視圖selectname,SIZE_FOR_ESTIMATE,size_factor,ESTD_PHYSICAL_READS,estd_physical_read_factorfromv$db_cache_advice原則:ESTD_PHYSICAL_READS越小
7、越好。SIZE_FOR_ESTIMATE越大,ESTD_PHYSICAL_READS就越小。以SIZE_FOR_ESTIMATE的代價與ESTD_PHYSICAL_READS的大小為均衡2、Shared_pool_sizeshared_pool_size定義系統(tǒng)中由所有用戶共享的池,包括SQL區(qū)域和數(shù)據(jù)字典緩存Shared_pool_size=sga_max_size*30%ü保證數(shù)據(jù)字典緩存命中率高于95%。如果達(dá)不到這個值,通常需要增大SHARED_POOL_SIZE的大小。數(shù)據(jù)庫剛啟動時,這個命中率可能在85%左
8、右下面語句可以檢查數(shù)據(jù)字典緩存命中率:select((1-(sum(getmisses)/(sum(gets)+sum(getmisses))))*100)"HitRatio"fromv$rowcachewheregets+getmisses<>0ü保證庫緩存命中率在95%以上;下面語句可以檢查庫緩存命中率:selectsum(p