控制檔案

控制檔案(Control File)是Oracle的物理檔案之一,它記錄了資料庫的名字、數據檔案的位置等信息。控制檔案的重要性在於,一旦控制檔案損壞,資料庫將會宕機。

控制檔案

控制檔案(Control File)是Oracle的物理檔案之一,它記錄了資料庫的名字、數據檔案的位置等信息。控制檔案的重要性在於,一旦控制檔案損壞,資料庫將會宕機。如果沒有資料庫的備份和歸檔日誌檔案,資料庫將無法恢復。因此,我們應該多路鏡像控制檔案(Multiplex Control Files),並把每個鏡像的控制檔案分布在不同的物理磁碟。根據經驗,控制檔案多路鏡像以後,幾個控制檔案同時壞掉的可能性幾乎為零。控制檔案管理的重心是重在預防,而不是亡羊補牢!

控制檔案的概念


控制檔案是一個很小的二進制檔案,用於記錄資料庫的物理結構。一個控制檔案只屬於一個資料庫。創建資料庫時,創建控制檔案。當資料庫的物理結構改變的時候,Oracle會更新控制檔案。用戶不能編輯控制檔案,控制檔案的修改由Oracle完成。
資料庫的啟動和正常運行都離不開控制檔案。啟動資料庫時,Oracle從初始化參數檔案中獲得控制檔案的名字及位置,打開控制檔案,然後從控制檔案中讀取數據檔案和在線上日誌檔案的信息,最後打開資料庫。資料庫運行時,Oracle會修改控制檔案,所以,一旦控制檔案損壞,資料庫將不能正常運行。
控制檔案記錄的資料庫信息如下:
資料庫名稱(Database Name)
創建資料庫的時間戳
數據檔案的名字及位置
在線上日誌檔案的名字及位置
表空間信息
日誌歷史記錄(Log History)
歸檔日誌的信息
備份信息
當前的日誌序列號(Log Sequence Number)
校驗點信息(Checkpoint)
控制檔案的大小由下面的幾個參數決定:
MAXLOGFILES
MAXLOGMEMBERS
MAXLOGHISTORY
MAXDATAFILES
MAXINSTANCES
當增加、重命名、刪除一個數據檔案或者一個在線上日誌檔案時,Oracle伺服器進程(Server Process)會立即更新控制檔案以反映資料庫結構的這種變化。所以,Oracle總是告誡我們,在資料庫的結構發生變化後,要備份控制檔案。日誌寫進程LGWR負責把當前日誌序列號記錄到控制檔案中。校驗點進程CKPT負責把校驗點的信息記錄到控制檔案中。歸檔進程負責把歸檔日誌的信息記錄到控制檔案中。
初始化參數CONTROL_FILES的值記錄控制檔案的位置。通常,DBA應該鏡像控制檔案,把每個控制檔案分布到不同的物理磁碟,發生災難時,即使其中一個控制檔案損壞,數據不會丟失,也不會使整個資料庫陷於癱瘓。

相關詞條

相關搜尋

熱門詞條

聯絡我們