天天看點

【Oracle學習】之 體系結構

​​連結:檔案體系結構​​

Oracle資料庫:①資料庫(DB),存放在磁盤上;②資料庫管理系統(DBMS)對磁盤上的資料庫進行管理;分别對應着資料庫的存儲結構和軟體結構。

Oracle資料庫的存儲結構(Storage Structure):分為實體存儲結構和邏輯存儲結構,分别描述了在作業系統中和資料庫系統内部資料的組織與管理方式。其中,實體存儲結構表現為作業系統中一系列檔案,邏輯存儲結構是對實體存儲結構的邏輯組織與管理。

Oracle資料庫的軟體結構:即Oracle執行個體,包括記憶體結構與背景程序結構兩部分。

一、實體存儲結構

資料檔案(.dbf)、控制檔案檔案(.ctl)和重做日志檔案(*.log)

①資料檔案(Data File)

  資料檔案是指存儲資料庫資料的檔案。例如,表中的記錄和索引等都存放在資料檔案中。

  讀取資料時,如果使用者要讀取的資料不在記憶體的資料緩沖區中,那麼Oracle就從資料檔案中把資料讀取出來,放到記憶體的緩沖區中去,供使用者查詢;存儲資料時,使用者修改或添加的資料會先儲存在記憶體的資料緩沖區中,然後由Oracle的背景程序DBWn将資料寫入資料檔案。

資料檔案特點:

1。一個表空間由一個或多個資料檔案組成。

2。一個資料檔案隻對應一個資料庫。而一個資料庫通常包含多個資料檔案。

3。資料檔案可以通過設定其參數,實作其自動擴充的功能。

了解資料檔案的資訊,可以查詢資料字典DBA_DATA_FILES和V$DATAFILE

desc      
【Oracle學習】之 體系結構
column name format a40;
select file#,name,checkpoint_change# from v$datafile;      
【Oracle學習】之 體系結構

  FILE#為資料檔案編号;NAME為資料檔案名稱;CHECKPOINT_CHANGE#為資料檔案的同步号,同步号随着系統的運作自動修改,以維持所有資料檔案的同步。

②控制檔案(Control Files)

  控制檔案是一個很小的二進制檔案,用于描述資料庫的實體結構。在Oracle資料庫中,控制檔案相當重要,它存放着資料庫中資料檔案和日志檔案的資訊。

  一個Oracle資料庫通常包含有多個控制檔案,在資料庫的使用過程中,資料庫需要不斷更新控制檔案,一旦控制檔案受損,那麼資料庫将無法正常工作。

Tip:在安裝Oracle系統時,會自動建立控制檔案

通過資料字典v$controlfile,可以了解控制檔案的資訊。

select name from      
【Oracle學習】之 體系結構

③重做日志檔案(Redo Log File)

  簡稱日志檔案,是指記錄資料庫中所有修改資訊的檔案。借助于日志檔案,可以保證資料庫的安全,也可以實作資料庫備份與恢複。

  為了確定日志檔案的安全,在實際應用中,允許對日志檔案進行鏡像。一個日志檔案和它的所有鏡像檔案構成一個日志檔案組,它們具有相同的資訊。同一組中的日志檔案最好儲存到不同的磁盤中,這樣可以防止實體損壞帶來的麻煩。

Tip:在一個日志檔案組中,日志檔案的鏡像個數受參數MAXLOGMEMBERS限制,最多可以由5個

通過資料字典v$LOG,可以了解系統目前正在使用哪個日志檔案組。

select group#, members, status from      
【Oracle學習】之 體系結構

④其他檔案

  參數檔案、備份檔案、歸檔重做日志檔案 和 警告、跟蹤日志檔案。

二、邏輯存儲結構

Tip:資料庫的邏輯存儲結構概念存儲在資料庫的資料字典中,可以通過資料字典查詢邏輯存儲結構資訊。

【Oracle學習】之 體系結構

Oracle資料塊(Oracle Data Block)、區(Extent)、段(Segment)和表空間(Table space)4種。一個或多個連續的Oracle資料塊構成區,一個或多個區構成段,一個或多個段構成表空間,所有表空間構成資料庫。

①Oracle資料塊

  Oracle資料塊是資料庫中最小的邏輯存儲單元,是資料庫執行輸入、輸出操作的最小單元,由一個或者多個作業系統塊構成。

  在Oracle 11g資料庫中,資料塊分為标準塊和非标準塊兩種,其中标準塊由資料庫初始化參數DB_BLOCK_SIZE設定,其大小不可更改。Oracle資料庫的預設資料緩沖區就是由标準資料塊構成的。

【Oracle學習】之 體系結構
show      
【Oracle學習】之 體系結構
Tip:由于塊頭部、表目錄和行目錄所組成的頭部資訊區并不存儲實際資料,是以一個資料塊的容量實際上就是空閑空間和行空間容量的總和

②區

  區由一系列連續的資料塊構成的邏輯存儲單元,是存儲空間配置設定的最小機關。

引入目的:為了提高系統存儲空間配置設定的效率,以區為機關的存儲空間配置設定大大減少了磁盤配置設定的次數。

select min_extents, max_extents, tablespace_name from      
【Oracle學習】之 體系結構

③段

表段、索引段、臨時段和退回段。

​​④表空間​​