????oracle 9i instance recovery

????1??????????

??????checkpoint queue?????????????????????3???????checkpoint heartbeat?????dbwr???д??????RBA(redo block address)???????????instance recovery?????????rba???????????????checkpoint scn?????????????????

????2??twice scan of redo log

?????????redo????redo???????????Σ????????????Щredo record????????????9i??redo???????dbwrд???????????????dbwr??????????????????á???????????????????????????rollforward??

????3??rollforward

????????instance recovery????????λ??redo log ???????????????datafile????????????committed??uncommitted?????????????rollward??????????open???

????4??rollback

?????? ?rollforward??????uncommitted????????????????Щ?????????smon??on-demand rollback??????smon???????undo segment header???????л??????dead??????????????Щ????????on-demand rollback?????????????rollback?????????????????dead???????row lock?????????????????undo segment???before image????????飬?????????????dead????lock?????smon??????

??????????? ???????????????process crash????transaction dead??resource????????????????????????????????????Щresource????????????????????pmon????dead process????resource??

????????????Crash????????????????????δ??????????Redo?????????С?

????????δ??????????????????????????????State??10??????????????

?????????????????Щ?????SMON???????Dead????????????????????????SMON??????????Щ????????????????????????????????????Щδ???????????Dead????δ?????????????л????

????1?????????鷢?????£????д???

????2??????ε?block?仯??????redo??

???????δ?????????????????????????????κ???????????????????Щ?仯???1?????????

???????????

????1??update????1??????block 1

????2???????1?????block1???????

????3??checkpoint

????4??update????2??????block2

????5???????2?????block2???????

????6??instance crash

?????????????????

????1??????redo???1???block2

????2??????redo???1????????2

????3??database open

????4??SMON??????2????????block2??SMON??????1????????block1

????????????????

?????????????select??????block1????block2???????????????block?????????δ????????????block1??block2??

?????????????????????????????????????oracle???????????μ??????oracle??????????????????????????????????????block header ITL???м????