更新時間:2021-03-05 17:36:07 來源:動力節(jié)點 瀏覽1329次
所謂Oracle外部文件外部文件,意味著這些文件從嚴格意義上來講并不屬于Oracle數據庫的一部分。Oracle外部文件也就是屬Oracle物理存儲結構的一部分,屬于外面嵌入到Oracle數據庫內部的一部分文件。Oracle外部文件分為以下五個部分:
1、控制文件:
控制文件雖小,但作用重大,它包含指向數據庫其余部分的指針(包括重做日志文件,數據文件,歸檔日志文件等的位置),存儲重要的序列號和時間戳,存儲RMAN備份的詳細信息。控制文件一旦受損,那實例會立馬終止,一般對數據文件的保護采用多路復用機制,就是冗余多份在不同物理位置。
2、重做日志文件
重做日志文件的作用在講解內存和進程結構的時候有提到過,重做日志按時間順序存儲應用于數據庫的一連串的變更向量(包含聯機重做日志文件和歸檔日志文件)。由SMON在數據庫啟動時自動執(zhí)行的實例恢復 和 磁盤損壞所要求的提取備份恢復都會應用到重做日志進行相應的數據恢復
重做日志文件也建議進行多路復用,一個數據庫至少要有兩組重做日志文件。一組供LGWR進行寫入,日志文件是固定大小,業(yè)務高峰期會很快寫滿,寫滿之后會切換到第二組上,在配置為歸檔模式的數據庫中,這時由歸檔進程(ARCn)開始將第一組的內容進行歸檔備份,如此循環(huán)地進行寫入和歸檔。需要注意的是,在歸檔進程還未對當前組的日志歸檔完畢前,是不允許LGWR對其進行重寫的。
3、數據文件
數據文件存儲著實際的數據,DBWn會將數據庫緩沖區(qū)中的內容寫入到這類文件中去,數據文件的大小和數量是不受限制的。Oracle從10g開始,創(chuàng)建一個數據庫至少需要兩個數據文件,一個用于SYSTEM表空間,該表空間用來存儲數據字典;一個用于SYSAUX表空間,這個表空間用來存儲一些數據字典的輔助數據。
數據文件由一個個的Oracle塊組成,這是Oracle的I/O基礎單元,與操作系統(tǒng)塊是不同的概念,Oracle塊要比操作系統(tǒng)塊大,這當然有處于性能的一些考慮,但我們考慮這樣一種情況,當用戶使用操作系統(tǒng)命令進行數據文件的備份的時候(假設1個Oracle塊=8個操作系統(tǒng)塊),已經復制了4個操作系統(tǒng)塊,然后CPU被DBWn搶占了,DBWn又重新對這個Oracle塊進行了更新,這時,當復制命令又得到了CPU時間去復制剩余的4個塊的時候,就造成了整個Oracle塊的數據不一致,所以,這也是在執(zhí)行這種備份(用戶自行備份)的時候,需要做一些額外處理,比如將表空間置為備份模式的原因。當然,使用RMAN是不存在這樣的問題的,RMAN的備份機制是肯定可以得到數據一致的塊的。(這塊內容作了解即可)
對于數據文件的保護,一般可進行定期備份,或者使用RAID也可以。
4、實例參數文件
這個文件存儲了數據庫所需的一些參數設置,比如各個內存區(qū)域的大小,可允許的最大進程數,最大會話數,控制文件的位置,數據庫的名稱等等,參數文件也是實例啟動時首先要加載的文件。
5、口令文件
一般稱為外部口令文件。一般的用戶名和口令是存放在數據字典中,不會存放在這個文件中。在一些特殊場景下,比如實例還未啟動,這時,我可能需要以管理員的身份登入系統(tǒng)去執(zhí)行一些恢復或者啟動操作,然而此時,數據字典由于實例還沒啟動是不存在的,這時就需要外部口令文件進行用戶身份的驗證。
歸檔日志文件
ARCn將聯機重做日志文件會備份歸檔到這類文件中去,歸檔日志文件保留了數據更改的完整歷史信息。
Oracle外部文件作為Oracle物理存儲結構的一部分,對于Oracle的數據處理和存儲都起到了至關重要的作用,這些外部文件相輔相成,對于Oracle數據庫共同發(fā)揮著各自的作用。在本站的Oracle教程中,對于這些Oracle外部文件的配置都給出了詳細的解答,如果還不會使用Oracle數據庫的小伙伴,可以結合本站教程的配置文件進行配置,這樣一來使用Oracle數據庫也就容易多了。