Oracle體系架構: 物理存儲結構
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢Oracle體系架構: 物理存儲結構中,物理存儲結構是實際的數據存儲單元,對應于操作系統文件,比邏輯存儲結構更易理解。oracle數據庫就是由駐留在服務器的磁盤上的這些操作系統文件組成的。這些文件有控制文件,數據文件和重做日志文件。
與oracle數據庫有關,但從技術上說不屬于oracle數據庫的附屬文件有密碼文件(PWD.ORA),參數文件(SPFILE.ORA),歸檔重做日志文件。
物理存儲結構與邏輯存儲結構之間在操作上的一個區別是,邏輯存儲結構只有創建、刪除的操作,而物理存儲結構除了創建、刪除之外,還有一個重要的、將其移動到另外一個位置(包括改變其名稱)的操作,這樣就可以實現多路復用(控制文件、中作日志文件)和將它們安排到不同磁盤位置、更換名稱的功能了。
一、 控制文件
控制文件是一個很小的(通常是數據庫中最小的)文件,大小一般在1~5M左右,為二進制文件。但它是數據庫中的關鍵性文件,它對數據庫的成功啟動和正常運行都是至關重要的,因為它存儲了在其他地方無法獲得的關鍵信息,這些信息包括:
1、數據庫的名稱
2、數據文件和重做日志文件的名稱、位置、聯機\脫機狀態和大小
3、發生磁盤故障或用戶錯誤時,用于恢復數據庫的信息(日志序列號,檢查點)
在數據庫的運行過程中,每當出現數據庫檢查點或修改數據庫的結構之后,oracle(只能有oracle本身)就會修改控制文件的內容。DBA可以通過OEM工具修改控制文件中的部分內容,但DBA和用戶都不應該認為的修改控制文件中的內容,否則會破壞控制文件。
二、 數據文件
數據文件是實際存儲插入到數據庫中的實際數據的操作系統文件。數據以一種oracle特有的格式被寫入到數據文件,其他程序無法讀取數據文件中的數據。
數據文件的大小與他們所存儲的數據量的大小直接相關。寫入數據后會由于自動分配新區而增大,但刪除數據卻不會使其減少,而只能使得其中有更多的空閑區。
除了SYSTEM表空間之外,任何表空間都可以有聯機狀態切換為脫機狀態。當表空間進入脫機狀態時,組成該表空間的數據文件也就進入脫機狀態了。可以將表空間的某一個數據文件單獨的設置為脫機狀態,以便進行數據庫的備份或恢復,否則是不能備份的。
三、 重做日志文件
當用戶對數據庫進行修改的時候,實際上是先修改內存中的數據,過一段時間后,再集中將被村中的修改結果成批的寫入到上面的數據文件中。oracle采取這樣的做法,主要是出于性能上的考慮,因為針對數據操作而言,內存的速度比硬盤的速度要快成千上萬倍。
oracle利用“(聯機)重做日志文件”隨時保存修改結果,即oracle隨時將內存中的修改結果保存到“重做日志文件”中。“隨時”表示在將修改結果寫入到數據文件之前,可能已經分幾次寫入到“重做日志文件”。因此,即使發生故障導致數據庫崩潰,oracle也可以利用重做日志文件中的信息來恢復丟失的數據。只要某項操作的重做信息沒有丟失,就可以利用這些重做信息來重現該操作。
oracle是以循環方式來使用重做日志文件的,所以每個數據庫至少需要兩個重做日志文件。當第一個重做日志文件被寫滿后,后臺進程LGWR(日志寫進程)開始寫入第二個重做日志文件;當第二個重做日志文件被寫滿后,又始寫入第二個重做日志文件,以此類推。
四、 其他文件
其他文件包括參數文件、口令文件、歸檔重做日志文件、預警和跟蹤文件等。