redo log相對(duì)于每一個(gè)數(shù)據(jù)庫(kù)實(shí)例都有一個(gè)redo線程。典型配置中,僅一個(gè)數(shù)據(jù)庫(kù)實(shí)例訪問(wèn)數(shù)據(jù)庫(kù),所以僅出現(xiàn)一個(gè)redo 線程。但在RAC
Redo Log概念
規(guī)劃Redo Log
創(chuàng)建Redo Log組和成員
重新分配、命名Redo Log成員
刪除Redo Log組和成員
強(qiáng)制切換日志
驗(yàn)證Redo Log文件塊
清理Redo Log 文件
Redo Log字典視圖
Redo Log 概念
Redo Threads
redo log相對(duì)于每一個(gè)數(shù)據(jù)庫(kù)實(shí)例都有一個(gè)redo線程。典型配置中,僅一個(gè)數(shù)據(jù)庫(kù)實(shí)例訪問(wèn)數(shù)據(jù)庫(kù),所以僅出現(xiàn)一個(gè)redo 線程。但在RAC環(huán)境中,兩個(gè)或更多的實(shí)例并行訪問(wèn)一個(gè)數(shù)據(jù)庫(kù),每一個(gè)實(shí)例都擁有它自己的redo 線程。分離的redo線程為避免在一個(gè)redo log file集上產(chǎn)生競(jìng)爭(zhēng),因此這種預(yù)估的潛在的瓶頸導(dǎo)致我們需要了解如何對(duì)redo log進(jìn)程配置和管理。
Redo Log Contents
redo records(redo記錄)被寫入至redo log file中,一條redo記錄,通常也稱為redo entry,是由一組change vectors組成,每一組改變扇區(qū)描述數(shù)據(jù)庫(kù)的單個(gè)塊的改動(dòng)情況。比如,你改變employee表中的一條salary的值,這個(gè)改變就包含了改變扇區(qū),其中描述了表的數(shù)據(jù)段的塊、undo段的數(shù)據(jù)塊、和事務(wù)表的undo段。
Redo條目記錄數(shù)據(jù)可以用來(lái)重構(gòu)所有數(shù)據(jù)庫(kù)的改變,包括undo段。因此,redo log也用于保護(hù)回滾數(shù)據(jù)。當(dāng)我們通過(guò)redo 數(shù)據(jù)恢復(fù)數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)讀redo記錄中的改變扇區(qū)以及應(yīng)用與這些改變相關(guān)的塊。
Redo記錄的緩沖位于SGA的一個(gè)循環(huán)刷新區(qū)成為redo log buffer,這些緩存被LGWR進(jìn)程寫到redo log file中,不管事務(wù)何時(shí)提交,LGWR都將redo 記錄的事務(wù)寫入到redo log file中。并分配一個(gè)SCN(系統(tǒng)改變號(hào))作為每一條已提交事務(wù)的redo記錄點(diǎn)。
Redo記錄也可以在相應(yīng)事務(wù)提交前寫入redo log file中,如果redo log buffer已滿,或其他事務(wù)提交,LGWR將buffer所有的redo log條目刷到redo log file中。即使一些redo記錄沒(méi)及時(shí)提交。如果有必要,數(shù)據(jù)庫(kù)可以回滾這些改變。
Oracle數(shù)據(jù)庫(kù)怎樣寫Redo log
數(shù)據(jù)庫(kù)中的redo log通常由一或多個(gè)的文件組成。數(shù)據(jù)庫(kù)至少保證兩個(gè)文件中一個(gè)總是可以寫的,另一個(gè)用于歸檔(當(dāng)數(shù)據(jù)庫(kù)處于歸檔模式)。
LGWR進(jìn)程循環(huán)刷寫redo log文件,當(dāng)某一個(gè)正在使用的redo log寫滿后,進(jìn)程會(huì)切換到下一個(gè)可用的redo log文件中。當(dāng)最后一個(gè)redo log 文件寫滿后,,會(huì)切換回第一個(gè)redo log 文件進(jìn)行記錄。如下圖所示:
如果在NOARCHIVELOG模式,一個(gè)滿載的redo log需要等到其中的改變記錄均被寫入到數(shù)據(jù)文件中后才可以重用。
如果在ARCHIVELOG模式,則需要等待改變記錄被寫到數(shù)據(jù)文件并歸檔后才可重用。
redo log的活動(dòng)(當(dāng)前)和非活動(dòng)狀態(tài)
LGWR正在寫的redo log文件的狀態(tài)顯示為current,redo log 文件可用于實(shí)例恢復(fù)的被稱為active狀態(tài)。如果不在需要被用于實(shí)例恢復(fù)的則為inactive狀態(tài)。
如果在ARCHIVELOG模式下,直到歸檔進(jìn)程(ARCn)完成歸檔前數(shù)據(jù)庫(kù)都不能對(duì)該redo log文件重用或覆蓋。而在NOARCHIVELOG模式下,LGWR則會(huì)等到redo log處于inactive狀態(tài)時(shí)重寫該redo log。
log switch和log sequence number
日志切換指出數(shù)據(jù)庫(kù)停止和開(kāi)始寫的redo log文件。
規(guī)劃Redo log
多R edo Log 文件
放置Redo Log成員至不同磁盤
規(guī)劃Redo Log文件大小
規(guī)劃Redo Log文件的塊大小
選擇Redo Log文件的數(shù)量
控制歸檔標(biāo)簽
本文永久更新鏈接地址:
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com