資料檔案和控制檔案

2021-06-18 08:04:45 字數 2848 閱讀 1962

資料檔案

oracle資料庫中每個表空間(tablespace)都是由乙個或多個物理資料檔案(datafile)構成的。

當乙個資料檔案(datafile)首次被建立時,為其分配的磁碟空間被格式化為oracle格式,此時其中尚不包含任何使用者資料。oracle將使用這些空間儲存屬於( 與此資料檔案對應的)表空間的段(segment),這些空間專為oracle使用。隨著表空間內的資料增長,oracle使用資料檔案中的可用空間為段分配新的資料擴充套件(extent)。

除了 system

表空間(tablespace

)之外,使用者

可隨時以將任何表空間置為聯機(online

)或離線(

offline

)狀態。此時

乙個表空間的所有資料檔案

(datafile

)也被作為乙個整體同時地被置為聯機或離線狀態。

臨時資料檔案

本地管理的(locally 

managed

)臨時表空間(

temporary 

tablespace

)使用臨時的資料檔案(

datafile)(

臨時檔案

),這樣的檔案與普通資料檔案類似,但有以下區別: 

· 臨時檔案總是被設定為 

nologging

模式。

· 使用者不能將臨時檔案設為之讀

· 使用者不能使用 

alter 

database

語句建立臨時檔案

· 介質恢復(media 

recovery

)不能識別臨時檔案:

o backup 

controlfile

不會產生與臨時檔案有關的資訊

o create 

controlfile

不能設定與臨時檔案有關的資訊

· 當使用者建立臨時檔案或改變其容量時,oracle

並不保證按照使用者指定的檔案容量為其分配磁碟空間。在某些檔案系統(

file 

systems

)中(例如

unix

)磁碟塊(

disk 

block

)並不會在檔案建立或改變容量時分配,而是在其被使用之前 

才分配。

臨時檔案(tempfile

)資訊可以從 

dba_temp_files

資料字典表及 

v$tempfile

動態效能檢視(dynamic 

performance 

view

)中查詢,但是不存在於 

dba_data_files

或 v$datafile

檢視中。

控制檔案

資料庫控制檔案(control 

file

)是乙個

二進位制檔案

,供資料庫啟動及正常工作時使用。在資料庫執行過程中,控制檔案會頻繁地被oracle

修改,因此數

據庫處於開啟(open

)狀態時控制檔案必須可寫。

如果控制檔案因故不能訪問,資料庫 

也將無法正常工作。

每當新增,重新命名,或移除資料庫中的資料檔案(datafile

)及重做日誌檔案(

redo 

log 

file

)時,控制檔案(

control 

file

)就會被更新

以反映這些資料庫物理結構變化。

進行這些記錄的目的是: 

控制檔案的運用:

· oracle可以籍此在資料庫啟動(

startup

)時識別開啟的資料檔案和重做日誌檔案

· oracle可以籍此在恢復資料庫時識別當前可用及需要恢復的檔案

①使用者每次更改資料庫的物理結構後(使用 

alter 

database

語句),一定要及時備份控制檔案(control 

file)。

②控制檔案(control 

file

)還被用於儲存檢查點(

checkpoint

)資訊。每隔三秒鐘,檢查點程序(

checkpoint 

process

,ckpt

)將會在控制檔案中記錄重做日誌(

redo 

log)檢查點位置(

checkpoint 

position

)資訊。當資料庫恢復時,重做日誌中此點之前的重做條目(

redo 

entry

)都無需恢復,因為這些資料已經被寫入資料檔案(

datafile

)中了。

控制檔案的損壞:

如果乙個資料庫的所有控制檔案永久丟失了

(丟失任何乙個控制檔案都會導致資料庫宕機)

,那麼例項將中止且需要進行介質恢復(media 

recovery

)。如果沒有當前控制檔案(

control 

file

)的副本而必須使用較早的備份,那麼介質恢復過程將會比較複雜。因此

oracle

強烈建議使用者遵循以下規則: 

· 在每個資料庫中使用

多重控制檔案

(multiple 

control 

file)· 

將控制檔案的副本儲存在

不同的物理磁碟上

· 使用作業系統的

映象功能

(operating 

system 

mirroring)· 

監控備份工作

移動資料檔案 控制檔案 日誌檔案

此方法要求關閉資料庫 用此方法,可以移動任何表空間的資料檔案。step 1.下資料庫 sqlplus nolog sql connect internal sql shutdown sql exit step 2.用作業系統命令移動資料檔案 將資料檔案 test.ora 從 ora oracle d...

2 3 4 控制檔案與資料檔案頭資訊

資料庫mount階段 sql alter session set events immediate trace name file hdrs level 10 檢視trace檔案位置 sql select value from v diag info where name default trace...

系統資料檔案和資訊

include 分別通過uid和使用者名稱獲取與指定使用者相關的passwd資訊 成功返回指標,出錯返回null struct passwd getpwuid uid t uid struct passwd getpwnam const char name passwd結構可以儲存 etc pass...