1. 控制檔案: 一個記錄資料庫物理結構的二進位檔案。
2. 控制檔案主要包含:
資料庫名(DB_NAME)
資料檔案名,與位置, REDOLOG檔案名稱與位置
資料庫建立時間
當前日誌SCN
CHECKPOINT號
3. 控制檔案在開啟狀態下能夠寫入。如果不能寫入控制檔案,則資料庫不能被掛載和不能恢複。
4. 控制檔案會在建立資料庫時同時建立。 Oracle建議COPY兩份或者多份,在不同的磁碟上。 以防丟失。
5. 可以在參數檔案中設定CONTROL_FILES的位置。如果沒有設定:
如果沒有啟用OMF, 資料庫建立的控制檔案將使用系統指定的名字命名。
如果啟用OMF, 在參數檔案中開啟這個特性,由OMF來定義控制檔案名稱字和位置。
如果使用ASM,由初始化參數DB_CREATE_FILE_DEST和DB_RECOVERY_FILE_DEST參數設定。
6.在以下情況時需要備份控制檔案:
建立,刪除,或重新命名資料檔案時。
建立,刪除資料表空間,或更改資料表空間為READ/WRITE 狀態。
建立,刪除REDO LOG或者日誌組。
7. creating additional copies, renaming, and relocating controlfiles
shutdown the database.
使用作業系統命令複製已存在的控制檔案到新的位置。
修改CONTROLE_FILES 參數,增加新控制檔案名稱,或者改變已存大的控制檔案名稱。
重新啟動資料庫。
8. 建立控制檔案
(1)查詢資料檔案和REDO檔案。
select member from v$logfile;
select name from v$datafile;
(2) 關閉資料庫。
(3) 備份所有資料件各REDO LOGFILES。
(4) 啟動資料庫到NOMOUNT狀態。
(5) CREATE NEW CONTROLFILE.
CREATE CONTROLFILE
SET DATABASE prod
LOGFILE GROUP 1 ('/u01/oracle/prod/redo01_01.log',
'/u01/oracle/prod/redo01_02.log'),
GROUP 2 ('/u01/oracle/prod/redo02_01.log',
'/u01/oracle/prod/redo02_02.log'),
GROUP 3 ('/u01/oracle/prod/redo03_01.log',
'/u01/oracle/prod/redo03_02.log')
RESETLOGS
DATAFILE '/u01/oracle/prod/system01.dbf' SIZE 3M,
'/u01/oracle/prod/rbs01.dbs' SIZE 5M,
'/u01/oracle/prod/users01.dbs' SIZE 5M,
'/u01/oracle/prod/temp01.dbs' SIZE 5M
MAXLOGFILES 50
MAXLOGMEMBERS 3
MAXLOGHISTORY 400
MAXDATAFILES 200
MAXINSTANCES 6
ARCHIVELOG;
(6) 開啟資料庫。
alter database open resetlogs;
9. 當查詢資料檔案為MISSINGnnnn時, 此資料檔案為唯讀或者以OFFLINE關閉掉了, 不能以重新命名的方式來解決問題, 而應使用介技恢複, 最後以RESETLOGS方式開啟資料庫。
10. 控制檔案備份方法。
(1) alter database backup controlfile to '/home/oracle/control.bkp';
(2) alter database backup controlfile to trace; 此檔案可以以普通文本開啟。
11. 利用COPY方式還原控制檔案, 當單個控制檔案損壞時可以利用以下方法解決。
cp control01.tl control02.tl;
startup;
12. 移動控制檔案。
cp olde_location new_loction;
修改初始化參數: CONTROL_FILES
啟動資料庫。
13. 刪除控制檔案。
關閉資料庫。
修改參數檔案,去掉所要刪除的控制檔案。
啟動資料庫。
14. 資料庫相關視圖。
v$database 顯示資料庫資訊。
v$controlfile 可查詢控制檔案名稱字。
v$controlfile_reord_section 可查詢控制檔案所記錄資訊。
v$parameter 可顯示控制檔案位置從參數檔案裡(CONTROL_FILES)參數