完全恢复:
利用重做日志或增量备份将数据块恢复到最接近当前时间的时间点。
之所以叫做完整恢复是由于Oracle应用了归档日志和联机重做日志中所有的修改
不完全恢复:
利用备份产生一个非当前版本的数据库。
换句话说,恢复过程中不会应用备份产生后生成的所有的重做日志。
通常在下列情况下生成整个数据库的不完整恢复:
- 介质失败损坏了几个或全部的联机重做日志文件
- 用户操作造成的数据丢失,比如,用户误删除了一张表
- 由于个别归档日志文件的丢失无法进行完整的恢复
- 丢失了当前的控制文件,必须使用备份的控制文件打开数据库。
并在恢复后使用resestlogs选项来打开数据库,如果使用了backup的controlfile
或者重建的controlfile也一定得用open resetlogs
alter database open resetlogs的open resetslogs有什么作用?
open resetlogs应该是将日志重新归位,使数据库的scn,检查点等保持一致
你可以用archive log list看一下,这时日志序列应该为1
相当于把所有的联机日志重新“格式化”。这是会丢失数据的。
注:
resetlog 选项在不完全恢复时用
noresetlog 在完全恢复的时候用
在noarchivelog模式下,由于是脱机备份,属于完全备份,所以打开数据库时使用resetlogs选项。