|
Re: 冷备份还原数据库是不是不能前滚恢复?
我的理解:
[B]1,有冷备份,并且有冷备份到数据库损坏时刻的所有归档。
如果数据库完全损坏,只能重建库。然后用冷备还原。[/B]
这说明只要这个冷备是有效备份,并且所有归档都可用,那么数据库一定可以恢复。根本不需要重建数据库。只不过如果你的联机日志文件也全都丢失了,那么很可能丢失部分数据(看是否checkpoint了)。
[B]2,是不是只能用冷备份拷贝恢复还原到冷备份时刻。并不能应用归档前滚?[/B]
归档是用于恢复数据库的,和前滚是两个概念。找你上面的条件,最次也能恢复到仅仅丢失最后一次checkpoin之后的情况,如果checkpoint之后没有其他操作,应该是可以恢复到不丢失一点数据的。
[B]3,因为在做冷备的时候数据文件,日志文件,控制文件,归档文件的SCN号是一致的,那么oracle就认为没有必要恢复了? [/B]
要恢复到最新的时刻(数据库损坏的时刻),当然需要recovery数据库,并应用自冷备以来的所有归档。否则你冷备之后到数据库损害之前这段数据从哪里来呢,呵呵。不过你要仅仅要求恢复到冷备的时候当然是可以得,作基于时间点的不完全恢复就可以了。
总结:
1,冷备、热备跟完全恢复的理解:
如果数据库工作在归档模式下,只要备份全(数据文件,控制文件,归档文件。个别时候也需要备份日志文件,例如线程恢复的情况,或者OPS这样的系统),无论是冷备或热备,都一定可以恢复。一般情况下日志文件不用备份。
2,使用旧的控制文件和重建控制文件:
如果使用旧控制文件备份的(或者用resetlog选项重建控制文件)时,必须用using backup controlfie选项恢复数据库,而且必须用resetlog打开数据库,因为这个全新的控制文件中不包含当前联机日志和数据文件的结束scn,自然也就不能在恢复中使用联机日志。如果所有控制文件都丢失或者联机日志全都丢失了,当然要重建控制文件。
建议搞清楚几个概念:
冷备和热备《——》物理备份和逻辑备份
完全恢复和不完全恢复 |
|