举例:数据转储与恢复 系统在 T a 时刻停止运行事务进行数据库转储,在 T b 时刻转储完毕,得到 T b 时刻的数据库一致性副本。系统运行到 T f 时刻发生故障。为恢复数据库,首先由DBA重装数据库后备副本,将数据库恢复至 T b 时刻的状态,然后重新运行自 T b 时刻至 T f 时刻的所有更新事务,这样就把数据库恢复到故障发生前的一致状态。 转储是十分耗费时间和资源的,不能频繁进行。 360oracle数据库故障恢复提醒:DBA 应该根据数据库使用情况确定一个适当的转储周期。
360oracle数据库故障恢复提醒:动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。但是,转储结束时后援副本上的数据并不能保证正确有效。例如,在转储期间的某个时刻 T c ,系统把数据 A=100 转储到磁带上,而在下一时刻 T d ,某一事务将 A 改为 200 。转储结束后,后备副本上的 A 已是过时的数据了。 为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件( log file )。这样,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。