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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/6551.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

九龙证券|券商积极布局A股 新进171家公司前十大流通股东

随着上市公司2022年年报连续出炉&#xff0c;券商自营盘的操作途径同步浮现。Choice数据显示&#xff0c;到4月4日&#xff0c;券商新进171家上市公司前十大流通股东之列&#xff0c;有48家上市公司获加仓。从装备方向来看&#xff0c;制造业、非银金融、电子、电力设备等板块依…

【电源专题】充电过程中指示灯怎么就红绿闪烁或是同时亮

本案例是在工作中发现的,同事测试的时候发现产品充电时指示灯红绿闪烁。正常的表现应该是充电为红灯,充满为绿灯。怎么会出现红绿闪烁的情况呢? 首先前提条件是产品已经量产,并且出货数量巨大,因此是否为个例性问题?通过排查后发现,最终现象是跟着充电器走,使用正常产品…

chatGPT的未来应用有哪些-ChatGPT对未来工作的影响

ChatGPT对未来的影响 ChatGPT 是一种先进的自然语言处理技术&#xff0c;能够处理和理解大量的自然语言数据和信息&#xff0c;具有广泛的应用价值。以下是 ChatGPT 可能对未来的影响&#xff1a; 改变人与计算机的交互方式。ChatGPT 的普及应用&#xff0c;将使得人们可以通过…

聊聊移动端动态化的由来和各流派的优缺点

移动端动态化的由来 “动态化”并不是最近几年才产生的名词&#xff0c;而是从从互联网诞生的初期&#xff0c;这个词就已经出现了。大家所认知的早期互联网&#xff0c;其实就是各种各类的“动态网站”&#xff0c;内容数据和页面外观都不是固定的&#xff0c;都是随着服务器…

命名空间和程序集

目录 一、什么是命名空间 1. 命名空间的作用 2. 命名空间跨文件伸展 3.嵌套命名空间 二、using指令 1. using命名空间指令 2. using别名指令 三、程序集的结构 1. 程序集标识符 2.强命名程序集 一、什么是命名空间 1. 命名空间的作用 命名空间是共享命名空间名的一组…

kotlin协程原理分析

使用kotlin的协程一段时间后&#xff0c;我们或多或少会产生一些疑问&#xff1a;协程和线程有什么关系&#xff1f;协程之间到底怎么来回传递的&#xff1f;协程真的比线程&#xff08;池&#xff09;好吗&#xff1f; 初窥 首先我们从最简单协程开始&#xff1a; fun main…

XXX客户挖矿应急响应

此次为真实客户案例! 0x01 前言: 同事反馈,有客户设备告警连接挖矿域名。 0x02 事件分析: 登录设备TOP: CPU巨高!!查。 定位进程: 通过netstat -anop 查看可疑进程: 通过netstat -anop | grep 28564 查看对应进程:

初始Vue【Vue】

Vue 简介 1. Vue是什么&#xff1f; 一套用于构建用户界面的渐进式JavaScript框架 渐进式&#xff1a;Vue可以自底向上逐层的应用 简单应用&#xff1a;只需一个轻量小巧的核心库 复杂应用&#xff1a;可以引入各式各样的Vue插件 2. Vue 的特点 采用组件化的模式&#xff0c…

JVM七大垃圾回收器上篇Serial、ParNeW、Parallel Scavenge、 Serial Old、 Parallel Old、 CMS、 G1

GC逻辑分类 垃圾收集器没有在规范中进行过多的规定&#xff0c;可以由不同的厂商、不同版本的JVM来实现。 由于JDK的版本处于高速迭代过程中&#xff0c;因此Java发展至今已经衍生了众多的GC版本。 从不同角度分析垃圾收集器&#xff0c;可以将GC分为不同的类型。 按线程数…

Linux学习记录——십칠 基础IO(2)

文章目录理解文件系统1、了解磁盘物理结构2、逻辑抽象3、文件系统如何理解文件的增删查改4、软硬连接1、软链接2、硬链接3、继续深入理解文件系统 之前已经知道&#xff0c;文件在没被打开的时候&#xff0c;会存放在磁盘等外设中&#xff0c;这篇的重点就是这些没被打开的文件…

JSON 数据解析的方法

JSON 数据解析 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式&#xff0c;但是也使用了类似于C语言家族的习惯&#xff08;包括C、C、C#、Java、JavaScript、Perl、Python等&#xff09;。这…

百度文心一言与Notion的比较(机器人通信的例子)

文心一言出来有一段时间了&#xff0c;也经常会去问问&#xff0c;感觉对于简单的语义理解还是可以&#xff0c;其答案对于一些常见的常识等还是可以给出不错的答案&#xff0c;但是在数学与代码等方面基本上很差&#xff0c;基本的贷款利率、微积分、没有理解语义的代码等都是…

CSDN——Markdown编辑器——快捷键

CSDN——Markdown编辑器——快捷键CSDN——Markdown编辑器——快捷键如下4个&#xff0c;同 word下面的需要加 Shift标题 Ctrl /⌘Shift H // headlineF 和 G在键盘相邻快捷键 的 图标![在这里插入图片描述](https://img-blog.csdnimg.cn/dc02416cebd34c428de54aba5e66c40a.png…

蓝桥杯 --- 数学与简单DP

蓝桥杯 --- 数学与简单DP数学1205. 买不到的数目1211. 蚂蚁感冒1216. 饮料换购简单DP2. 01背包问题1015. 摘花生895. 最长上升子序列数学 1205. 买不到的数目 小明开了一家糖果店。 他别出心裁&#xff1a;把水果糖包成4颗一包和7颗一包的两种。 糖果不能拆包卖。 小朋友来…

springcloud:xxl-job的任务触发机制及调度过期策略

0.引言 我们都会用xxl-job&#xff0c;但很少有人能够说清楚xxl-job的任务触发机制&#xff0c;面临任务阻塞、服务重启如何处理任务&#xff0c;本期我们就来一起看看xxl-job的任务触发机制 1. 调度过期策略 我们在配置策略时可以看到有一个调度过期策略配置&#xff0c;也…

二叉树的四种遍历方式以及必备的面试题(附图解)

二叉树的四种遍历方式以及必备的面试题 文章目录二叉树的四种遍历方式以及必备的面试题前言一、构建一个二叉树二、四种遍历方式1.前序遍历2.中序遍历3.后序遍历附加: 前三种遍历对比图4.层序遍历三、四种遍历相关的面试题1.第一题&#xff1a;144. 二叉树的前序遍历(1)题目&am…

LeetCode.每日一题 831. 隐藏个人信息

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

C语言函数:内存函数memcmp()

wpC语言函数&#xff1a;内存函数memcmp()以及函数实现与使用。 memcmp()&#xff1a; 头文件:#include <string.h> 作用&#xff1a; 进行内存比较。 参数&#xff1a; 解释&#xff1a;ptr1和ptr2是指针&#xff0c;从这个两个指针开始往后num个字节&#xff0c;将两…

【Python入门第四十六天】Python丨NumPy 数组重塑

数组重塑 重塑意味着更改数组的形状。 数组的形状是每个维中元素的数量。 通过重塑&#xff0c;我们可以添加或删除维度或更改每个维度中的元素数量。 从 1-D 重塑为 2-D 实例 将以下具有 12 个元素的 1-D 数组转换为 2-D 数组。 最外面的维度将有 4 个数组&#xff0c;…

【Redis】BigKey问题

文章目录MoreKey案例大批量往redis里面插入100W测试数据key(管道)生产上限制keys*/flushdb/flushall等危险命令以防止误删误用scan命令代替了keys *,避免了查询卡顿BigKey案例多大算大key危害如何产生如何发现 redis-cli --bigkeys、memory usage如何删除->渐进式删除BigKey…