1. 程式人生 > >oracle 的資料庫、表空間、表是什麼關係

oracle 的資料庫、表空間、表是什麼關係

你這個問題,就涉及到Oracle的啟動機制了,如果你沒有看過書的,我給你你講起來也不太容易,簡單說幾句,
oracle啟動的時候,讀取ctl檔案(叫控制檔案),這個控制檔案裡記錄的內容告訴oracle目前這個資料庫都是由哪些dbf組成的。然後讀取所有的dbf檔案,看這些dbf檔案的最後修改時間是否和控制檔案中記錄的一樣(同事還要比對日誌檔案中記錄的最後修改時間),如果這些檔案的最後修改時間都一致,那麼說明oracle上次關閉是正常的,假如不一致,則利用日誌檔案重現之前的操作(日誌檔案裡記錄oracle的所有操作),最終時所有型別的檔案的最後修改時間一致,然後開啟,相信你已經看出來了,如果ctl檔案壞了的話,你的資料實際上全都無法讀取,因為oracle已經不知道自己的結構了。因此oracle預設將控制檔案複製3份儲存,足見其重要性。
因為估計你沒有看過書,所以我用了淺顯易懂的詞來描述,他們在oracle中應該叫:
最後修改時間: SCN(System Change Number)
日誌檔案:redo log(可能還涉及到Archive 歸檔檔案)
重現操作:roll forward (前滾)(實際上發生SCN不一致時需要進行恢復,在前滾後還要回滾,以後再說)
以上,請您參考