Oracle 數據庫入門(五)物理存儲結構之控制文件

控制文件

控制文件擴展名通常爲 ctl,其在Oracle數據庫中具有及其重要的作用,如果該文件損壞或者丟失,那麼數據庫將無法正常啓動
即使是正在運行的數據庫也會立即出錯關閉,其原因在於控制文件記錄了數據庫的物理結構信息
數據庫啓動以及運行過程中的物理存儲結構變化都需要讀寫該文件

控制文件是二進制類型的文件,用戶不能使用記事本工具直接編輯,而需要通過 Oracle 相關進程進行自動更新

創建控制文件

數據庫創建時會同時自動創建控制文件,當控制文件損壞或者丟失,同時又沒有備份的情況下需要用戶手工創建控制文件

create controlfile 
[reuse] database db_name
[logfile redofiles_list]
[datafile datafiles_list]
[maxlogfiles]
[maxlogmembers]
[maxinstances]
[maxdatafiles]
resetlogs|noresetlogs
[archivelog|noarchivelog]

對參數介紹如下

  1. reuse:指定原有控制文件能被覆蓋使用,如果忽略該參數並且同時已存在控制文件,則創建控制文件將出錯
  2. db_name:爲需創建控制文件的數據庫名稱
  3. redofiles_list:爲重做日誌文件列表,包括各文件的存儲路徑
  4. datafiles_list:爲數據文件列表,包括各文件的存儲路徑
  5. maxlogfiles:設置重做日誌文件最大數量
  6. maxlogmembers:設置重做日誌文件組的最大成員數量
  7. maxinstances:設置數據庫的最大實例個數
  8. resetlogs|noresetlogs:表示不使用原有重做日誌文件或使用原有重做日誌文件
  9. archivelog|noarchivelog:表示設置數據庫爲歸檔模式或非歸檔模式

控制文件的備份與恢復

Oracle 數據庫中用於控制文件備份語句爲

alter database backup controlfile

該語句有兩種可選的備份方式:一種是將控制文件備份爲一個二進制文件,另外一種是備份爲純文本形式的文件

//備份爲二進制文件
alter database backup controlfile to 'D:\test.ctl';
//備份爲文本文件
alter database backup controlfile to trace;

當控制文件備份爲文本文件時,該備份文件也被稱爲追蹤文件,保存在 spfile 中文件的參數 user_dump_dest 所指定路徑,該追蹤文件實際爲 SQL 腳本文件,可以利用它來重新創建控制文件

刪除控制文件

如果某個控制文件失效則可以刪除該控制文件,但要注意不能將控制文件全部刪除,至少要保留一個,否則數據庫將無法啓動
通過編輯初始化參數 control_files,可以去掉要刪除控制文件信息,然後在操作系統中將控制文件手動刪除

查詢控制文件信息

可以使用 show parameter 命令顯示初始化參數 control_files 的設置信息

show parameter control_files;

此外,可以通過查詢與控制文件相關的一系列動態性能視圖獲取相關信息,這些視圖包括

  1. v $ controlfile:包含所有控制文件基本信息
  2. v $ controlfile_record_section:包含控制文件的各個記錄文檔段的信息
  3. V $ parameter:包含系統所有初始化參數,從中可以查詢參數 control_files 的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章