数据库备份之我见
2008-09-08 12:53:18 来源:WEB开发网使用这种日志重新应用的技术,数据库系统可以避免宕机所带来的已接受事务(应用已确认执行完毕的事务)的丢失。数据修复时,那些在宕机时处理结果还存在缓存中的已接受事务,结果会存放到磁盘文件中。未接受事务(还没有被应用确认的事务)会被回滚,消除它所带来的对其他数据的影响。为了帮助解释数据库日志如何工作,Figure 1-1描述了一个简单的数据库管理组件。
文件系统缓存和数据库恢复
如果使用文件作为数据库的数据存储方式会给我们的讨论增加一些额外的复杂性,因为文件管理系统有它自己的缓存。如果一个数据库系统在宕机后立刻重新启动,那么它所包含的文件可能并没有实时刷新到存储中,这是由于在系统宕机时,文件系统的缓存没有写入到存储的原因 。在这种情况下,数据库恢复进程必须重新应用数据日志刷新。也就是说,在系统宕机的情况下已接受事务也不会丢失。
归档日志:
长时间的数据库恢复
大多数的数据库都支持数据库日志归档,支持企业保存一个长时间的数据刷新历史。如果所有的基于一次全备份时间点之后的归档数据全部可用,那么就可以通过以下步骤恢复成为一个最新的数据库。
恢复备份拷贝
在已经恢复的数据库上重新应用所有的归档日志。
在已经恢复的数据库上重新应用数据库日志。
这也许是一个灾难后完全丧失服务能力数据中心的唯一恢复数据方法。在这个工作过程步骤中,数据库全备份数据和归档日志必须快速的传送到灾难恢复中心。为了实现完全的实时数据库恢复,镜像或复制当前的数据库日志到恢复中心也是必需的,就如我们在错误!未找到引用源。中描述的那样。
数据库备份技术
就如前面对恢复作用的描述,一个数据库的数据库备份必须必须是一个数据库的完整的映像,在这个映像的时间点上,没有部分完成的事务存在。这可以通过数据库的离线备份来实现,因为在这种情况下,没有事务需要处理。这种方式的缺点在于,在备份过程中,没有应用能够使用数据库。数据库在线的时候也可以进行备份,在这种情况下,备份程序要确保不管数据访问多么活跃,都能够得到一个完整的数据拷贝。
更多精彩
赞助商链接