<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java思維

    正在學習中:(

    Oracle 內存分配建議


     Oracle 內存分配建議
    關于SGA設置的一點總結
    本總結不針對特例,僅對服務器只存在OS + ORACLE 為例,如果存在其他應用請酌情考慮
    寫這個也是因為近來這種重復性的問題發生的太多所導致的

    首先不要迷信STS,SG,OCP,EXPERT 等給出的任何建議、內存百分比的說法
    基本掌握的原則是, data buffer 通常可以盡可能的大,shared_pool_size 要適度,log_buffer 通常大到幾百K到1M就差不多了

    設置之前,首先要明確2個問題
    1: 除去OS和一些其他開銷,能給ORACLE使用的內存有多大
    2:oracle是64bit or 32 bit,32bit 通常 SGA有 1.7G 的限制(某些OS的處理或者WINDOWS上有特定設定可以支持到2G以上甚至達到3.7G,本人無這方面經驗)

    下面是我的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 的,假定應用存在沒有很好的使用bind var 的情況,也不能設置 shared_pool_size 過大,通常應該控制在200M--300M,如果是 ORACLE ERP 一類的使用了很多存儲過程函數、包 ,或者很大的系統,可以考慮增大shared_pool_size ,但是如果超過500M可能是危險的,達到1G可能會造成CPU的嚴重負擔,系統甚至癱瘓。所以shared_pool_size 如果超過300M還命中率不高,那么應該從應用上找原因而不是一味的增加內存,shared_pool_size 過大主要增加了管理負擔和latch 的開銷。

    log_buffer : 128K ---- 1M 之間通常問題不大,不應該太大

    large_pool_size :如果不設置MTS,通常在 RMAN 、OPQ 會使用到,但是在10M --- 50M 應該差不多了。假如設置 MTS,則由于 UGA 放到large_pool_size 的緣故,這個時候依據 session最大數量和 sort_ares_size 等參數設置,必須增大large_pool_size 的設置,可以考慮為 session * (sort_area_size + 2M)。這里要提醒一點,不是必須使用MTS,我們都不主張使用MTS,尤其同時在線用戶數小于500的情況下。

    java_pool_size : 若不使用java,給30M通常就夠了

    data buffer ,在做了前面的設置后,凡可以提供給oracle的內存,都應該給data buffer = (db_block_size * db_block_buffers)
    在9i 中可以是 db_cache_size

    還有2個重要參數我們需要注意

    sort_area_size and hash_area_size
    這兩個參數在非MTS下都是屬于PGA ,不屬于SGA,是為每個session單獨分配的,在我們的服務器上除了OS + SGA,一定要考慮這兩部分

    (****) : OS 使用內存+ SGA + session*(sort_area_size + hash_area_size + 2M) < 總物理RAM 為好


    這樣歸結過來,假定oracle是 32 bit ,服務器RAM大于2G ,注意你的PGA的情況,,則建議

    shared_pool_size + data buffer +large_pool_size + java_pool_size < 1.6G


    再具體化,注意滿足上面(****) 的原則的基礎上可以參考如下設置
    如果512M RAM
    建議 shared_pool_size = 50M, data buffer = 200M

    如果1G RAM
    shared_pool_size = 100M , data buffer = 500M

    如果2G
    shared_pool_size = 150M ,data buffer = 1.2G

    物理內存再大已經跟參數沒有關系了


    假定64 bit ORACLE

    內存4G
    shared_pool_size = 200M , data buffer = 2.5G

    內存8G
    shared_pool_size = 300M , data buffer = 5G

    內存 12G
    shared_pool_size = 300M-----800M , data buffer = 8G



    以上僅為參考值,不同系統可能差異比較大,需要根據具體情況調整。建議在設置參數的同時,init中使用 lock_sga ,在不同的平臺上可能有不同的方式,使得SGA鎖定在物理內存中而不被放入 SWAP 中,這樣對效率有好處


    關于內存的設置,要再進行細致的調整,起的作用不大,但可根據statspack信息和v$system_event,v$sysstat,v$sesstat,v$latch 等view信息來考慮微調

    posted on 2008-01-28 23:58 john 閱讀(794) 評論(0)  編輯  收藏 所屬分類: Oracle Technology

    主站蜘蛛池模板: 青青视频观看免费99| a级毛片视频免费观看| 久久WWW色情成人免费观看| 久久久久亚洲av无码专区| 久久国产乱子伦精品免费强| 亚洲日韩乱码中文无码蜜桃臀网站| 搜日本一区二区三区免费高清视频| 亚洲?v女人的天堂在线观看| 深夜a级毛片免费视频| 亚洲精品美女久久久久99小说| 黄色片网站在线免费观看| 2048亚洲精品国产| 在线免费观看伊人三级电影| 亚洲一区二区三区首页| 57PAO成人国产永久免费视频| 亚洲精品免费网站| 又粗又大又猛又爽免费视频| 青青草国产免费国产是公开| 亚洲人成人一区二区三区| 久久狠狠躁免费观看| 2017亚洲男人天堂一| 国产精品无码一二区免费| 一区二区三区在线观看免费| 久久噜噜噜久久亚洲va久| 色片在线免费观看| 在线观看亚洲专区| 亚洲产国偷V产偷V自拍色戒 | 精品无码国产污污污免费| 国产精品国产亚洲区艳妇糸列短篇 | 色天使色婷婷在线影院亚洲| 亚洲综合国产精品第一页| 无码国产精品一区二区免费16| 亚洲成a人片在线看| 亚洲A丁香五香天堂网| 一级毛片免费观看不卡视频| 亚洲国产精品无码第一区二区三区| 亚洲免费视频一区二区三区| 最近中文字幕免费2019| 污视频网站在线免费看| 久久夜色精品国产嚕嚕亚洲av| 97无码免费人妻超级碰碰碰碰 |