數據文件
每壹個Oracle數據庫都有壹個或多個物理的數據文件,數據庫信息(結構,數據)都保存在這些數據文件中,並且這些文件也只Oracle才能夠解釋與管理這些存儲.Oracle數據文件具有以下壹些特性:
1.壹個數據文件僅僅關聯壹個數據庫,數據文件與數據庫之間對應關系是壹對壹關系,當然反過數據庫與數據文件是壹對多關系.
2.數據文件可以自動擴展,當數據存儲需要更多存儲空間時候,就是存儲數據的數據隨存儲數據量增大,數據文件也可以自動增長,以滿足數據存儲需要.
3.壹個或多個數據文件組成壹個邏輯單元,稱之為表空間.數據文件與表空間之間對應關系也是壹對壹關系,當然反過表空間與數據文件對應關系是壹對多的關系.
存儲在數據文件中的是可以讀,當然這些數據是保存在Oracle數據庫實例中特定的內存區域中,如果壹個用戶要讀取數據庫中壹個表,這個用戶是不能直接讀取物理磁盤上的數據文件的,首先Oracle接受這個請求後,從造當位置(物理磁盤)上讀取相應的數據到內存中,這個時候用戶才可以看見數據.Oracle軟件是解釋Oracle存儲與管理數據的.如果這個時候我們修改數據,這些數據是不會立即寫到磁盤中的.要到特定時候才會寫磁盤.頻繁立即寫會引I/O性能下降.
Oracle會在特定時候完成這數據寫工作.
控制文件
每壹個Oracle數據庫都有壹個控制文件.這個控制文件是Oracle能夠正常工作壹個前提.控制文件壹般有三個功能:壹記錄著物理磁盤上信息.二記錄Oracle數據庫本身邏輯結構.三:起到壹個全局監管作用.它壹般包括以下幾個部分:
1.數據庫名稱
2.數據文件與日誌文件在磁盤上信息.
3.數據庫創建時間
如果控制文件損失那麽Oracle數據庫就不能下常啟動,理論上只能啟動到MOUNT狀態.因為控制文件如此重要,Oracle允許同時可以鏡像多個控制文件.
當數據庫啟動時候,控制文件中記錄數據文件與日誌文件必須要被Oracle進程所讀取.數據庫結構變化也隨時記錄在控制文件中.控制文件對Oracle恢復也啟著非常大作用.
重做日誌文件
每個Oracle數據庫都包含至少兩組到多組重做日誌文件,重做日誌文件主要是記錄數據變化壹過程.是記錄壹個延續變化過程.其實控制也記錄Oracle變化過程,但是兩都還是有很大區別的,控制記錄著數據庫體系結構的變化.壹個架構的變化,重做日誌文件當然也記錄這些變化,但它記錄更細數據庫中數據變化.這些信息主要是用於數據庫恢復操作.
歸檔日誌文件
因為Oracle數據庫只要發生操作重做日誌文件,就會記錄這些信息.但是當記錄壹定的時候,如果把這些信息給永久保存下來,那麽保存下來的”日誌”就稱之會歸檔日誌.當然如果數據庫要運行歸檔模式下,如果數據不運行歸檔模式下,那麽重做日誌就循環寫.
參數文件
因為Oracle數據有兩部分組成,數據庫與實例.數據庫壹個體系結構是由控制文件進行記錄的,但實例體體系結構呢?這些當然是由參數文件來記錄著,當然參數文件還記錄Oracle軟件本身操作的壹些特性,比如上面說到是否歸檔當.參數據文件記錄大部信息都抽像的,但是數據庫實例子啟動,這時並不訪問數據庫,因為必須要控制文件指示著物理體系結構.對於對於參數文件向物理結構過渡,有壹個非常重要的參數就是控制文件.這個參數記錄著控制文件在磁盤上位置.而控制文件又記錄數據文件與日誌文件和數據本身壹些信息.從這裏我們可以看出數據庫啟動是分三個階段進行的.
1.第壹步讀取參數文件啟動實例.這時並沒有打開數據庫,到這種狀態也就是我們常說的NOMOUNT狀態.
2.第二步根據參數文件記錄讀取控制文件.這時候只是讀取控制文件,還沒有對控制文件進行解釋.壹般恢復操作都是在這步完成.MOUNT
3.第三步根據控制文件中的信息,讀取數據文件與控制文件.當然這時候在核對磁盤上記錄的信息和控制文件本身信息.如果不通過,會告之有問題,數據庫要進行恢復.(當然這步是必須的,我們想如果不管對不對都正常啟動,那麽感覺數據就會變得非常亂,用戶自己數據損失了或是丟失都不知道,這樣很可怕,這點可以看出解釋控制文件也就是檢查數據庫完整性),如果比對成功這時候數據庫就可以OPEN了.
告警日誌
對於數據,操作記錄 實例子與數據庫信息都有對應記錄信息了,但是如果我們操作上出現問題或是數據庫本身出現問題,這些問題又有誰來記錄呢?記錄這些信息壹般要告警日誌,如果沒有告警日誌會有什麽問題,就是運行著數據庫發行了什麽問題我們都不知道.我們可以做壹個比方.控制文件只在數據庫啟動之初審核壹下.如果通過我就讓妳啟動,但數據庫運行過程出現的問題,我不管,但這些有誰來管呢?當然就是告警日誌了.它應該時刻伴隨數據庫,記錄壹些影響數據健康問題.
備份文件
數據庫僅僅有歸檔日誌還是很安全,有的時候還需要備份,備份文件就是歸檔日誌後備部分,但是它是十分強大,它是Oracle管理工具生成文件,當然要也可以冷備.管理工具管理著數據庫安全與備份,它的體現就是擁有備份文件.只有Oracle特定工具才能解釋的格式.用於在災難情況(比如沒有了歸檔)下進行恢復.