|
What I'm thinking is that on partial page write caused by a database crash, Oracle can automatically recover the block simply by applying redo stored in the online logfiles. I have doubt about "如果这个页本身已经发生了损坏,再对其进行重做是没有意义的", which I think should be qualified. Whether this (再对其进行重做) is doable depends on what kind of damage was done. A partial page or block write is unlikely to have damaged the block header beyond reading, because it just causes the front and end portions of the block to be inconsistent. So redo application after the instance is restarted can still continue. The block will be restored to the state of the last checkpoint. If a block is damaged beyond repair, then of course the DBA has to do media recovery. But a sudden database crash or power failure should not cause such damage, unless there's a bug. If I find a better answer, I'll come back and post more comments. |
|