数据备份用DG还是RMAN?

2019-09-24 16:24:03 浏览数 (1)

在最近的一个大型项目中,用户提到由我们云提供商进行Oracle数据库的备份、迁移集成工作,是选择用DG、还是RMAN?我们今天来分析一下。

一、首先我们来回顾一下这两种工具的用途

Data Guard是实时的数据同步工具,即使可以开启数据延迟同步的功能(例如2小时才将主用数据库的更新同步到备用数据库),但实时同步功能仍是它的主要用途。Data Guard有物理、逻辑同步两种工作方式。例如如果我们执行了误删除,DG也会将备库执行删除操作。

RMAN(Recovery Manager)是物理备份工具,也是Oracle官方唯一的数据备份工具。其好处是可以设置多个同步的时间点,可以回退到备份点。即使执行了误操作,也可以随时回退。

如果服务商希望减少对客户数据的操作,减少直接触碰Oracle数据库密码的风险,同时用一个工具可迁移Oracle、Mysql、MSSQL等数据库,也可以在停机的状态下,采用第三方的数据磁盘copy工具进行数据迁移,相当于直接把数据磁盘全部copy走。

二、实际DG、RMAN是互补的关系,有不同的应用场景

1、数据迁移场景:

如果需要将线下客户自有的Oracle迁移至云上,因为数据量较大(5T),如果采用常用的export/import文本导出、导入方法,时间会很久。因为线下、线上库的操作系统、Oracle版本环境一模一样,用RMAN备份恢复的方式进行数据迁移最好。

2、数据备份的场景:

如果是关键型的业务数据备份,一般是DG RMAN同时上。

用DG实现秒级的数据同步,即使主用数据库的硬盘坏掉,备用数据库的数据也能完全一致。用DG恢复数据很快,主、备用数据库实际是同时处于运行状态,通过切换数据库就可以将数据库进行快速切换,恢复业务。同时,DG不仅是用于备份场景,也用于读写分离高性能的场景。

用RMAN实现按天等定期的数据备份,便于误操作的数据回退、或者找回更长时间的数据(甚至是几年、几个月前的数据)。RMAN的备份数据是无法直接使用的,需要进行恢复操作,数据库越大,恢复得越慢。

为了避免同时对主库进行DG RMAN操作而影响主库的性能,在实际生产场景中,一般建议:对主库进行DG操作,而在备库上进行RMAN定期备份。

0 人点赞