“假如一个实例down掉了,未完成的事务会被回滚,这个回滚是发生在另外的实例上,还是发生在自身实例下次重新启动时”
另外的实例上。
而且是先做redo的前滚,再做undo的回滚,就像单节点instance crash recovery一样。给你贴段日志,看得就更明白了:
Beginning instance recovery of 1 threads
Wed May6 10:48:56 2009
Started redo scan
Wed May6 10:48:56 2009
Completed redo scan
488 redo blocks read, 124 data blocks need recovery
Wed May6 10:48:56 2009
Started recovery at
Thread 1: logseq 1598, block 2, scn 0.1131696448
Wed May6 10:48:56 2009
Recovery of Online Redo Log: Thread 1 Group 2 Seq 1598 Reading mem 0
Mem# 0 errs 0: /dev/rcms_redo12
Wed May6 10:48:56 2009
Completed redo application
Wed May6 10:48:56 2009
Ended recovery at
Thread 1: logseq 1598, block 490, scn 0.1131716791
122 data blocks read, 124 data blocks written, 488 redo blocks read
Ending instance recovery of 1 threads
SMON: about to recover undo segment 1
SMON: mark undo segment 1 as available
SMON: about to recover undo segment 2
SMON: mark undo segment 2 as available
SMON: about to recover undo segment 3
SMON: mark undo segment 3 as available
SMON: about to recover undo segment 4
SMON: mark undo segment 4 as available
SMON: about to recover undo segment 5
SMON: mark undo segment 5 as available
SMON: about to recover undo segment 6
SMON: mark undo segment 6 as available
SMON: about to recover undo segment 7
SMON: mark undo segment 7 as available
SMON: about to recover undo segment 8
SMON: mark undo segment 8 as available
SMON: about to recover undo segment 9
SMON: mark undo segment 9 as available
SMON: about to recover undo segment 10
SMON: mark undo segment 10 as available
|