|
个人赞同您说的, oracle undo redo是基于block的, 而mysql undo redo是基于record的. 但是有个问题不太理解, 既然通过undo redo就能恢复"partial write", 那么为什么oracle当执行手工begin backup命令时,each time a block is changed the datbase writes the before-image of the entire block to the redo stream before modifying the block. Then, the database also records the changes to the block in the redo log,通过将oracle block的前镜像写入redo,使得在恢复是能够获取oracle block的整个before-image,以此为基础,在通过redo中的记录进行恢复.所以如果想要恢复split block,是要有该split block的整个前镜像的吧? 不然的话, 按您所说通过redo undo就可以解决partial write问题, oracle手工热备又何必要写before-image of the entire block to the redo stream呢? |
|