一文详解 OceanBase 逻辑备份恢复
作者:玉璁,OceanBase 工具团队技术专家。
孙夕恩,花名玉璁,工作十余年,一直在基础架构与中间件领域从事研发工作。现任职于 OceanBase 工具团队,负责基础组件&工具的研发工作,致力于为 OceanBase 建设一套完善的生态工具体系。玉璁在Java、分布式、基础架构、中间件、“去O”等领域有着较为丰富的研发实战经验。
认识备份恢复
在数据库日常运维过程中,备份是一项非常关键的动作。企业为了数据安全,DBA会定期为数据库进行不同程度的备份。数据库按备份形式来分,主要分为逻辑备份和物理备份。物理备份是把数据库中的物理文件(例如:数据文件、日志文件等)转储到另外的设备上。一旦数据库发生故障,可以利用这些物理备份文件进行还原。逻辑备份是利用导出工具将数据库中的对象(例如:模式、数据等)在逻辑上以特定的格式导出到存储设备上,我们可以利用导入工具把逻辑备份出来的文件导入到数据库。从备份时数据库的运行状态来看,备份恢复主要分为冷备、温备和热备。冷备时数据库不提供在线的读写服务,用户将机器上的数据库软件所包括的控制文件、配置文件以及数据/日志文件进行归档迁移到目标机器上并重新启动即可。温备时数据库仅提供在线读服务,用户仅需要考虑冷备操作对于在线读业务的影响。热备时数据库提供在线读写服务,用户不仅要考虑数据的一致性问题,还要考虑备份工作对于在线业务的影响。
obdumper/obloader 是 OceanBase 官方提供的导入导出使用工具,它也可以用来实现轻量级的逻辑备份恢复,适用于快速搭建测试环境和小规模生产数据库。下面我们来简单介绍一下逻辑备份恢复的核心原理之一——全局数据一致性。
全局数据一致性
我们在网络博客上或者客户的交流中发现,经常会有人提出这样的问题:如何保证导出(或者备份)的数据具有全局一致性?下面我们将通过数据库不同的技术方案来讲解OceanBase 如何实现全局的数据一致性,以及我们的工具是如何解决一致性的问题。
方式一:锁表
FLUSH TABLES WITH READ LOCK;
相关文章