20151121 控制檔案

2021-07-07 08:46:48 字數 3157 閱讀 3228

database三要素

資料檔案,日誌檔案,控制檔案

控制檔案,記錄了資料庫的結構和行為,並維護資料庫的一致性(因為控制檔案中間記錄了啟動和終止的scn),

比如資料庫有多少個資料檔案,日誌檔案,以及這些檔案的狀態

引數檔案中定義控制檔案的位置和個數 ,遵循分散存放的原則,至少放兩份控制檔案,最多八分,多個控制檔案之間互為映象的關係,而使用順序由存放的位置決定

控制檔案的初始化大小有建立資料庫時決定

控制檔案是一種二進位制檔案,一般不超過100m,mount階段使用控制檔案,而mount階段之後,=控制檔案一直處於使用狀態

控制檔案只能被乙個資料庫擁有,

控制檔案包含的內容;

a.資料庫名字和標識

b.資料庫建立的時間戳

c.表空間名字

d.資料檔案和聯機重做日誌檔案的位置和名字

e.當前聯機重做日誌的sequence號碼(最新的)

f.檢查點資訊 資料庫一致性

g.回滾段的開始和結束 

h.聯機重做日誌的歸檔資訊

i.備份資訊

相關的檢視

v$controlfile 列出例項所有的控制檔案的名字和狀態

show parameter control_f;

select name,value from v$parameter where name='control_files';

檢視控制檔案的內容

1.strings 直接檢視控制檔案的二進位制檔案 ,可以檢視有多少個資料檔案,日誌檔案,表空間

2.alter database backup controlfile to trace as '...' 將控制檔案備份到某一路徑下面  

3.通過檢視 desc v$controlfile_record_section;

select type,record_size from v$controlfile_record_section;

轉儲控制檔案

alter system set events 'immediate trace name controlf level 10'

show parameter user_d

檢視最新的檔案

檢視檔案時的乙個小竅門 :  ll -t 按時間排序檢視某一路徑下的檔案

一般level10表示檔案的所有內容

11g中直接查詢跟蹤檔案

select value from v$diag_info where name='default trace file';

控制檔案的管理

規劃原則:多路復用 多個控制檔案存放在不同的位置 

a.個數與位置控制

spfile和pfile都可以實現對控制檔案的個數字置管理

spfile步驟:

修改spfile引數 control_files

一致性關閉資料庫

增加或減少控制檔案檔案

啟動資料庫使用spfile

驗證結果

pfile的修改

一致性關閉資料庫

修改pfile引數 vi編輯器

增加或減少控制檔案

啟動資料庫使用spfile

驗證結果

b.狀態管理

c.備份管理

d.恢復管理

e.新建控制檔案語句

以下為spfile修改控制檔案的操作步驟

alter system set control_files='/oracle/oradata/redhat5/control01.ctl' 比如說只保留01這個控制檔案

shutdown immediate

startup mount

show parameter control_f

這樣就減少了乙個控制檔案

然後再改回去

shutdown immediate 

startup nomount

alter system set control_files='/oracle/oradata/redhat5/control01.ctl','/oracle/oradata/redhat5/control02.ctl','/oracle/oradata/redhat5/control03.ctl' scope=spfi;e

ora-00205: error in identifying control file, check alert log for more info

翻譯為:控制檔案的錯誤,請檢查警報日誌中獲得更多資訊

今天碰到的錯誤

新建的兩個控制檔案報錯導致例項無法啟動

此時把原來的控制檔案分別複製到新家的兩個檔案

ho cp /oracle/oradata/redhat5/control01.ctl /oracle/oradata/redhat5/control02

ho cp /oracle/oradata/redhat5/control01.ctl /oracle/oradata/redhat5/control03

然後再alter database mount ,alter database open即可

對控制檔案的管理

a.狀態管理

1.show parameter cvontrol_f

看路徑下控制檔案是否存在

2.檢視控制檔案所在的磁碟空間是否充足

df -h

3.ho ll -h /oracle/oradata.... 

應該維護控制檔案的大小在100m以內

如果接近100m,應減少控制檔案,一般情況下重建控制檔案

對控制檔案的備份

1.alter database backup controlfile to '' 路徑  ,歸檔情況下可以這樣備份

2.alter database backup controlfile to trace as ''  任何情況都可以這樣備份

得到乙個重建控制檔案的語句在指定路徑

rman備份

rman targrt/

先進入rman

backup current controlfile;

或者 backup database including current controlfile;

備份資料檔案的同時備份控制檔案

rman下show all可以檢視控制檔案是否自動備份,也可以通過自動備份的方式

configure controlfile on;

oracle控制檔案

nomount時可以用show parameter control files檢視。而此時yon用select from v controlfile則沒有任何資訊。nomount狀態只是通過引數檔案來找到控制檔案。進入mount後可以用select from v controlfile檢視。控制檔案...

ORALCE控制檔案

一 oracle 控制檔案 為二進位制檔案,初始化大小由create database指定,可以使用rman備份 記錄了當前資料庫的結構資訊,同時也包含資料檔案及日誌檔案的資訊以及相關的狀態,歸檔資訊等等 在引數檔案中描述其位置,個數等等。通常採用分散放開,多路復用的原則。在mount階段被讀取,o...

oracle控制檔案

控制檔案是乙個比較小的二進位制檔案,記錄了物理資料庫的當前狀態 每乙個控制檔案只屬於乙個資料庫,資料庫可以有多個控制檔案 處於安全考慮,一般多幾個就相當於多了幾個備份 但是乙個控制檔案不能對應多個資料庫 資料庫處於開啟狀態,伺服器會隨時修改控制檔案的內容 任何使用者都不能修改控制檔案的資料。獲取控制...