常見問題--oracle物理資料庫結構概述

oracle_db發表於2009-07-01

Oracle資料庫的各種物理結構:

包括資料檔案(datafile)、重做日誌檔案(redo log files)、和控制檔案(control files)。

資料檔案:

每個Oracle資料庫使用一個或多個物理的資料檔案(datafile)。資料檔案中包含所了有的資料庫資料。按表、索引等邏輯資料庫結構組織的資料儲存在資料庫的資料檔案中。

資料檔案的特點有:

  • 一個資料檔案只能屬於一個資料庫

  • 當資料庫空間用完時,資料檔案可以按照預定的設定自動擴充套件。

  • 一個或多個資料檔案形成了資料庫中的一種邏輯結構-表空間。

當需要時,資料檔案中的資料通過資料庫操作被讀出,並快取於Oracle的記憶體結構中。例如,當使用者需要訪問資料庫表中的資料時,如果使用者請求的資料還沒有放入快取中, 資料庫就會把資料從相應的資料檔案中讀出再放入記憶體。

新建或修改的資料不一定立即被寫入資料檔案。為了減少磁碟訪問以提高效能,變化資料暫存在記憶體中,在適當時間集中地寫入相應的資料檔案,這個過程由後臺程式資料庫寫程式 (DBWn)(database writer process,DBWn)完成。]

控制檔案:

每個Oracle資料庫都有控制檔案(control file)。控制檔案中含有說明資料庫物理結構的內容。例如,其中包含以下資訊:

  • 資料庫名

  • 資料檔案、重做日誌檔案的名稱和位置

  • 資料庫建立的時間戳

Oracle可以使用多重控制檔案,即同時維護多個完全相同的控制檔案,以防止控制檔案損壞造成的資料庫故障。

Oracle資料庫的例項每次啟動時,通過控制檔案中的內容來確定哪些資料庫檔案和重做日誌檔案是執行資料庫操作所必需的。當資料庫的物理構成發生變化時(例如建立了新的資料檔案或重做日誌檔案),Oracle自動地修改控制檔案以反映這些變化。此外,資料庫恢復(database recovery)時也要用到控制檔案。

重做日誌檔案:

每個Oracle資料庫都有兩個或多個重做日誌檔案(redo log file)。這組檔案作為一個整體被稱為資料庫的重做日誌。重做日誌由重做條目(redo record)構成(也被稱為重做記錄)。

重做日誌的主要功能是記錄對資料的操作。如果某種故障導致無法將修改過的資料永久的寫入資料檔案,那麼這些修改內容可以從重做日誌中獲得,使用者已完成的任務不會丟失。

為了防止重做日誌自身的問題導致故障,Oracle支援多重重做日誌(multiplexed redo log)功能,即將內容相同的多份重做日誌儲存在不同的磁碟中。

重做日誌中的資訊只能用於恢復由於系統或介質故障導致的不能被寫入資料檔案的資料。例如,如果突然的斷電導致資料庫操作停止,則記憶體中的資料不能被寫入資料檔案,造成資料丟失。當電力恢復資料庫再次開啟時可以恢復丟失的資料。將最新的重做日誌檔案中的資訊應用於資料檔案,Oracle可以將資料庫恢復到斷電時的狀態。

在恢復操作中恢復重做日誌資訊的過程叫做前滾(rolling forward )。

注:摘自概念手冊

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

相關文章