Oracle 體系結構-控制檔案(一)

genweihua發表於2012-03-13
       控制檔案用於維護資料庫物理結構資料的檔案,每個資料庫至少要有一個,是二進位制檔案,其中記錄了資料庫名稱、資料檔案位置、重做日誌檔名稱和位置。系統最多可以設定8個控制檔案的副本來,但是無論有多少個副本,系統只指定一個控制檔案作為檢索資料庫後設資料的主要控制檔案。一個資料檔案對應一個資料庫,但是可以有多個副本存在。當所有副本丟失時,可以透過alter database backup controlfile to trace來重建控制檔案。資料庫在啟動過程中首先透過預設規則開啟引數檔案,建立例項,再透過引數檔案中控制檔案的位置,開啟控制檔案,然後透過控制檔案中資料檔案、重做日誌的位置,校驗資料檔案一致性,並恢復開啟資料檔案,完成資料庫的啟動。通常新建立的資料庫有三個控制檔案。
  檢視控制檔案:
  Select value from v$parameter where name=control_files’;
  Show parameter control_files;
  啟動到mount狀態:
  Select name from v$controlfile;
  檢視控制檔案中的內容:
  V$controlfile_record_section
  依賴控制檔案的檢視:
  V$backup v$databse v$tempfile v$tablespace v$archive v$log v$logfile v$loghist日誌切換記錄v$archived_log歸過檔的記錄
移動控制檔案
a、使用pfile檔案移動控制檔案
利用資料字典獲取控制檔案的名字
Select value from v$parameter where name=’control_files’
關閉資料庫
Shutdown immediate
修改引數檔案
修改引數檔案的目錄和移動引數檔案到相應的目錄
啟動資料
Startup
驗證更改的結果
Select name from v$controlfile
//oracle建庫時引數檔案的副本:$Oracle_base/admin/sid/pfile,另外控制檔案只要有一個正常使用的,可以用這個正常的建立各個副本,建立的辦法,就是把正確的改成副本名字即可。
b、使用Spfile檔案移動控制檔案
獲取控制檔案的名字
Select name from v$controlfile;
更改控制檔案的目錄及名稱或新加的控制檔案目錄
Alter system set control_files='D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\CONTROL01.CTL','D:\ORACLE\controlfile\CONTROL02.CTL','D:\ORACLE\controlfile\CONTROL03.CTL' scope=spfile;
移動控制檔案到相應的目錄
驗證控制檔案的修改結果
Select name from v$controlfile
備份和恢復控制檔案
a、備份控制檔案1
Alter databse backup controlfie to ‘D:\oracle\controlfile\backupcontrolfile.ora';
b、備份控制檔案2
      alter session set sql_trace=true;
      alter database backup controlfile to trace;
      show parameter user_dump_dest
c、部分控制檔案損壞
d、全部丟失和損壞
   startup mount
   alter database open useing backup controlfile;
   控制檔案備份後的資料會丟失。
e、使用跟蹤檔案重建控制檔案,trace檔案中有指令碼
f、手工建立控制檔案,根據trace檔案命令建立

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22275400/viewspace-718425/,如需轉載,請註明出處,否則將追究法律責任。

相關文章