簡要說明oracle數據庫體系的內存結構
內存結構 oracle內存結構大致具有四個區:軟件代碼區、系統全局區、程序全局區和排序區。 1、系統全局區。(SGA) 系統全局區為壹組由oracle分配的***享數據結構,它是實例的主要部分,它含有數據維護、SQL語句分析與重做緩存所必須的所有內存結構,系統全局區的數據是***享的,也就是說,多個進程可以在同壹時間對SGA中的數據進行訪問和修改。它包含以下內容: <1>、數據塊緩沖區 該區存放最近使用過的數據塊,使用LRU(最近最少使用算法)進行管理。 <2>、字典緩沖區 該區用於保存數據字典中的行,數據字典中存放oracle系統管理自身所需的所有信息。該區也使用LRU算法管理。 <3>、重做日誌緩沖區 任何事務在記錄到重做日誌之前都先放到該區,數據庫系統定期將該區內容寫入到聯機重做日誌中。 <4>、SQL***享池 存放所有通過SQL語法分析、準備執行的SQL語句。 <5>、JAVA池 為JAVA命令提供語法分析。 <6>、多緩沖池 可以在SGA中創建多個緩沖池,能夠用多個緩沖池把的數據集與其他的應用程序分開,以減少它們爭奪數據塊緩沖區相同資源的可 能性。 2、程序全局區(PGA) 包含單個服務器進程或單個後臺進程的數據和控制信息,與幾個進程***享的SGA 正相反PGA 是只被壹個進程使用的區域,PGA 在創建進程時分配在終止進程時回收。 3、排序區 排序需要內存,這部分空間成為排序區,排序區存在於請求排序的用戶進程的內存中,該空間的大小為適應排序數據量的大小,可增長,但受初始化參數SORT_AREA_SIZER所限制。 4、軟件代碼區 用於存儲正在執行或可以執行的程序代碼。 </FONT></SPAN>