当前位置:   article > 正文

【OceanBase】备份恢复简介_oceanbase备份恢复

oceanbase备份恢复

1.为什么需要备份恢复

  1. ◼ 为满足监管要求
  2. ◼ 防止管理员误操作后,错误数据同步到所有副本,
  3. 导致数据无法恢复
  4. ◼ 防止数据库因各种故障而造成数据丢失,降低灾难
  5. 性数据丢失的风险,从而达到灾难恢复的目的
  6. ⚫ 硬盘驱动器损坏
  7. ⚫ 黑客攻击、病毒
  8. ⚫ 自然灾害、电源浪涌、磁干扰

2.物理备份/恢复方案的系统架构

  1. ◼ OceanBase 数据库支持 OSS 、 NFS 、COS
  2. 三种备份介质。
  3. ◼ OceanBase 数据库从 V2.2.52 版本开始支持
  4. 集群级别的物理备份。
  5. ◼ 物理备份由基线数据、日志归档数据两种数据
  6. 组成:
  7. ⚫ 日志归档是指日志数据的自动归档功能,OBServer 会定期将日志数据归档到指定的备
  8. 份路径。这个动作是全自动的,不需要外部定期触发。
  9. ⚫ 数据备份指的是备份基线数据的功能,该功能分为全量备份和增量备份两种

3.备份恢复数据

  1. --支持基线数据和增量数据备份
  2. 内部数据按照存储方式,可以化分为基于MemTable格式的增量数据和基于 SSTable 格式的基线数据
  3. ⚫ 基线数据:最后一次合并落盘的数据之和
  4. ⚫ 增量数据:是当前合并时间点以后的所有更新数据,一般会存储在MemTable的内存表中,同时也会实例化为 Commit
  5. Log 文件的形式存放在硬盘上
  6. --支持数据库上的任何操作
  7. ⚫ OceanBase的备份恢复支持数据库上的任何操作;
  8. ⚫ 包括用户权限、表定义、租户定义、系统变量、用户信
  9. 息、视图信息等逻辑数据以及所有的物理数据。
  10. --支持集群级和租户级备份
  11. ⚫ OceanBase的备份恢复目前支持的最小粒度是租户;
  12. ⚫ 可以按需只备份恢复某个租户而不是整个集群,从而增加
  13. 了备份恢复的灵活性,节省了空间。

4.物理备份介绍

  1. ◼ 数据备份指的是备份基线数据的功能,该功能分为全量备份和增量备份两种:
  2. ⚫ 全量备份是指备份所有的需要基线的宏块。
  3. ⚫ 增量备份是指备份上一次备份以后新增和修改过的宏块
  4. ◼ 日志归档是定期备份到备份目的端的,只需要用户发起一次 alter system archivelog,
  5. 日志备份就会在后台持续进行

5.物理备份操作方法

  1. 1、部署 NFS,所有 OBserver 都要连接到 NFS服务器 (或采用 OSS 服务器)
  2. 2、执行备份
  3. 2.1 配置备份目的地 : 执行 Alter system 语句配置备份目的地
  4. NFS:obclient> ALTER SYSTEM SET backup_dest='file:///data/nfs/backup';
  5. OSS:obclient> ALTER SYSTEM SET backup_dest='oss://XXXXXXXXXXXXXXXXXXXXXXX';
  6. 2.2 启动 Oceanbase 的数据库日志归档功能
  7. obclient> ALTER SYSTEM ARCHIVELOG;
  8. 2.3 执行全量备份或增量备份
  9. obclient> ALTER SYSTEM MAJOR FREEZE; <--------执行全量备份前,对集群进行一次合并
  10. obclient> SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY; <----设置备份密码(可选)
  11. obclient> ALTER SYSTEM BACKUP DATABASE; <-------执行全量备份
  12. obclient> Alter system backup incremental database; <-------执行增量备份, 确保已经有全量备份存在
  13. 3、查看任务状态
  14. obclient> SELECT * FROM CDB_OB_BACKUP_PROGRESS; <---------- 查看备份任务
  15. obclient> SELECT * FROM CDB_OB_BACKUP_SET_DETAILS; <-----查看备份任务历史

6.物理恢复介绍

  1. ◼ 在目的集群上用建立恢复租户需要的unit
  2. resource pool。
  3. ◼ 通过 ALTER SYSTEM RESTORE TENANT 命
  4. 令调度租户恢复任务。 对于备份恢复来说,
  5. restore tenant 命令内部的流程如下:
  6. 1. 创建恢复用的租户
  7. 2. 恢复租户的系统表数据
  8. 3. 恢复租户的系统表日志
  9. 4. 调整恢复租户的元信息
  10. 5. 恢复租户的用户表数据
  11. 6. 恢复租户的用户表日志
  12. 7. 恢复扫尾工作

7.物理恢复操作方法(黑屏)

  1. 1、停止日志备份
  2. obclient> ALTER SYSTEM NOARCHIVELOG;
  3. 2、执行恢复
  4. 2.1 创建恢复目标租户需要用到的 Unit、resource pool
  5. unit:obclient> CREATE RESOURCE UNIT XXXXXXXXXXXXXXXXXXXXXXX;
  6. resource pool:obclient>CREATE RESOURCE POOL XXXXXXXXXXXXXX;
  7. 2.2 设置加密信息 , 以及恢复密码(如果未加密,或者恢复时可以访问原来的 KMS,跳过本步骤; 恢复密码是备份时添加了密码
  8. 场景才需要)
  9. obclient> SET @kms_encrypt_info = '<加密string>' <----值为EXTERNAL_KMS_INFO 的值
  10. obclient> SET DECRYPTION IDENTIFIED BY 'password1','password2'; <----备份时设置的“全量备份”,“增量备份”的密码,未设置可
  11. 跳过次步骤
  12. 2.3打开恢复配置、执行恢复任务
  13. obclient> ALTER SYSTEM SET restore_concurrency = 50; <-----检查 restore_concurrency 是否为0,为0 的话需要执行这条语句
  14. obclient> ALTER SYSTEM RESTORE <dest_tenantname> FROM <source_tenantname>
  15. at 'uri' UNTIL 'timestamp' WITH 'restore_option';
  16. 3、查看任务状态
  17. obclient> SELECT svr_ip,role, is_restore, COUNT(*)
  18. FROM __all_virtual_meta_table AS a,
  19. (SELECT value FROM __all_restore_info WHERE name='tenant_id') AS b
  20. WHERE a.tenant_id=b.value GROUP BY role, is_restore, svr_ip
  21. ORDER BY svr_ip, is_restore;
  22. obclient> SELECT * FROM __all_restore_info;

8.小结

◼ OB提供迁移服务,支持同构或异构 RDBMS 与 OceanBase 之间进行数据交互的服务
◼ OMS的功能体系可以分为服务接入层、流程编排层、组件链路层
◼ OMS主要应用场景包括数据库不停服迁移和数据实时同步
◼ OB数据库支持 OSS 和 NFS 两种备份介质
◼ OB支持基线数据和增量数据备份,支持数据库上的任何操作的备份、支持集群级备份和租户级备份
◼ OB物理备份恢复需要在目的集群上用建立恢复租户需要的unit 与 resource pool

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/610348
推荐阅读
相关标签
  

闽ICP备14008679号