日志文件組與日志成員

在每一個(gè)oracle數(shù)據(jù)庫中,至少有兩個(gè)" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營(yíng)銷資訊 > 營(yíng)銷百科 > 物理結(jié)構(gòu)重做日志文件

物理結(jié)構(gòu)重做日志文件

時(shí)間:2023-02-09 01:57:01 | 來源:營(yíng)銷百科

時(shí)間:2023-02-09 01:57:01 來源:營(yíng)銷百科

物理結(jié)構(gòu)重做日志文件:重做日志文件記錄對(duì)數(shù)據(jù)庫的所有修改信息。它是三類文件中最復(fù)雜的一類文件,也是保證數(shù)據(jù)庫安全與數(shù)據(jù)庫備份與恢復(fù)有直接關(guān)系的文件。

日志文件組與日志成員

在每一個(gè)oracle數(shù)據(jù)庫中,至少有兩個(gè)重做日志文件組。每組有一個(gè)個(gè)或多個(gè)重做日志文件,即日志成員。同一組中的成員是鏡像關(guān)系,它們存儲(chǔ)的內(nèi)容是一模一樣的。oracle在寫日志時(shí),以一個(gè)日志組為邏輯單位寫入,只在將日志都寫入日志組中的每個(gè)成員文件中后,寫日志才完成。

日志工作原理

oracle有多個(gè)日志文件組,當(dāng)一個(gè)日志文件組中所有的成員所有的成員同時(shí)被寫滿數(shù)據(jù)時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到下一個(gè)日志文件組,這個(gè)轉(zhuǎn)換過程稱為日志切換。

當(dāng)日志切換后,會(huì)給前一個(gè)日志組編一個(gè)號(hào),用于歸檔日志的編號(hào),這個(gè)編號(hào)稱為日志序列號(hào)。此編號(hào)由1開始,每切換一次,序列號(hào)自動(dòng)加1,最大值受參數(shù)MAXLOGHISTORY限制,該參數(shù)的最大值為65534。

當(dāng)oracle把最后一個(gè)日志組寫滿了以后,自動(dòng)轉(zhuǎn)向第一個(gè)日志組,這時(shí),再向第一個(gè)日志組寫日志的時(shí)候,如果數(shù)據(jù)庫運(yùn)行在非歸檔模式下,這個(gè)日志組中的原有日志信息就會(huì)被覆蓋。

使用以下語句查詢?nèi)罩疚募畔ⅲ?br>
sqlselect * from v

相關(guān)字段說明如下:

GROUP#:日志文件組號(hào)

THREAD#:日志文件線程號(hào),一般為1,雙機(jī)容時(shí)為2

SEQUENCE#:日志序列號(hào)

BYTES:日志文件大小

MEMBERS:該組的日志成員個(gè)數(shù)

ARC:該組日志信息是否已經(jīng)完成歸檔

STATUS:該組狀態(tài)(CURRENT:表示當(dāng)前正在使用的組;NACTIVE:表示非活動(dòng)組;ACTIVE:表示歸檔未完成)

FIRST_CHANGE#:系統(tǒng)改變號(hào)SCN,也叫檢查點(diǎn)號(hào)

FIRST_TIME:系統(tǒng)改變時(shí)間

DBA可以使用下列命令進(jìn)行強(qiáng)制日志切換

sqlalter system switch logfile

NOARCHIVELOG/ARCHIVELOG

NOARCHIVELOG是非歸檔模式,如果數(shù)據(jù)庫運(yùn)行在這種模式下,當(dāng)日志切換時(shí),新切換到的日志組中的日志信息會(huì)被覆蓋。ARCHIVELOG:歸檔模式,如果數(shù)據(jù)庫運(yùn)行在這種模式下,日志會(huì)被歸檔存儲(chǔ),產(chǎn)生歸檔日志,且在未歸檔之前,日志不允許被覆蓋寫入。

要確認(rèn)數(shù)據(jù)庫的歸檔方式,可以查詢數(shù)據(jù)字典v:

sqlselect log_mode from v

要了解歸檔日志的信息,可以查詢數(shù)據(jù)字典v

要將數(shù)據(jù)庫改為歸檔模式:

a.alter database archivelog

b.設(shè)置初始化參數(shù)LOG_ARCHIVE_START=TRUE

c.設(shè)置歸檔文件目標(biāo)存儲(chǔ)路徑 LOG_ARCHIVE_DEST=C:ORAARCHIVE

d.設(shè)置歸檔文件命名格式參數(shù) LOG_ARCHIVE_FORMAT='ORCK%T%S.ARC'。這個(gè)格式中的%S表示日志序列號(hào),自動(dòng)左邊補(bǔ)零;%s表示日志序列號(hào),自動(dòng)左邊不補(bǔ)零;%T表示日志線程號(hào),左邊補(bǔ)零;%t表示日志線程號(hào)不補(bǔ)零。

e.重新啟動(dòng)數(shù)據(jù)庫

CKPT進(jìn)程

CKPT進(jìn)程保證有修改過的數(shù)據(jù)庫緩沖區(qū)中的數(shù)據(jù)都被寫入到數(shù)據(jù)文件,日志文件、數(shù)據(jù)文件、數(shù)據(jù)庫頭和控制文件中都有寫入檢查點(diǎn)標(biāo)記。數(shù)據(jù)庫在恢復(fù)時(shí),只需提供自上一個(gè)檢查以來所做的修改。檢查點(diǎn)完成時(shí)系統(tǒng)將更新數(shù)據(jù)庫數(shù)據(jù)庫頭和控制文件。

參數(shù)LOG_CHECKPOINT_TIMEOUT決定一個(gè)檢查點(diǎn)發(fā)生的時(shí)間間隔。LOG_CHECKPOINT_INTERVAL決定一個(gè)檢查需要填充的日志文件塊的數(shù)量。檢查點(diǎn)號(hào),也稱系統(tǒng)改變號(hào)(SCN),它標(biāo)識(shí)一個(gè)檢查點(diǎn)??梢酝ㄟ^v

增加與刪除日志文件組、日志成員

(詳細(xì)語法請(qǐng)參考o(jì)racle文檔)

alter database [database] add logfile [group integer] filespec[,[group...

alter database [database] add logfile (...)

alter database [database] drop logfile [grout integer]

alter database [database] add logfile member 'filespec' [reuse] to group integer

alter database [database] drop logfile member 'filename','filename'...

alter database [database] rename file 'filename' to 'filename'

清除日志文件數(shù)據(jù)

alter database [database] clear [unarchived] logfile group integer|filespec

關(guān)鍵詞:日志,文件,結(jié)構(gòu),物理

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉