为什么需要备份恢复
为满足监管要求
防止管理员误操作后,错误数据同步到所有副本,导致数据无法恢复
防止数据库因各种故障而造成数据丢失,降低灾难性数据丢失的风险,从而达到灾难恢复的目的
硬盘驱动器损坏
黑客攻击、病毒
自然灾害、电源浪涌、磁干扰
物理备份/恢复方案的系统架构
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.dgrt.cn/a/2196501.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
OBCP第七章 OB迁移-备份恢复技术架构及操作方法
为什么需要备份恢复
为满足监管要求
防止管理员误操作后,错误数据同步到所有副本,导致数据无法恢复
防止数据库因各种故障而造成数据丢失,降低灾难性数据丢失的风险,从而达到灾难恢复的目的
硬盘驱动器损坏
黑客攻击、病毒
……
python知识-爬虫
python知识-爬虫
1.requests
使用requests请求数据的流程
(1)请求网络数据,requests.get“请求地址”)
(2)设置解码方式(乱码时设置,在获取结果之前设置)
(3)获取请……
JVM实战-通过借助指令及监控分析工具优化线上系统的性能
前情
此前发布的系统最近客户反馈存在一些问题,主要是在查询数据时页面出现较长时间的卡顿,以及下载报表数据时出现报500错误信息,于是我们对此进行了各种情况分析以及借助性能分析工具验证,其中在导报表过程出现了OOM情况&#……
python django运用3.外部文件调用)
这里是引用 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、django调用外部文件#使用步骤#1.把要打开的文件如:index_01.html)放入文件夹[如:my_data)内的子文件夹[templates]内;2.在my_data子文件中views……
springboot 集成 flowable 工作流
1 依赖
<dependency><groupId>cn.iocoder.boot</groupId><artifactId>yudao-spring-boot-starter-flowable</artifactId>
</dependency> 2 yml配置
flowable:# 1. false: 默认值,Flowable 启动时,对比数据库表中……
POSIX正则表达式
维基百科 POSIX基本表达式 https://en.wikibooks.org/wiki/Regular_Expressions/POSIX_Basic_Regular_Expressions
POSIX扩展正则表达式 https://en.wikibooks.org/wiki/Regular_Expressions/POSIX-Extended_Regular_Expressions
正则表达式 https://en.wikipedia.org/wiki/R……
基于html+css的两张图片并排
准备项目
项目开发工具
Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044
项目……
python爬虫第一节基础概念
爬虫是一种自动化抓取互联网上数据的技术。在网络信息爆炸的今天,爬虫技术已经成为数据获取和信息分析的重要手段。本文将详细介绍爬虫的基础知识和操作,帮助初学者快速入门。
一、爬虫的基本原理
爬虫的基本原理是通过网络请求获取网页源代码……
初识设计模式 – 享元模式
简介
古代的活字印刷术就有点像享元模式,活字印刷就是将每个字模做出来,再印刷时再选取需要的字模到印刷板上,这样就构成了一页书的印刷板。这样的活字印刷大大提升了效率,减少了印刷板的空间。
在享元模式中,存储共……
新人做ASO如何快速写好关键词?
选好APP的关键词是我们做ASO优化的基础,关键词选得好,对我们日后的优化工作来说有事半功倍的效果,而选好关键词说难不难,说容易也不容易,下面就从新人的角度来说下如何选好我们的APP的关键词。 做关键词优化之前我们首……
手把手教你Temporal Fusion Transformer——Pytorch实战
建立了一个关于能源需求预测的端到端项目: 如何为 TFT 格式准备我们的数据。 如何构建、训练和评估 TFT 模型。 如何获取对验证数据和样本外预测的预测。 如何使用built-in model的可解释注意力机制计算特征重要性、季节性模式和极端事件鲁棒性。
什么是Temporal F……
【Java开发】设计模式 12:解释器模式
1 解释器模式介绍
解释器模式是一种行为型设计模式,它提供了一种方法来解释语言、表达式或符号。
在该模式中,定义了一个表达式接口,并实现了对应的表达式类,这些类可以解释不同的符号组成的表达式,从而实现对语言的……
反序列化渗透与攻防五)之shiro反序列化漏洞
Shiro反序列化漏洞
Shiro介绍
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默……
vue2+vue3
vue2vue3尚硅谷vue2vue2 课程简介【02:24】vue2 Vue简介【17:59】vue2 Vue官网使用指南【14:07】vue2 搭建Vue开发环境【13:54】vue2 Hello小案例【22:25】了解: 不常用常用:id 更常用 简单class差值总结vue 实例vue 模板 : 先 取 ࿰……
【hello Linux】环境变量
目录 1. 环境变量的概念 2. 常见的环境变量 3. 查看环境变量 4. 和环境变量相关的命令 5. 环境变量的组织方式 6. 通过代码获取环境变量 7. 通过系统调用获取环境变量 Linux🌷 在开始今天的内容之前,先来看一幅图片吧! 不知道你们是否和我一……
【Linux基础】常用命令整理
ls命令
-a选项,可以展示隐藏的文件和文件夹-l选项,以列表形式展示内容-h,需要和-l搭配使用,可以展示文件的大小单位ls -lah等同于la -a -l -h
cd命令(change directory)
语法:cd [Linux路径]……
客快物流大数据项目(一百一十二):初识Spring Cloud
文章目录
初识Spring Cloud
一、Spring Cloud简介
二、SpringCloud 基础架构图…
C和C++中的struct有什么区别
区别一: C语言中: Struct是用户自定义数据类型(UDT)。 C语言中: Struct是抽象数据类型(ADT),支持成员函数的定义。
区别二:
C中的struct是没有权限设置的,……
docker的数据卷详解
数据卷 数据卷是宿主机中的一个目录或文件,当容器目录和数据卷目录绑定后,对方修改会立即同步
一个数据卷可以同时被多个容器同时挂载,一个容器也可以被挂载多个数据卷
数据卷作用:容器数据持久化 /外部机器和容器间接通信 /容器……
13、Qt生成dll-QLibrary方式使用
Qt创建dll,使用QLibrary类方式调用dll
一、创建项目
1、新建项目->其他项目->Empty qmake Project->Choose 2、输入项目名,选择项目位置,下一步 3、选择MinGW,下一步 4、完成 5、.pro中添加TEMPLATE subdirsÿ……
编程日记2023/4/16 14:50:38