rman中的不完整恢复:
不完整恢复表示会丢失数据。通过还原所有数据文件将整个数据库回退,然后执行不完全恢复。不是应用自备
份后生成的所有重做,而是故意在某个点停止应用重做,生成一个不是最新的数据库版本,
自该点后做的所有工作丢失,执行不完整恢复只有两个原因:完整恢复不可行或是故意要丢失数据。
完整恢复将是不可能的,除非自备份后生成的所有归档日志以及联机重做日志可用。如果归档日志缺失或
是被破坏,那恢复将在该点停止,完整恢复不会因为缺失归档或联机日志文件而失败。
因为这两种文件类型都可以且应多路复用到不同设备,使得它们完全丢失是不可能的,但也是会发生的。如果
发生这种情况,则不完全恢复至缺失或损坏的重做数据发生的点是唯一选择。
(注:如果归档日志或当前联机重做日志文件组的所有副本都丢失,那么必须执行不完全恢复)。
决定故意丢失数据是在用户错误发生后采取的行动。也许是因为用户提交了一个不适合业务需求的事务。
在使用update或delete语句时,忘了where条件,导致整个表受影响。而不是一行。如果提交了这一语句。
那么更改不可逆。对已提交的事务来说,是不可逆的。同样,对于一些DDL命令,更是不可逆的。
对于这些用户错误,可以还原整个数据库并将它恢复至错误发生前的点,从而生成没有错误的数据库版本,
同时也会丢失自那之后所做的所有工作。
(注1:有些闪回技术可帮助从用户错误中恢复过来,而不需要执行不完全恢复)
(注2:跳过坏事务的恢复而恢复所有其他工作是不可能的)
不完整恢复的特例是控制文件的恢复。在理想情况下,所有恢复操作将使用当前控制文件来引导,但有时是
不可能的,并且必