欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

數(shù)據(jù)庫startup啟動(dòng)時(shí)前滾回滾進(jìn)行實(shí)例恢復(fù)的理解

前滾回滾過程應(yīng)該是這樣的:數(shù)據(jù)庫記錄了最新的SCN、增量checkpoint的SCN、redo log的最大SCN,通過增量checkpoint的SCN開始應(yīng)用redo log直到redo log的最大SCN乃至最新的SCN,這樣就完成了前滾,在回滾的時(shí)候直接讀取undo中這個(gè)會(huì)話最初的scn和前鏡像直接回滾,不會(huì)一個(gè)個(gè)數(shù)據(jù)塊去undo,否則如果10G數(shù)據(jù)寫入數(shù)據(jù)文件但是沒有commit那回滾得多久啊

redo、undo用到的原因是:因redo log先于datafile寫入持久層,所以實(shí)例啟動(dòng)時(shí)需要先前滾redo log中修改的數(shù)據(jù),如果這些數(shù)據(jù)沒有commit再?gòu)膗ndo中回滾回去。

At least every three seconds the checkpoint process records information in the control file about the checkpoint position in the online redo log.
--即使沒有發(fā)生任何事情,每3秒SCN也必須至少增加1

dbwn進(jìn)程寫入data file的條件
系統(tǒng)發(fā)出檢查點(diǎn)指令(ckpt進(jìn)程啟動(dòng)后會(huì)促使dbwn寫data file)。
臟緩沖區(qū)個(gè)數(shù)達(dá)到指定閥值。
服務(wù)進(jìn)程搜索一定數(shù)目的數(shù)據(jù)塊后,不能找到自由緩沖區(qū)。
數(shù)據(jù)寫入計(jì)時(shí)時(shí)間到。

lgwr進(jìn)程寫入redo log的條件
在DWBR 進(jìn)程將臟緩沖區(qū)寫入數(shù)據(jù)文件之前
在重做日志記錄達(dá)到日志緩沖區(qū)的三分之一
日志緩沖區(qū)記錄的日志多于1M
每隔3秒鐘
提交事務(wù)(執(zhí)行Commit)

ckpt進(jìn)程寫SCN記錄的條件
發(fā)生日志切換。
關(guān)閉實(shí)例(SHUTDOWN ABORT 除外)。
手工執(zhí)行檢查點(diǎn)操作。
由初始化參數(shù)LOG_CHECKPOINT_INTERVAL 和LOG_CHECKPOINT_TIMEOUT強(qiáng)制發(fā)出。

shutdown abort的情況
修改過的緩沖區(qū)不寫入數(shù)據(jù)文件
不回退未提交的更改
不執(zhí)行ckpt

undo記錄SCN
When a transaction modifies data, the database writes a new SCN to the undo data segment assigned to the transaction

redo記錄SCN
LGWR puts a commit record in the redo log buffer and writes it to disk immediately, along with the commit SCN and transaction's redo entries


假如,一個(gè)會(huì)話A,修改某行的某列數(shù)值5為3,但是沒有來得及commit,就執(zhí)行了shutdown abort
這個(gè)時(shí)候可能有三種情況
1、這個(gè)修改寫入了data file(寫入data file和是否commit沒有關(guān)系)也寫入了redo log(寫入了data file則一定會(huì)觸發(fā)先寫redo log),數(shù)據(jù)庫startup過程中實(shí)例恢復(fù)的流程
2、這個(gè)修改沒有寫入了data file,但是寫入了redo log(除了commit外,還有4種情況會(huì)寫入redo log),數(shù)據(jù)庫startup過程中實(shí)例恢復(fù)的流程
3、這個(gè)修改沒有寫入data file,也沒有寫入redo log(如果寫入redo log的條件都沒在會(huì)話A期間發(fā)生),數(shù)據(jù)庫startup過程中實(shí)例恢復(fù)的流程

前滾回滾實(shí)例恢復(fù)都是如下一個(gè)流程
因?yàn)闆]有ckpt,所以data file和control file沒有記錄會(huì)話A的SCN
如果已經(jīng)寫入了redo log,所以redo log記錄了會(huì)話A的SCN
如果沒有寫入了redo log,redo log也至少記錄了會(huì)話A前3秒(shutdown abort前3秒)的一個(gè)SCN
雖然沒有ckpt,但是control file仍有一個(gè)最新的SCN,v$database.current_scn,此SCN可能還大于redo log的最新SCN
SMON進(jìn)程發(fā)現(xiàn)redo log、data file、control file三者的SCN不一致,則利用redo log進(jìn)行前滾,同步數(shù)據(jù)文件、控制文件使這二者和重做日志文件的最新SCN一致,當(dāng)前滾完成后,發(fā)現(xiàn)會(huì)話A的數(shù)據(jù)塊的ITL狀態(tài)是uncommitted,則再使用undo中會(huì)話A的前鏡像回滾,再一次同步數(shù)據(jù)文件、控制文件、重做日志文件確保三者都是一致的SCN



shutdown abort后,執(zhí)行start up會(huì)自動(dòng)更新data file和control file的SCN
SQL> select to_char(sysdate,'hh:mm:ss') from dual;
TO_CHAR(
--------
02:03:08
SQL> select CHECKPOINT_CHANGE#,CONTROLFILE_CHANGE#,CURRENT_SCN from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_CHANGE# CURRENT_SCN
------------------ ------------------- -----------
           1062765             1062824     1063536
SQL> select distinct CHECKPOINT_CHANGE# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
           1062765
SQL> select distinct CHECKPOINT_CHANGE#,last_change# from v$datafile;
CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
           1062765
SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1272213504 bytes
Fixed Size                  1344680 bytes
Variable Size             788532056 bytes
Database Buffers          469762048 bytes
Redo Buffers               12574720 bytes
Database mounted.
Database opened.
SQL> select to_char(sysdate,'hh:mm:ss') from dual;
TO_CHAR(
--------
02:03:50
SQL> select CHECKPOINT_CHANGE#,CONTROLFILE_CHANGE#,CURRENT_SCN from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_CHANGE# CURRENT_SCN
------------------ ------------------- -----------
           1083549             1083604     1083812
SQL>  select distinct CHECKPOINT_CHANGE# from v$datafile_header;
CHECKPOINT_CHANGE#
------------------
           1083549
SQL>  select distinct CHECKPOINT_CHANGE#,last_change# from v$datafile;
CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
           1083549

文章題目:數(shù)據(jù)庫startup啟動(dòng)時(shí)前滾回滾進(jìn)行實(shí)例恢復(fù)的理解
網(wǎng)址分享:http://aaarwkj.com/article28/peipjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、電子商務(wù)網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
国产三级系列在线观看| 久久香蕉国产线看观看av| 极品白嫩少妇无套内谢| 日韩人妻中文字幕乱码一区| 男人的天堂成人午夜视频| 91免费版在线观看网址| 日本在线精品在线观看| 欧美香蕉高清视频免费| 欧美久久精品在线观看| 欧美日韩亚洲一区二区搜索| 91精品啪在线观看国产日本| 久久精品亚洲一区二区 | 校园春色亚洲一区二区| 国产亚洲中文久久网久久| 人妻少妇系列一区二区| 欧美国产激情一区二区| 国产精品久久99真精品| 国产精致成人免费视频| 日韩欧美一级性生活片| 青青草原三区在线播放| 国产精品不卡一不卡二| 精品黄色大片不卡国产| 国产av剧情一区二区| 日韩成人中文字幕电影| 精品国产熟女成人av| 成人激情视频在线网页| 日韩人成理论午夜福利| 国产丝袜美腿视频亚洲综合| 亚洲综合av一区二区| 欧美日韩欧美日韩一区二区| 日本韩国精品视频在线| 伊人久久九九精品综合| 欧美熟妇在线视频你懂的| 人妻熟妇av在线一区二区三区| 国产一区国产二区中文字幕| 婷婷色爱区综合五月激情| 最新亚洲av熟女播放| 中文字幕日韩欧美一区| 欧美老熟妇一区二区三区| 国产一区在线免费在线观看| 92午夜福利在线视频|