数据转储
转储是非常耗时的操作,不能频凡的进行。DBA应该根据数据库使用的情况确定一个适当的转储周期。
转储可分为两类:静态转储和动态转储
静态转储:是在系统中无运行事务时进行的转储操作。即转储操作开始的时刻,数据库处于一致性状态,而转储期间不允许(或不存在)对数据库的任何存取、修改活动。显然静态存储得到的一定是数据一致性的副本。缺点:降低数据库的可用性。
动态转储:是指转储期间允许对数据库进行存取或修改。即转储何用户事务可以并发执行。
动态转储可以克服静态转储的缺点,它不等待正在运行的用户事务结束,也不会影响新事物的运行。但是,转储结束时候援副本上的数据不能保证正确有效。例如:在转储期间,某个时刻T1,系统把数据A = 100转储到磁带上,而在下一时刻T2,某一事务将A改为200。转储结束后,后备副本上的A已经是过时的数据了。
为此,必须把转存期间各事务对数据库的修改活动登记下来,建立日志文件。这样,后援副本加上日志文件就能把数据库恢复到某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。
增量转储则指每次只转储上次转储后更新过的数据
从恢复角度看,使用海量转储得到的后副本进行恢复一般来说回更方便些,但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用有效。
数据转储方式:海量转储和增量转储,数据转储的状态:静态转储和动态转储,关系如下图:
