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

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

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

    cAng^Er

    不懂我的人 , 離不了我 , 該了解了解我 !而懂我的人 , 更離不了我 , 因為他們愛我 。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      30 隨筆 :: 16 文章 :: 18 評論 :: 0 Trackbacks

    原文:http://bbs.dameng.com/viewthread.php?tid=2202&extra=page%3D1

    PGA是一個服務器進程的專用的私有內存區,而SGA則是共享內存區。

    SGA由多個部分組成:
    1, 固定SGA(Fixed SGA)
    2, 塊緩沖區(Db cache)
    3, 重做日志緩沖區(Redo log buffer)
    4, Java池(Java pool)
    5, 大池(Large pool)
    6, 共享池(Shared pool)
    7, 流池(Stream pool)

    有如下參數控制共享池相關組件大?。?br /> 1, JAVA_POOL_SIZE:控制Java池大小。
    2, SHARED_POOL_SIZE:9i中控制共享池中占用最大的部分,10g以上控制共享池大小。
    3, LARGE_POOL_SIZE:控制大池大小。
    4, DB_*K_CACHE_SIZE:控制不同塊大小的緩沖區大小。
    5, LOG_BUFFER:控制重做日志緩沖區大小。
    6, SGA_TARGET:10g以上控制自動SGA內存管理的總內存大小。
    7, SGA_MAX_SIZE:控制SGA可以達到的最大大小,改變需重啟數據庫。

    下面將詳細介紹各個部分的作用和推薦設置。

    SGA各組件作用
    1, SGA:

    2, 塊緩沖區:
        查詢時,Oracle會先把從磁盤讀取的數據放入內存,以后再查詢相關數據時不用再次讀取磁盤。insert和update時,Oracle SGA會現在該區中緩存數據,之后批量寫到硬盤中。通過塊緩沖區,Oracle可以通過內存緩存提高磁盤的I/O。
        塊緩沖區中有三個區域:
    默認池(Default pool):所有數據默認都在這里緩存。
    保持池(Keep pool):用來緩存需要多次重用的數據。
    回收池(Recycle pool):用來緩存很少重用的數據。

        原來只有一個默認池,所有數據都在這里緩存。這樣會產生一個問題:大量很少重用的數據會把需重用的數據緩沖區,造成磁盤I/O增加,運行速度下降。后來分出了保持池和回收池根據是

    否經常重用來分別緩存數據。
        這三部分內存區需要手動確定大小,并且之間沒有共享。例如:保持池中已經滿了,而回收池中還有大量空閑內存,這時回收池的內存不會分配給保持池。
        9i開始,還可以設置db_nk_cache。9i之前數據庫只能使用相同的塊大小。9i開始同一個數據庫可以使用多種塊大小(2KB,4KB,8KB,16KB,32KB),這些塊需要在各自的db_nk_cache中緩存。如果為不

    同的表空間指定了不同的塊大小,需要為其設置各自的緩沖區。

    3, 重做日志緩沖區(Redo log buffer):
        數據寫到重做日志文件之前在這里緩存,在以下情況中觸發:
    每隔3秒
    緩存達到1MB或1/3滿時
    用戶提交時
    緩沖區的數據寫入磁盤前

    4, Java池(Java pool):
        在數據庫中運行Java代碼時用到這部分內存。例如:編寫Java存儲過程在服務器內運行。需要注意的是,該內存與常見的Java編寫的B/S系統并沒關系。用JAVA語言代替PL/SQL語言在數據庫中寫存儲

    過程才會用到這部分內存。

    5, 大池(Large pool):
        下面三種情況使用到大池:
    并行執行:存放進程間的消息緩沖區
    RMAN:某些情況下用于磁盤I/O緩沖區
    共享服務器模式:共享服務器模式下UGA在大池中分配(如果設置了大池)

    6, 共享池(Shared pool)
        共享池是SGA中最重要的內存段之一。共享池太大和太小都會嚴重影響服務器。
    SQL和PL/SQL的解釋計劃、代碼,數據字典數據等等都在這里緩存。
    SQL和PL/SQL代碼在執行前會進行“解析”來獲得執行計劃及權限驗證等相關輔助操作。“解析”很費時間。對于響應時間很短的查詢,“解析”可以占到全部時間的2/3。對于響應時間較長的統計等操

    作,“解析”所占用的時間比例會下降很多。執行計劃及所需的數據字典數據都緩存在共享池中,讓后續相同的查詢可以減少很多時間。
        不使用“綁定變量”導致:
        系統需要花費大量的資源去解析查詢。
        共享池中的代碼從不重用,系統花費很大代價管理這部分內存。
        關于共享變量的優缺點討論已經超過了這篇文章的范疇,簡單來講,響應時間短的查詢要使用共享變量,響應時間長的統計不使用共享變量。
        需要注意的是,SHARED_POOL_SIZE參數在9i中控制共享池中占用最大的部分,10g以上控制共享池總大小。

    7, 流池(Stream pool)
        9iR2以上增加了“流”技術,10g以上在SGA中增加了流池。流是用來共享和復制數據的工具。
    posted on 2011-02-23 10:49 cAng^Er 閱讀(336) 評論(0)  編輯  收藏 所屬分類: |:數 據 庫:|
    主站蜘蛛池模板: 国产综合免费精品久久久| 亚洲欧美日韩中文二区| g0g0人体全免费高清大胆视频| 日本免费无遮挡吸乳视频电影| 亚洲日韩久久综合中文字幕| 国产美女精品视频免费观看| 一本色道久久综合亚洲精品蜜桃冫 | 国产精品永久免费视频| 国产亚洲精久久久久久无码77777| 一级毛片不卡免费看老司机| 日韩精品亚洲aⅴ在线影院| 国产成人免费ā片在线观看老同学| 亚洲熟妇av一区二区三区| 日韩免费电影网址| 在线观看亚洲专区| 亚洲AⅤ无码一区二区三区在线| 特级做a爰片毛片免费看| 亚洲色婷婷综合久久| 少妇人妻偷人精品免费视频| 亚洲国产成人久久三区| 成人免费无码大片A毛片抽搐| 国产午夜亚洲精品不卡| 久久乐国产精品亚洲综合| 91精品视频在线免费观看| 亚洲AV日韩综合一区尤物| 99免费观看视频| 亚洲精品人成网在线播放影院| 日韩人妻无码免费视频一区二区三区| 春暖花开亚洲性无区一区二区| 亚洲综合伊人久久大杳蕉| 久久午夜羞羞影院免费观看| 欧洲 亚洲 国产图片综合| 亚洲国产婷婷香蕉久久久久久| 九九美女网站免费| 亚洲永久在线观看| 久久久久久久免费视频| 免费国产高清毛不卡片基地| 亚洲av无码一区二区三区乱子伦| 最近最好的中文字幕2019免费 | 国产成人在线观看免费网站 | 24小时免费看片|