教你如何成為Oracle 10g OCP - 第一章學習

tolywang發表於2009-06-01

Oracle資料庫:   在硬碟上實際存在的資料的檔案,這些檔案組織在一起,稱為一個邏輯整體 ,稱為Oracle資料庫。

Oracle例項:  SGA+ 後臺程式

Oracle例項 + Oracle資料庫 = 才能對外提供服務 

SGA = System Global Area   例項啟動的時候(nomount 狀態) 在記憶體中分配的一塊共享空間,被所有程式共享

分配SGA後, Oracle啟動一組後臺程式(PMON ,SMON, DBWR, LGWR, CKPT 等) ,例項生成了

Oracle軟體在例項啟動後,會mount 將啟動的例項與某個資料庫相關聯 ,這個過程叫做mount  

最後成功mount到某資料庫後,就可以open 資料庫包含的物理檔案了 ,這個過程叫做open 資料庫

open後的資料庫,使用者才能在其中讀寫資料了

-------

單例項 :  一個例項對應一個資料庫

RAC (real application cluster ):   一個資料庫被多個例項關聯, mount,  open  . 這就是RAC資料庫 

-------

Oracle檔案系統 :

關鍵檔案 :   datafile  ,   online redo log  ,  controlfile  

非關鍵檔案 :  parameter file ,  password file  ,   archived redo log file  , alert file ,   trace  file  ,  backup file  . 

關鍵文檔案丟失,需要介質恢復 ( Media Recovery ) ,   

--------

SGA :

共享池(shared pool)  ,   大池(large pool) ,  Java pool  , database  buffer cache ,   redo log buffer ,  stream pool (10g)

基本後臺程式 :

SMON ,   PMON , DBWn,   LGWR,  CKPT ,  ARCn ,  等基本程式, 如果是RAC還包括其他一些程式

資料庫儲存 :

關聯式資料庫邏輯結構: Table 

資料檔案,控制檔案,聯機日誌檔案的邏輯組合叫做資料庫, 所有資料檔案劃分為多個邏輯組,叫做表空間 , 一個表空間至少有一個資料檔案, 一個資料檔案只能對應一個tablespace .   

邏輯結構:    database,    tablespace ,  segment ,  extent ,  oracle data block 

物理結構:   data  file  ,   os   block  

Segment :    表空間下更小的邏輯組 , 一般表示我們熟悉的 table, index 了 

Extent :     表示邏輯上連續的一段空間, Segment 的增大和減小是以Extent 為單位的 ,擴大段(Segment)的時候,  增長的單位是1個或整數個Extents .   不能是 0.6個或5.8 個 。 Extent 是邏輯上連續的空間,所以不能跨多個datafile 存在,  一個Extent 只能在一個datafile 中, 否則就不是連續的空間了 。

 Oracle Block :   最小的邏輯組, 不能再細分的邏輯組, Oracle向OS發出一次I/O請求的最小讀取寫入單位, 也就是一次I/O 至少獲取一個資料塊(當然也可以多個) ,但是不能一次獲取 0.5, 0.8 , 2.4 個資料塊 。

OS Block :   物理層面上, Oracle block 這個邏輯組是由一個或多個OS Block組成的 , 比如 Oracle block 大小可以為 4KB,  8KB , 16KB,  32KB ,   大部分作業系統中的OS Block 是 512 bytes ,  如果 Oracle block = 4KB ,  那麼就一個Oracle block 包含了 8 個作業系統物理塊 。  這樣作主要是為了操作效率高一些, 一次能存取多個作業系統塊。

 

   

 

 

 

 

 

 

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-609149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章