乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Oracle 內(nèi)存結(jié)構(gòu)和進程結(jié)構(gòu)

       guolijiegg 2012-01-18

      Oracle 內(nèi)存結(jié)構(gòu)和進程結(jié)構(gòu)

      分類: Oracle 171人閱讀 評論(0) 收藏 舉報

      Oracle 內(nèi)存結(jié)構(gòu)如下圖:

      1:實例(Instance)        
        在一個中,每一個運行的Oracle數(shù)據(jù)庫都與一個數(shù)據(jù)庫實例相聯(lián)系,實例是我們
       訪問數(shù)據(jù)庫的手段。
        實例在操作系統(tǒng)中用ORACLE_SID來標識,在Oracle中用參數(shù)INSTANCE_NAME來標識,
       它們兩個的值是相同的。數(shù)據(jù)庫啟動時,系統(tǒng)首先在內(nèi)存中分配系統(tǒng)全局區(qū)(SGA),
       構(gòu)成了Oracle的內(nèi)存結(jié)構(gòu),然后啟動若干個常駐內(nèi)存的操作系統(tǒng)進程,即組成了Oracle的
       進程結(jié)構(gòu),內(nèi)存區(qū)域和后臺進程合稱為一個Oracle實例。

      數(shù)據(jù)庫與實例之間是1對1/n的關(guān)系,在非并行的數(shù)據(jù)庫系統(tǒng)中每個Oracle數(shù)據(jù)庫與一個
       實例相對應(yīng);在并行的數(shù)據(jù)庫系統(tǒng)中,一個數(shù)據(jù)庫會對應(yīng)多個實例,同一時間用戶只與一個
       實例相聯(lián)系,當某一個實例出現(xiàn)故障時,其他實例自動服務(wù),保證數(shù)據(jù)庫正常運行。在任何
       情況下,每個實例都只可以對應(yīng)一個數(shù)據(jù)庫。

       2:Oracle 10g動態(tài)內(nèi)存管理
        內(nèi)存是影響數(shù)據(jù)庫性能的重要因素,Oracle8i使用靜態(tài)內(nèi)存管理,Oracle 10g使用動態(tài)
       內(nèi)存管理。所謂靜態(tài)內(nèi)存管理,就是在數(shù)據(jù)庫系統(tǒng)中,無論是否有用戶連接,也無論并發(fā)用
       量大小,只要數(shù)據(jù)庫服務(wù)在運行,就會分配固定大小的內(nèi)存;動態(tài)內(nèi)存管理允許在數(shù)據(jù)庫服
       務(wù)運行時對內(nèi)存的大小進行修改,讀取大數(shù)據(jù)塊時使用大內(nèi)存,小數(shù)據(jù)塊時使用小內(nèi)存,讀
       取標準內(nèi)存塊時使用標準內(nèi)存設(shè)置。


        按照系統(tǒng)對內(nèi)存使用方法的不同,Oracle數(shù)據(jù)庫的內(nèi)存可以分為以下幾個部分:
        系統(tǒng)全局區(qū):SGA(System Global Area)
        程序全局區(qū):PGA(Programe Global Area)
        排序池:(Sort Area)
        大池:(Large Pool)
        池:( Pool)

       2-1:系統(tǒng)全局區(qū)SGA(System Global Area)
         SGA是一組為系統(tǒng)分配的共享的內(nèi)存結(jié)構(gòu),可以包含一個數(shù)據(jù)庫實例的數(shù)據(jù)或控制信
        息。如果多個用戶連接到同一個數(shù)據(jù)庫實例,在實例的SGA中,數(shù)據(jù)可以被多個用戶共享。
        當數(shù)據(jù)庫實例啟動時,SGA的內(nèi)存被自動分配;當數(shù)據(jù)庫實例關(guān)閉時,SGA內(nèi)存被回收。
        SGA是占用內(nèi)存最大的一個區(qū)域,同時也是影響數(shù)據(jù)庫性能的重要因素。
        SGA的有關(guān)信息可以通過下面的語句查詢,sga_max_size的大小是不可以動態(tài)調(diào)整的。
         =====================================
         SQL> show parameter sga
         NAME                                 TYPE        VALUE
         ------------------------------------ ----------- --------
         lock_sga                             boolean     FALSE
         pre_page_sga                         boolean     FALSE
         sga_max_size                         big integer 164M
         sga_target                           big integer 0
         
         SQL> alter system set sga_max_size=100m;
         alter system set sga_max_size=100m
                       *
         ERROR at line 1:
         ORA-02095: specified initialization parameter cannot be modified
         ======================================  
        

      系統(tǒng)全局區(qū)按作用不同可以分為:
         數(shù)據(jù)緩沖區(qū)
         日志緩沖區(qū)
         共享池

        2-1-1:數(shù)據(jù)緩沖區(qū)(Database Buffer Cache)
          如果每次執(zhí)行一個操作時,Oracle都必須從磁盤讀取所有數(shù)據(jù)塊并在改變它之后
         又必須把每一塊寫入磁盤,顯然效率會非常低。數(shù)據(jù)緩沖區(qū)存放需要經(jīng)常訪問的數(shù)據(jù),
         供所有用戶使用。修改數(shù)據(jù)時,首先從數(shù)據(jù)文件中取出數(shù)據(jù),在數(shù)據(jù)緩沖區(qū)中,
         修改/插入數(shù)據(jù)也在緩沖區(qū)中,commit或DBWR(下面有詳細介紹)進程的其他條
         件引發(fā)時,數(shù)據(jù)被寫入數(shù)據(jù)文件。
          數(shù)據(jù)緩沖區(qū)的大小是可以動態(tài)調(diào)整的,但是不能超過sga_max_size的限制。
         ======================================
         SQL> show parameter db_cache_size
         NAME                                 TYPE        VALUE
         ------------------------------------ ----------- -----------------
         db_cache_size                        big integer 24M
         
         SQL> alter system set db_cache_size=128m;
         alter system set db_cache_size=128m
         *
         ERROR at line 1:
         ORA-02097: parameter cannot be modified because specified value is invalid
         ORA-00384: Insufficient memory to grow cache

         SQL> alter system set db_cache_size=20m;
         System altered.
         
         SQL> show parameter db_cache_size;
         NAME                                 TYPE        VALUE
         ------------------------------------ ----------- -----------------
         db_cache_size                        big integer 20M
         
         #此處我僅增加了1M都不行?
         SQL> alter system set db_cache_size=25m;
         alter system set db_cache_size=25m
         *
         ERROR at line 1:
         ORA-02097: parameter cannot be modified because specified value is invalid
         ORA-00384: Insufficient memory to grow cache

         #修改顯示格式,方便查看。
         SQL> column name format a40 wrap
         SQL> column value format a20 wrap
         
         #下面語句可以用來查看內(nèi)存空間分配情況,注意SGA各區(qū)大小總和。
         SQL> select name,value from v$parameter where name like '%size' and value <> '0';
         
         #先將java_pool_size調(diào)小,然后再修改db_cache_size
         SQL> show parameter java_pool_size;
         NAME                                 TYPE        VALUE
         ------------------------------------ ----------- -----
         java_pool_size                       big integer 48M

         SQL> alter system set java_pool_size=20m;
         System altered.

         SQL> alter system set java_pool_size=30m;
         System altered.
         #上面說明SGA中各區(qū)大小總和不能超過sga_max_size。
         =====================================
          數(shù)據(jù)緩沖區(qū)的大小對數(shù)據(jù)庫的存區(qū)速度有直接影響,多用戶時尤為明顯。有些應(yīng)
         用對速度要求很高,一般要求數(shù)據(jù)緩沖區(qū)的命中率在90%以上。
          下面給出一種計算數(shù)據(jù)緩沖區(qū)命中率的方法:
          使用數(shù)據(jù)字典v$sysstat
          =====================================
          SQL> select name, value from v$sysstat
               2  where name in('session logical reads',
               3  'physical reads',
               4  'physical reads direct',
               5  'physical reads direct (lob)')
          NAME                              VALUE
          ------------------------------- ----------
          session logical reads               895243
          physical reads                       14992
          physical reads direct                   34
          physical reads direct (lob)              0
          ======================================
          命中率=1-(14992-34-0)/895243

          可以讓Oracle給出數(shù)據(jù)緩沖區(qū)大小的建議:
          ======================================
          SQL> alter system set db_cache_advice=on;#打開該功能
          System altered.

          SQL> alter system set db_cache_advice=off;#關(guān)閉該功能
          System altered.
          ======================================

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多