普及数据库备份

我正在寻找备份我的普及数据库的最佳方法。 我已阅读文档,但仍有几个问题。

看来,连续操作方法只允许我备份整个数据库? 所以我会做butil -startbu @filelist ,然后备份整个数据库(复制,rsync等),然后运行butil -endbu @filelist 。 通过文档查看,我没有看到一种方法来获取此方法的事务日志; 就像我会为MSSQL( BACKUP LOG ACCT TO DISK )或Postgres( archive_command )做的那样。 使用rsync,每隔15分钟仍然可以这样做。

档案logging方法意味着我将不得不偶尔停止数据库来获得完整的备份,这是我可以接受的。 但是,我可以每隔15分钟将日志文件从服务器上复制下来,例如日志传送?

谢谢。

从阅读这一章的其余部分看来,你的猜测是正确的。 没有等同于MS-SQL日志传送。

使用连续操作时恢复数据文件如果您正在使用Continuous Operations作为备份策略,则没有恢复日志可用于恢复自上次备份以来所做的更改。 自上次备份以来,所有数据库更改都将丢失,并且事务日志中存储的任何事务都可能是例外情况。 数据库引擎在启动时会自动向前滚动这些事务。

因此,有事务日志,但似乎并没有把系统放在任何types的结构上,或者确保他们正在做你认为他们正在做的事情。 IOW,我不知道你将如何确认任何给定的交易日志是否与连续运行的任何给定的完全备份一致。

如果您想每15分钟进行一次档案logging,则必须每隔15分钟closures一次数据库。 对于大多数生产数据库,这不是一个正常的操作模式 – 您的环境是否允许这样做?

我对档案日志的理解是,每次备份后,您必须手动删除它们,因为它们一直在写入,所以您可以每15分钟备份一次。

初始步骤:停止数据库,创build备份,打开存档,启动数据库然后,你可以备份档案每15分钟~24小时。 下一个完整的备份:停止数据库,创build备份,删除/重命名档案,启动数据库然后,你可以备份档案每15分钟~24小时。 下一个完整的备份:停止数据库,创build备份,删除/重命名档案,启动数据库….等等

理由是,如果您不删除/重命名档案,它将仍然包含自第一次备份以来的所有更改(已在新的备份中)。 档案的维护是你的责任…似乎没有任何东西在这方面自动化。

从高级操作指南

“成功备份后,删除所有现有的档案日志。

警告:在继续使用数据文件之前,请删除相应的日志文件。 同步备份数据文件和相应的日志文件是恢复成功的关键因素。“