零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
             上圖為Oracle的體系結構概貌,以圖所示:從大的方面來講Oracle由用戶進程、服務器端進程、實例以及數(shù)據(jù)等幾個部分組成。下面是各個部分的詳細說明:
              (1)用戶進程(User Process)與服務器端進程(Server process) 用戶進程是用戶用來與Oracle服務器交互的,其運行于客戶端,當用戶運行某個工具(如SQL*Plus)時創(chuàng)建,當用戶退出上述工具時結束,由上圖可以看出用戶進程并不是直接與Oracle實例或者是數(shù)據(jù)庫交互而是通過Oracle server process進行的。Oracle服務器端進程是用戶進程與Oracle核心的橋梁,用戶進程通過服務器端進程操作實例(instance)最終影響數(shù)據(jù)庫,如用戶發(fā)出一條SQL語句,會首先交由服務器端進程然后才會傳至實例。
              (2)實例(Instance) 實例由兩部分組成:一組Oracle進程和SGA。SGA全稱為System Global Area是一塊巨大的共享內存區(qū)域,他被看作是Oracle數(shù)據(jù)庫的一個大緩沖池,這里的數(shù)據(jù)可以被Oracle的各個進程共用。SGA本身又由其他的模塊組成,
                   1:共享池(Shared Pool) 共享池是SGA中最關鍵的內存片段,特別是在性能和可伸縮性上。一個太小的共享池會扼殺性能,使系統(tǒng)停止,太大的共享池也會有同樣的效果,將會消耗大量的 CPU來管理這個共享池。不正確的使用共享池只會帶來災難。共享池主要又可以分為以下兩個部分:
                     <1>SQL語句緩沖(Library Cache): 當一個用戶提交一個SQL語句,Oracle會將這句SQL進行分析(parse),這個過程類似于編譯,會耗費相對較多的時間。在分析完這個SQL,Oracle會把他的分析結果給保存在 Shared pool的Library Cache中,當數(shù)據(jù)庫第二次執(zhí)行該SQL時,Oracle自動跳過這個分析過程,從而減少了系統(tǒng)運行的時間。這也是為什么第一次運行的SQL比第二次運行的SQL要慢一點的原因。
                     <2>數(shù)據(jù)字典緩沖區(qū)(Data Dictionary Cache):ORACLE特地為數(shù)據(jù)字典準備的一塊緩沖池,供ORACLE內部使用.
                  2:塊緩沖區(qū)高速緩存(Database Buffer Cache):這些緩沖是對應所有數(shù)據(jù)文件中的一些被使用到的數(shù)據(jù)塊。讓他們能夠在內存中進行操作。在這個級別里沒有系統(tǒng)文件,用戶數(shù)據(jù)文件,臨時數(shù)據(jù)文件,回滾段文件之分。也就是任何文件的數(shù)據(jù)塊都有可能被緩沖。數(shù)據(jù)庫的任何修改都在該緩沖里完成,并由DBWR進程將修改后的數(shù)據(jù)寫入磁盤。
          posted on 2008-08-18 10:38 零全零美 閱讀(206) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 沽源县| 铜陵市| 始兴县| 专栏| 宝清县| 定日县| 阳西县| 兰坪| 安阳县| 静安区| 石阡县| 天镇县| 高淳县| 沈丘县| 马龙县| 灵台县| 梨树县| 迁安市| 鹤岗市| 临漳县| 宜君县| 米脂县| 河源市| 民权县| 孙吴县| 房山区| 金昌市| 樟树市| 榆社县| 台湾省| 民乐县| 安义县| 晋城| 封丘县| 云南省| 松桃| 兰考县| 莎车县| 浦城县| 图木舒克市| 阿拉善左旗|