当前位置: 主页 > 数据库

数据库备份工具-oracle 整库备份

发布时间:2023-02-09 10:42   浏览次数:次   作者:佚名

这两天一直在研究MySQL数据库的备份和恢复方案。 备份对象是大量的Innodb表,或者少量的MyISAM表。

InnoDB 备份常见问题:

文件一致性:数据文件、缓存和日志文件必须严格一致。 加锁的方式不能保证一致性,因为InnoDB在后台异步刷新数据。

数据一致性:不能一次锁一张表,备份的是不同时刻的表数据; 如果一次性锁住所有表,InnoDB的mvcc机制会增加undo log,DDL操作也会有风险。

oracle 整库备份_数据截取工具是静态分析工具吗_数据库备份工具

Replication:如果支持主备结构,还应该缓存主备同步信息。

因此,如果要在不停止MySQL的情况下对InnoDB表进行热备份,很难保证文件一致性和数据一致性。

我尝试了以下备份和恢复方法:

1.使用mysqldump工具,类似mypump(5.7.11后有用,多线程导出,可以实现数据一致性)。 这种方式适合数据量比较少的时候使用(个人认为数据量大

oracle 整库备份_数据截取工具是静态分析工具吗_数据库备份工具

2. Mylvnbackup 文件系统快照:要求所有数据文件都在LVM卷上。 由于我的测试系统不满足这个条件,所以测试没有成功。

3、SAN\DRBD\RAID:硬件层面的拷贝不是真正的备份。 如果数据库在主库上被误删除,则无法恢复。

4.MySQL Enterprise Backup:oracle官方出品,直接基于物理文件备份。 付费软件,每台5000美元,太贵了,直接放弃。

这个工具有一个很大的优势:它支持Windows环境下的Mysql数据库备份。 我查了很多物理备份工具都没有这个功能。

oracle 整库备份_数据截取工具是静态分析工具吗_数据库备份工具

5.Percona XtraBackup:这个工具非常强大,可以满足中型和一些大型生产环境。 该工具还基于数据库的物理文件进行备份。 现在执行物理备份,然后使用 --prepare 选项对复制的文件执行内部崩溃恢复以生成一致的备份。 该工具可以执行完整备份和增量备份。 我在测试环境中对其进行了测试。 备份完30G的数据库用了17分钟数据库备份工具,cpu使用率不高。 备份后大小为20G。 几个小时后根据上次的全量备份做了一次增量备份,耗时13分钟。

这个工具的全量备份效率应该没有问题。 增量备份花费的时间比预期的要长一些。 稍后测试。

关于该工具的详细信息:

6. Zmanda Recover Manager:有免费版和商业版两种。 商业版可提供基于web的管理工具,支持windows环境下的mysql备份

数据库备份工具_数据截取工具是静态分析工具吗_oracle 整库备份

该工具的原理是先创建快照,然后根据快照创建全量备份。 增量备份使用二进制日志。

这个工具的好处是可以使用web端进行管理,自定义备份策略,监控备份状态。

该工具的配置文件可以配置使用logical backup或者raw(物理备份),但是笔者在实际测试中发现3.0版本无法对mysql 5.6版本进行物理备份。 无论配置的备份方法如何,该工具都使用 mysqldump 进行逻辑备份。 备份。 是程序错误吗? 优势坑。

为了实现数据库的安全备份,笔者的理解是必须做到以下几点:

oracle 整库备份_数据截取工具是静态分析工具吗_数据库备份工具

1. 完整备份(一两周一次)

2、二进制日志:可以实现时间点恢复。 根据业务场景选择合适的时间间隔定期备份二进制日志,如rsync。

3、至少要有一台备份机:否则主机出现故障后,恢复数据库时业务会中断

4、完整的数据恢复测试:根据恢复的日志文件、数据文件的大小、关键事件信息验证备份信息是否有效。

备份和恢复是吃力不讨好的活数据库备份工具,正常的功能没有功劳,稍有差错就是惊天动地的大事。