Oracle日志文件是Oracle數(shù)據(jù)庫存儲信息的重要文件,主要用來存儲數(shù)據(jù)庫變化的操作信息。
Oracle日志文件可以分為兩種:重做日志文件(redo log file)、歸檔日志文件,其中重做日志文件主要記錄了數(shù)據(jù)庫的操作過程,可以在進(jìn)行數(shù)據(jù)庫恢復(fù)時(shí),將重做日志文件在還原的數(shù)據(jù)庫上進(jìn)行執(zhí)行,以達(dá)到數(shù)據(jù)庫的最新狀態(tài)。
Oracle數(shù)據(jù)庫在運(yùn)行時(shí),可以選擇是否開啟歸檔日志,在非歸檔日志的情況下,Oracle所有的操作日志都寫在重做日志當(dāng)中,當(dāng)所有重做日志文件寫滿時(shí)(Oracle重做日志是分組的,默認(rèn)是分為三組),那么就把前面的日志文件覆蓋繼續(xù)寫入。而在開啟歸檔日志模式情況下,當(dāng)重做日志都寫滿時(shí),繼續(xù)要寫入日志時(shí),會把要覆蓋的日志文件寫入歸檔日志當(dāng)中,然后再對重做日志進(jìn)行覆蓋,因此使用歸檔日志利于后期進(jìn)行數(shù)據(jù)恢復(fù)。
那要怎么查看數(shù)據(jù)庫是否開啟歸檔日志?可以根據(jù)以下命令進(jìn)行查詢:
select t.NAME,t.LOG_MODE from v$database t;
代碼解析:V$database數(shù)據(jù)字典主要存儲數(shù)據(jù)庫創(chuàng)建后的一些配置信息,其中LOG_MODE字段記錄的就是是否開啟歸檔日志文件,NOARCHIVELOG:表示未開啟歸檔日志文件(Oracle在安裝時(shí)默認(rèn)選擇的是不開啟歸檔日志模式的)。
那重做日志文件的位置和屬性信息如何查詢,我們可以根據(jù)數(shù)據(jù)字典V$logfile進(jìn)行查詢,代碼如下:
select *from v$logfile;