Oracle9iFundamentals1-1

第一章:Oracle數據庫結構

基本知識

三個概念:Oracle服務器、Oracle實例和Oracle數據庫。

Oracle服務器是最大的一個概念,包含一個Oracle實例和一個Oracle數據庫。

Oracle實例是後臺進程和內存結構的組合。

Oracle數據庫包含一些數據庫文件。

基本結構:2個部分組成,Oracle實例和Oracle數據庫。

Oracle實例主要是SGA(系統全局區),其中主要三塊包括Shared Pool(共享池)、Database Buffer Cache(數據庫緩存)、Redo Log Buffer(重做日誌緩存);另外可選的還有Java Pool(Java池)、Large Pool;

Oracle實例中還包括:後臺進程,其中有PMON(進程監控)、SMON(系統監控)、DBWR(數據庫寫入)、LGWR(日誌寫入)、CKPT(檢查點)、Others。

Oracle數據庫主要三個塊,包括:Datafiles(數據文件)、ControlFiles(控制文件)、RedoLogfiles(重做日誌文件);另外還有Parameterfile(參數文件)、Passwordfile(口令文件)、ArchiverLogfiles(歸檔日誌文件)。

---------------------------

Oracle服務器

是信息管理的關鍵。必須可靠的管理多個用戶的數據,以便多個用戶能夠同時訪問同一數據。包括Oracle實例和Oracle數據庫。

Oracle實例

是用戶與數據庫連接一種方式,始終打開一個,並且只打開一個數據庫;由內存結構和後臺進程組成。

Oracle數據庫

數據文件集合,包括三類文件:數據文件,控制文件和重做日誌文件。

內存結構

兩個區:SGA(系統全局區)和PGA(程序全局區);

SGA包括:共享池、數據庫緩衝區高速緩存、重做日誌緩衝區、其它結構。還有大型共享池和Java池。

 

SGA

SGA是動態的,大小由參數SGA_MAX_SIZE參數指定,由粒組單位進行分配,當SGA小於128M時,粒組大小爲4M,若SGA大於128M時,則爲16M;粒組大小由SGA_MAX_SIZE總計大小;

共享池

用於存儲最近執行的SQL語句和使熱土的數據定義,包含兩個關鍵性內存結構:數據庫高速緩存和數據字典高速緩存;其大小由SHARED_POOL_SIZE參數確定;

數據庫高速緩存

存儲最近使用的SQL和PL/SQL語句,使用LRU管理,包括兩個結構:共享的SQL區和共享的PL/SQL區,大小由共享池大小確定;

數據字典高速緩存

數據中最近使用的定義集合,包括數據庫相關各個對象的信息,大小由共享池大小決定;

重做日誌緩衝區

記錄對數據塊所做的全部更改,主要用於恢復數據,大小由LOG_BUFFER參數確定;

大型共享池

分擔共享池的部分工作,大小由LARGE_POOL_SIZE確定;

Java池

存儲Java命令的服務分析,在使用Java時是必須的,大小由JAVA_POOL_SIZE確定;

PGA

爲連接到Oracle數據庫的每個用戶進程保留的內存,在創建進程時分配,在終止進程時回收,一個進程使用一個PGA;

Process Structure 進程結構

包括三種:用戶進程、服務器進程和後臺進程;

用戶進程:在數據庫用戶在客戶端請求連接到Oracle服務器時啓動;

服務器進程:與Oracle實例相連,在用戶和數據庫之間建立一個連接;

後臺進程:在Oracle實例啓動時啓動。服務器進程與數據庫通過後臺進程進行數據操作。

用戶進程

請求與Oracle服務器連接的程序,必須先建立連接,但不與Oracle數據庫直接連接;

服務器進程

直接與Oracle服務器連接的程序,執行生成的調用並返回相關結果;當用戶進程連接上服務器是,服務器進程就啓動,當用戶進程與Oracle 服務器斷開時,服務器進程回收;

後臺進程

包括兩部分:必備後臺進程和可選的後臺進程。

必備的:DBWn、PMON、SMON、CKPT、LGWR;

可選的:ARCn、LMDn、RECO、CJQ0、LMON、Snnn、Dnnn、Pnnn、LCKn、QMNn;

實際上,ARCn(歸檔進程)是很關鍵的,爲了提高Oracle服務器的安全性及備份和可用性,該進程是必須的。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章