一、控制檔案備份
當資料庫結構發生改變時,立即備份控制檔案,一旦控制檔案發生故障,可以使用備份進行恢複。
備份控制檔案方法有兩種:
1. 直接複製
樣本:
SQL> alter database backup controlfile to 'f:\control_test.bkp';
資料庫已更改。
2. 備份指令檔
樣本:
SQL> alter database backup controlfile to trace;
資料庫已更改。
這裡將建立控制檔案的指令碼.trc,建立路徑由參數user_dump_dest給出
SQL> show parameter user_dump_dest 
NAME                                 TYPE
------------------------------------ ------------------
VALUE
------------------------------
user_dump_dest           string            D:\ORACLE\PRODUCT\10.2.0\ADMIN\TEST\UDUMP
 
二、移動控制檔案
如果需要把控制檔案移動到其他路徑(例如磁碟損壞),則需要移動控制檔案,方法是:
1. 修改參數CONTROL_FILES,從D盤改到E盤
SQL> alter system set control_files=
  2  'E:\ORACLE\TEST\CONTROL01.CTL',
  3  'E:\ORACLE\TEST\CONTROL02.CTL',
  4  'E:\ORACLE\TEST\CONTROL03.CTL'
  5  scope=spfile;
系統已更改。
2. 重啟資料庫:shutdown immediate; startup nomount;
3. 執行指令碼建立新的控制檔案
 
三、刪除控制檔案
刪除控制檔案,其實就是修改參數CONTROL_FILES,例如刪除'E:\ORACLE\TEST\CONTROL03.CTL'
SQL> alter system set control_files=
  2  'E:\ORACLE\TEST\CONTROL01.CTL',
  3  'E:\ORACLE\TEST\CONTROL02.CTL'
  4  scope=spfile;
  然後重啟資料庫