1:對oracle database files進行說明
2:oracle doc 對 control file的定義
3:尋找oracle資料檔案的三種方式
4:FAQ
控制檔案是一個小小的二進位檔案,是oracle資料庫的一部分,這個控制檔案是用於記錄資料庫的狀態和物理結構。
每個資料庫必須要至少一個控制檔案,但是強烈的建議超過一個控制檔案,每個控制檔案的備份應該放在不同的磁碟上。
一:控制檔案包含如下資訊:
1:資料庫名
2:資料庫建立的時間戳記
3:資料檔案的名字和位置
4:redo log (聯機重做記錄檔)的名字和位置
5:當前日誌的序號
6:checkpoint 資訊
7:最近的 RMAN備份(我現在不知道這個是什嗎?)
二: 三種方式尋找控制檔案資訊
1:通過查詢 v$controlfile 表中的資訊可以查到控制檔案資訊
SQL> select status, name from v$controlfile;STATUS NAME------- -------------------------------------------------- D:\APP\TOPWQP\ORADATA\ORCL\CONTROL01.CTL D:\APP\TOPWQP\ORADATA\ORCL\CONTROL02.CTL D:\APP\TOPWQP\ORADATA\ORCL\CONTROL03.CTL
2:使用參數 control_files可以查到控制檔案
因為前面提到過,控制檔案資訊是在啟動參數檔案 spfile或者pfile中有定義,所以可以通過查看這個參數的形式尋找控制檔案:
SQL> show parameter control_files;NAME TYPE VALUE------------------------------------ ----------- ------------------------------control_files string D:\APP\TOPWQP\ORADATA\ORCL\CON TROL01.CTL, D:\APP\TOPWQP\ORAD ATA\ORCL\CONTROL02.CTL, D:\APP \TOPWQP\ORADATA\ORCL\CONTROL03 .CTL
3:通過作業系統尋找檔案命令 尋找:
D:\>dir /s control*.ctl 磁碟機 D 中的卷是 soft 卷的序號是 000B-1FAE D:\app\topwqp\oradata\orcl 的目錄2013/06/18 21:24 9,781,248 CONTROL01.CTL2013/06/18 21:24 9,781,248 CONTROL02.CTL2013/06/18 21:24 9,781,248 CONTROL03.CTL 3 個檔案 29,343,744 位元組
V$CONTROLFILE_RECORD_SECTION 列出了control_file中的資訊
通過以下方式可以修改控制檔案的位置:
alter system set control_files = '檔案路徑/檔案名稱'scope= spfile
scope= spfile 代表修改spfile中 control_file的檔案地址
注意:
oracle啟動的時候讀取啟動初始化資訊,
初始化資訊中包含了控制檔案的位置
控制檔案中包含了聯機重做記錄檔和資料檔案的位置
這三個控制檔案的大小一樣,3個控制檔案最好放在不同的物理磁碟上,往控制檔案中寫資訊的時候並發同時寫,所以3個控制檔案的內容是相同的,
但是讀取的時候,唯讀取第一個,如果3個控制檔案有一個出錯了,oracle就不能啟動了。