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