每一個運(yùn)行的ORACLE數(shù)據(jù)庫與一個ORACLE實(shí)例(INSTANCE)相聯(lián)系。
一個ORACLE實(shí)例為存取和控制一數(shù)據(jù)庫的軟件機(jī)制。每一次在數(shù)據(jù)庫服務(wù)器上啟動一數(shù)據(jù)庫時,稱為系統(tǒng)全局區(qū)(SYSTEM
GLOBAL AREA)的一內(nèi)存區(qū)(簡稱SGA)被分配,有一個或多個ORACLE進(jìn)程被啟動。該SGA 和
ORACLE進(jìn)程的結(jié)合稱為一個ORACLE數(shù)據(jù)庫實(shí)例。一個實(shí)例的SGA和進(jìn)程為管理數(shù)據(jù)庫數(shù)據(jù)、為該數(shù)據(jù)庫一個或多個用戶服務(wù)而工作。
ORACLE在內(nèi)存存儲下列信息:
l 執(zhí)行的程序代碼。
l 連接的會話信息
l 程序執(zhí)行期間所需數(shù)據(jù)和共享的信息
l 存儲在外存儲上的緩沖信息。
ORACLE具有下列基本的內(nèi)存結(jié)構(gòu):
l 軟件代碼區(qū)
l 系統(tǒng)全局區(qū),包括數(shù)據(jù)庫緩沖存儲區(qū)、日志緩沖區(qū)和共享池.
l 程序全局區(qū),包括棧區(qū)和數(shù)據(jù)區(qū).
l 排序區(qū)
軟件代碼區(qū)
用于存儲正在執(zhí)行的或可以執(zhí)行的程序代碼。
軟件區(qū)是只讀,可安裝成共享或非共享。ORACLE系統(tǒng)程序是可共享的,以致多個ORACLE用戶可存取它,而不需要在內(nèi)存有多個副本。用戶程序可以共享也可以不共享。
系統(tǒng)全局區(qū)
為一組由ORACLE分配的共享的內(nèi)存結(jié)構(gòu),可包含一個數(shù)據(jù)庫實(shí)例的數(shù)據(jù)或控制信息。如果多個用戶同時連接到同一實(shí)例時,在實(shí)例的SGA中數(shù)據(jù)可為多個用戶所共享,所以又稱為共享全局區(qū)。當(dāng)實(shí)例起動時,SGA的存儲自動地被分配;當(dāng)實(shí)例關(guān)閉時,該存儲被回收。所有連接到多進(jìn)程數(shù)據(jù)庫實(shí)例的全部用戶可自動地被分配;當(dāng)實(shí)例關(guān)閉時,該存儲被回收。所有連接到多進(jìn)程數(shù)據(jù)庫實(shí)例的全部用戶可使用其SGA中的信息,但僅僅有幾個進(jìn)程可寫入信息。在SGA中存儲信息將內(nèi)存劃分成幾個區(qū):數(shù)據(jù)庫緩沖存儲區(qū)、日志緩沖區(qū)、共享池、請求和響應(yīng)隊(duì)列、數(shù)據(jù)字典存儲區(qū)和其它各種信息。
程序全局區(qū)
PGA是一個內(nèi)存區(qū),包含單個進(jìn)程的數(shù)據(jù)和控制信息,所以又稱為進(jìn)程全局區(qū)(PROCESS GLOBAL AREA)。
排序區(qū)
排序需要內(nèi)存空間,ORACLE利用該內(nèi)存排序數(shù)據(jù),這部分空間稱為排序區(qū)。排序區(qū)存在于請求排序的用戶進(jìn)程的內(nèi)存中,該空間的大小為適就排序數(shù)據(jù)量的大小,可增長,但受初始化參數(shù)SORT-AREA-SIZER所限制。
方案也叫模式,一個模式(schema)為模式對象(scehma object)的一個集合,每一個數(shù)據(jù)庫用戶對應(yīng)一個模式。模式對象為直接引用數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu),模式對象包含如表、視圖、索引、聚集、序列、同義詞、數(shù)據(jù)庫鏈、過程和包等結(jié)構(gòu)。模式對象是邏輯數(shù)據(jù)存儲結(jié)構(gòu)。一個模式對象邏輯地存儲在數(shù)據(jù)庫的一個表空間中,每一個對象的數(shù)據(jù)物理地包含在表空間的一個或多個數(shù)據(jù)文件中。
建議:
服務(wù)器可用內(nèi)存較小,采用多方案。多個SCHEMA(方案、模式)
服務(wù)器可用內(nèi)存充足,采用多實(shí)例。多個INSTANCE(實(shí)例)
posted on 2010-07-17 19:57
小言身寸 閱讀(3395)
評論(0) 編輯 收藏 所屬分類:
數(shù)據(jù)庫/SQL語言