詳解Oracle物理結(jié)構(gòu)
Oracle物理結(jié)構(gòu)包含了數(shù)據(jù)文件、日志文件和控制文件,下面就為您詳細介紹這三種Oracle物理結(jié)構(gòu)的組成部分,供您參考學習之用。
(1)數(shù)據(jù)文件
每一個ORACLE數(shù)據(jù)庫有一個或多個物理的數(shù)據(jù)文件(data file)。一個數(shù)據(jù)庫的數(shù)據(jù)文件包含全部數(shù)據(jù)庫數(shù)據(jù)。邏輯數(shù)據(jù)庫結(jié)構(gòu)(如表、索引)的數(shù)據(jù)物理地存儲在數(shù)據(jù)庫的數(shù)據(jù)文件中。數(shù)據(jù)文件有下列特征:
一個數(shù)據(jù)文件僅與一個數(shù)據(jù)庫聯(lián)系。
一旦建立,數(shù)據(jù)文件不能改變大小.
一個表空間(數(shù)據(jù)庫存儲的邏輯單位)由一個或多個數(shù)據(jù)文件組成。
數(shù)據(jù)文件中的數(shù)據(jù)在需要時可以讀取并存儲在ORACLE內(nèi)存儲區(qū)中。例如:用戶要存取數(shù)據(jù)庫一表的某些數(shù)據(jù),如果請求信息不在數(shù)據(jù)庫的內(nèi)存存儲區(qū)內(nèi),則從相應(yīng)的數(shù)據(jù)文件中讀取并存儲在內(nèi)存。當修改和插入新數(shù)據(jù)時,不必立刻寫入數(shù)據(jù)文件。為了減少磁盤輸出的總數(shù),提高性能,數(shù)據(jù)存儲在內(nèi)存,然后由ORACLE后臺進程DBWR決定如何將其寫入到相應(yīng)的數(shù)據(jù)文件。
(2)日志文件
每一個數(shù)據(jù)庫有兩個或多個日志文件(redo log file)的組,每一個日志文件組用于收集數(shù)據(jù)庫日志。日志的主要功能是記錄對數(shù)據(jù)所作的修改,所以對數(shù)據(jù)庫作的全部修改是記錄在日志中。在出現(xiàn)故障時,如果不能將修改數(shù)據(jù)***地寫入數(shù)據(jù)文件,則可利用日志得到該修改,所以從不會丟失已有操作成果。
日志文件主要是保護數(shù)據(jù)庫以防止故障。為了防止日志文件本身的故障,ORACLE允許鏡象日志(mirrored redo log),以致可在不同磁盤上維護兩個或多個日志副本。
日志文件中的信息僅在系統(tǒng)故障或介質(zhì)故障恢復數(shù)據(jù)庫時使用,這些故障阻止將數(shù)據(jù)庫數(shù)據(jù)寫入到數(shù)據(jù)庫的數(shù)據(jù)文件。然而任何丟失的數(shù)據(jù)在下一次數(shù)據(jù)庫打開時,ORACLE自動地應(yīng)用日志文件中的信息來恢復數(shù)據(jù)庫數(shù)據(jù)文件。
(3)控制文件
每一ORACLE數(shù)據(jù)庫有一個控制文件(control file),它記錄數(shù)據(jù)庫的物理結(jié)構(gòu),包含下列信息類型:
數(shù)據(jù)庫名;
數(shù)據(jù)庫數(shù)據(jù)文件和日志文件的名字和位置;
數(shù)據(jù)庫建立日期。
為了安全起見,允許控制文件被鏡象。
每一次ORACLE數(shù)據(jù)庫的實例啟動時,它的控制文件用于標識數(shù)據(jù)庫和日志文件,當著手數(shù)據(jù)庫操作時它們必須被打開。當數(shù)據(jù)庫的物理組成更改時,ORACLE自動更改該數(shù)據(jù)庫的控制文件。數(shù)據(jù)恢復時,也要使用控制文件。
以上就是Oracle物理結(jié)構(gòu)的介紹。
【編輯推薦】


















