Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Why did recovery work?
Recently, someone compressed 3 live datafiles by accident on a
production system. After
much scurrying about and even arguing with an Oracle duty manager on the
phone, we
did the following. We shut down abort, uncompressed the datafiles, and
brought it back
up again, it then recovered, and everything was fine. We lost nothing.
We made the case for this approach because we had very large redo logs,
only switched about 3 times a day. Also, we had received no errors
about writting to a non-existent datafile, so we concluded that they
hadn't been touched, and that therefore, the header information in the
compressed file was still consistent with what the control file would
expect. In addition, we would not
lose the redo information, which would roll forward, and then roll back
from rollback accordingly when it was brought back up again. I've
been thinking about this again, and I don't get it. I know we've been
through this a lot on this group lately, but why weren't the datafiles
touched? Why didn't Oracle try to touch the datafiles. If you execute
a transaction, doesn't the info go straight out to redo, the datafiles,
and rollback, until it is committed, and then when it is committed,
doesn't the rollback just flush out? In which case, over the course of
2 hours, why no arguments from Oracle about having no datafiles?
Thanks in advance,
Dc.
Received on Wed May 19 1999 - 12:58:12 CDT