OBCP第七章 OB迁移-备份恢复技术架构及操作方法

为什么需要备份恢复

为满足监管要求

防止管理员误操作后,错误数据同步到所有副本,导致数据无法恢复

防止数据库因各种故障而造成数据丢失,降低灾难性数据丢失的风险,从而达到灾难恢复的目的

硬盘驱动器损坏

黑客攻击、病毒

自然灾害、电源浪涌、磁干扰

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

OceanBase 数据库支持 OSS 、 NFS 、COS三种备份介质。

OceanBase 数据库从 V2.2.52 版本开始支持集群级别的物理备份。

物理备份由基线数据、日志归档数据两种数据组成:

日志归档是指日志数据的自动归档功能,OBServer 会定期将日志数据归档到指定的备份路径。这个动作是全自动的,不需要外部定期触发。

数据备份指的是备份基线数据的功能,该功能分为全量备份和增量备份两种

备份恢复数据

支持基线数据和增量数据备份

内部数据按照存储方式,可以化分为基于MemTable格式的增量数据和基于 SSTable格式的基线数据

基线数据:最后一次合并落盘的数据之和

增量数据:是当前合并时间点以后的所有更新数据,一般会存储在MemTable的内存表中,同时也会实例化为 Commit Log文件的形式存放在硬盘上

支持数据库上的任何操作

OceanBase的备份恢复支持数据库上的任何操作;

包括用户权限、表定义、租户定义、系统变量、用户信息、视图信息等逻辑数据以及所有的物理数据。

支持集群级和租户级备份

OceanBase的备份恢复目前支持的最小粒度是租户;

可以按需只备份恢复某个租户而不是整个集群,从而增加了备份恢复的灵活性,节省了空间。

物理备份介绍

数据备份指的是备份基线数据的功能,该功能分为全量备份和增量备份两种:

1.全量备份是指备份所有的需要基线的宏块。

2.增量备份是指备份上一次备份以后新增和修改过的宏块

日志归档是定期备份到备份目的端的,只需要用户发起一次alter system archivelog,日志备份就会在后台持续进行

 

 

物理备份操作方法:

1.部署NFS,所有OBServer都要连接到NFS服务器(或采用OSS服务器)

2.执行备份

2.1 配置备份目的地 : 执行 Alter system 语句配置备份目的

NFS:obclient> ALTER SYSTEM SET backup_dest='file:///data/nfs/backup';
OSS:obclient> ALTER SYSTEM SET backup_dest='oss://XXXXXXXXXXXXXXXXXXXXXXX';

2.2 启动 Oceanbase 的数据库日志归档功能

obclient> ALTER SYSTEM ARCHIVELOG;

2.3 执行全量备份或增量备份

obclient> ALTER SYSTEM MAJOR FREEZE; <--------执行全量备份前,对集群进行一次合并
obclient> SET ENCRYPTION ON IDENTIFIED BY 'password' ONLY; <----设置备份密码(可选)
obclient> ALTER SYSTEM BACKUP DATABASE; <-------执行全量备份
obclient> Alter system backup incremental database; <-------执行增量备份, 确保已经有全量备份存在

3 查看任务状态

obclient> SELECT * FROM CDB_OB_BACKUP_PROGRESS; <---------- 查看备份任务
obclient> SELECT * FROM CDB_OB_BACKUP_SET_DETAILS; <-----查看备份任务历史

物理恢复介绍

在目的集群上用建立恢复租户需要的unit 与resource pool。

通过 ALTER SYSTEM RESTORE TENANT 命令调度租户恢复任务。 对于备份恢复来说,restore tenant 命令内部的流程如下:

1. 创建恢复用的租户

2. 恢复租户的系统表数据

3. 恢复租户的系统表日志

4. 调整恢复租户的元信息

5. 恢复租户的用户表数据

6. 恢复租户的用户表日志

7. 恢复扫尾工作

物理恢复操作方法

1、停止日志备份

obclient> ALTER SYSTEM NOARCHIVELOG;

2、执行恢复

2.1 创建恢复目标租户需要用到的 Unit、resource pool

unit:obclient> CREATE RESOURCE UNIT XXXXXXXXXXXXXXXXXXXXXXX;
resource pool:obclient>CREATE RESOURCE POOL XXXXXXXXXXXXXX;

2.2 设置加密信息 , 以及恢复密码(如果未加密,或者恢复时可以访问原来的 KMS,跳过本步骤; 恢复密码是备份时添加了密码场景才需要)

obclient> SET @kms_encrypt_info = '<加密string>' <----值为EXTERNAL_KMS_INFO 的值
obclient> SET DECRYPTION IDENTIFIED BY 'password1','password2'; <----备份时设置的“全量备份”,“增量备份”的密码,未设置可
跳过次步骤

2.3打开恢复配置、执行恢复任务

obclient> ALTER SYSTEM SET restore_concurrency = 50; <-----检查 restore_concurrency 是否为0,为0 的话需要执行这条语句
obclient> ALTER SYSTEM RESTORE <dest_tenantname> FROM <source_tenantname> at 'uri' UNTIL 'timestamp' WITH 
'restore_option’;

3、查看任务状态

obclient> SELECT svr_ip,role, is_restore, COUNT(*) FROM __all_virtual_meta_table AS a, (SELECT value FROM 
__all_restore_info WHERE name='tenant_id') AS b WHERE a.tenant_id=b.value GROUP BY role, is_restore, svr_ip ORDER 
BY svr_ip, is_restore;
obclient> SELECT * FROM __all_restore_info;

OB提供迁移服务,支持同构或异构RDBMS与OceanBase之间进行数据交互的服务

OMS的功能体系可以分为服务接入层、流程编排层、组件链路层

OMS主要应用场景包括数据库不停服迁移和数据实时同步

OB数据库支持 OSS 和 NFS 两种备份介质

OB支持基线数据和增量数据备份,支持数据库上的任何操作的备份、支持集群级备份和租户级备份

OB物理备份恢复需要在目的集群上用建立恢复租户需要的unit 与 resource pool

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西极限存在准则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值