關(guān)于redo,可能不了解的小知識點(diǎn),我也不知道是否總結(jié)的就對,不過先總結(jié)著吧。
1、主機(jī)掉電,會導(dǎo)致實例失敗,在重啟db時需要實例恢復(fù)。
2、在實例恢復(fù)時,oracle可以根據(jù)redo日志,將系統(tǒng)恢復(fù)到實例失敗的那個時刻。
3、一般能用undo的情況也就是我們執(zhí)行了rollback或者恢復(fù)時的回滾。
4、手動管理undo段是,需要我們手動建立或刪除undo段,而自動管理undo時,oracle會自動創(chuàng)建或銷毀undo段。
5、 在回滾時,oracle會將undo應(yīng)用到數(shù)據(jù)塊和索引塊上,使數(shù)據(jù)塊和索引塊恢復(fù)。如果此時數(shù)據(jù)塊和索引塊已經(jīng)被寫到磁盤上了(大事務(wù)),那oracle會將這些塊讀入緩存,然后再應(yīng)用undo回滾。
6、在回滾時,不需要redo,redo的讀只是用在恢復(fù)和歸檔時。
7、commit的開銷:
會增加與數(shù)據(jù)庫間的通信。
commit會等待redo寫磁盤,等待事件為log file sync。
8、當(dāng)發(fā)生事務(wù)時,會在SGA中生成undo塊、已經(jīng)修改的塊、生成對于前2項緩存的redo塊。
9、每次commit,scn就會加1。
10、觸發(fā)器對redo的影響
DML操作 AFTER BEFOR AFTER BEFORE
(10g 以前) (10g 以前) (10g) (10g)
DELETE 不影響 不影響 不影響 不影響
INSERT 增加redo 增加redo 常量redo 常量redo
UPDATE 增加redo 不影響 增加redo 增加
11、當(dāng)db是nologg模式的話,ddl幾乎是不會被記錄redo的。如果生產(chǎn)redo的話,也是為了保護(hù)更新數(shù)據(jù)字典而生成的。
12、我們可以對索引設(shè)置nologging模式,那如果在重建索引時,那豈不是就可以縮短時間啦。
13、insert時,臨時表幾乎不產(chǎn)生redo的,但會產(chǎn)生undo,而在產(chǎn)生undo時會產(chǎn)生undo相應(yīng)的redo,所以說臨時表只是會產(chǎn)生相當(dāng)少的redo。而delete時,臨時表和普通表產(chǎn)生的redo一樣多,update時臨時表產(chǎn)生的redo是普通表的一半。
當(dāng)前文章:關(guān)于redo的幾個小知識點(diǎn)-創(chuàng)新互聯(lián)
URL標(biāo)題:http://www.sd-ha.com/article12/dsdhdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站營銷、網(wǎng)站排名、網(wǎng)站導(dǎo)航、微信小程序、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容