数据库镜像
如前所述,介质故障是对系统影响最为严重的一种故障。系统出现介质故障后,用户应用全部中断,恢复起来也比较费时。而且数据库管理员必须周期性地转储数据库,这也加重了数据库管理员的负担。如果不及时而正确地转储数据库,一旦发生介质故障,会造成较大的损失。
随着技术的发展,磁盘容量越来越大,价格越来越便宜。为避免磁盘介质出现故障影响数据库的可用性,许多数据库管理系统提供了数据库镜像(mirror)功能用于数据库恢复。即根据数据库管理员的要求,自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,数据库管理系统自动把更新后的数据复制过去,由数据库管理系统自动保证镜像数据与主数据库的一致性(如下图(a)所示)。这样,一旦出现介质故障,可由镜像磁盘继续提供使用,同时数据库管理系统自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本(如下图(b)所示)。在没有出现故障时,数据库镜像还可以用于并发操作,即当一个用户对数据加排他锁修改数据时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。

由于数据库镜像是通过复制数据实现的,频繁地复制数据自然会降低系统运行效率,因此在实际应用中用户往往只选择对关键数据和日志文件进行镜像,而不是对整个数据库进行镜像。
小 结
保证数据一致性是对数据库的最基本的要求。事务是数据库的逻辑工作单位,只要数据库管理系统能够保证系统中一切事务的ACID特性,即事务的原子性、一致性、隔离性和持续性,也就保证了数据库处于一致状态。为了保证事务的原子性、一致性与持续性,数据库管理系统必须对事务故障、系统故障和介质故障进行恢复。数据转储和登记日志文件是恢复中最经常使用的技术。恢复的基本原理就是利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库。
事务不仅是恢复的基本单位,也是并发控制的基本单位。为了保证事务的隔离性和一致性,数据库管理系统需要对并发操作进行控制,下章将进一步讲解并发控制。







