控制文件與日誌文件
1:控制文件
每個數據庫至少擁有一個控制文件,一個數據庫可以同時擁有多個控制文件,但是一個控制文件只能屬於一個數據庫,Oracle創建數據庫時系統會自動創建兩個或三個控制文件,每個控制文件記錄相同的信息。
使用語句SELECT * from v$controlfile;查看控制文件
2:日誌文件
1)重做日誌文件
記錄數據庫所有發生過的更改信息(增刪改)以及Oracle內部行為(創建數據表、索引等)而引起的數據庫變化信息。
技巧:通過對表或者整個表空間設定NOLOGGING屬性,使基於表或表空間中所有的DML操作(如創建表、刪除視圖、修改索引等操作)都不會生成日誌信息,從而減少日誌信息的產生。
可通過查詢v$logfile視圖實現查看系統的日誌文件信息
SELECT * FROM v$logfile;
2)歸檔日誌文件
Oracle數據庫運行在兩種模式下,即歸檔模式和非歸檔模式。
非歸檔模式是指在系統運行期間,所產生的日誌信息不斷的記錄到日誌文件組中,當所有重做日誌組被寫滿後,又重新從第一個日誌文件組開始覆寫。
歸檔模式是在各個日誌文件都被寫滿而即將被覆蓋前,先由歸檔進程(ARCH)將即將被覆蓋的日誌文件中的日誌信息讀出,並將“讀出的日誌信息”寫入到歸檔日誌文件中,而這個過程又被成為歸檔操作。
在歸檔操作進行的過程中,日誌寫入進程(ARCH)需要等待歸檔進程的結束才能開始覆寫日誌文件,這樣就延遲了系統響應時間,而且歸檔日誌文件本身又會占用大量的磁盤空間,這些都會影響系統的整體性能。所以在默認情況下,Oracle系統不采用歸檔模式運行。
可以通過v$database視圖查看當前Oracle是否采用歸檔模式
SELECT * from v$database;
如果是在歸檔模式下運行,則可通過服務器參數文件spfile的log_archive_dest參數來確定歸檔日誌文件的所在路徑。
show parameter log_archive_dest;
控制文件與日誌文件