使用obdumper对oceanbase进行备份,指定2881端口

1.安装obdumper

(1)下载软件

OceanBase分布式数据库-海量数据 笔笔算数icon-default.png?t=N7T8https://www.oceanbase.com/softwarecenter

(2)安装软件

参考:https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000000628759icon-default.png?t=N7T8https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000000628759

上传导数工具软件包到服务器并解压:

unzip ob-loader-dumper-4.2.x-RELEASE.zip
cd ob-loader-dumper-4.2.x-RELEASE
(3)配置运行环境
注意

用户的本地环境中必须安装 Java 8+ 并配置 JAVA_HOME 环境变量。强烈建议安装 JDK 1.8.0_3xx 及之后的版本。环境配置详情请参考 准备环境。

本步骤旨在修改 JVM 参数。

JVM 内存太小可能会影响导入导出的性能,甚至影响导入导出功能的稳定性。例如:Full GC 或者 GC Crash。

  1. 编辑 JAVA_OPTS 选项所在的文件。

    • Linux 操作系统下,编辑 {ob-loader-dumper}/bin/ 目录下的 obloader 和 obdumper 脚本。

    • Windows 操作系统下,编辑 {ob-loader-dumper}/bin/windows/ 目录下的 obloader.bat 和 obdumper.bat 脚本。

  2. 修改 JVM 参数。

    说明

    建议您根据运行机器的实际规格,调整 JVM 内存为适当的值。

    示例:运行机器可用内存为 16G,将 JVM 堆内存设置为 8G。

    JAVA_OPTS="$JAVA_OPTS -server -Xms8G -Xmx8G -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M -Xss352K"
    JAVA_OPTS="$JAVA_OPTS -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -Xnoclassgc -XX:+DisableExplicitGC

2.查询用户是否有备份权限

参考:OceanBase分布式数据库-海量数据 笔笔算数icon-default.png?t=N7T8https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000000628761

运行权限

OBLOADER 运行权限

使用 OBLOADER 连接 OceanBase 数据库导入数据时,连接数据库的账号需要拥有 CREATESELECTINSERTUPDATE 等命令的执行权限。可通过 SHOW GRANTS 语句查看用户被授予的权限。示例语句:

obclient> SHOW GRANTS FOR user1;
+------------------------------------------+
| Grants for user1@%                       |
+------------------------------------------+
| GRANT CREATE ON *.* TO 'user1'           |
| GRANT SELECT ON `db1`.* TO 'user1'       |
| GRANT INSERT ON `db1`.* TO 'user1'       |
| GRANT UPDATE ON `db1`.* TO 'user1'       |
| GRANT SELECT ON `oceanbase`.* TO 'user1' |
+------------------------------------------+
2 rows in set
说明
  • 如果是 OceanBase 数据库 MySQL 租户,导入数据前,用户需要具备 oceanbase 数据库的查询权限。授权语句示例:GRANT SELECT ON `oceanbase`.* TO 'user1'

    如果是 OceanBase 数据库 Oracle 租户,导入数据前,用户需要具备 SYS 的查询权限。授权语句示例:GRANT SELECT ON "SYS".* TO 'user1'

  • 使用 OBLOADER 连接 OceanBase 数据库 Oracle 租户导入数据库对象定义和数据时,建议使用数据库管理员(DBA)角色的账号连接数据库。

OBDUMPER 运行权限

使用 OBDUMPER 连接 OceanBase 数据库导出数据时,连接数据库的账号需要拥有 CREATESELECT 等命令的执行权限。可通过 SHOW GRANTS 语句查看用户被授予的权限。示例语句:

obclient> SHOW GRANTS FOR user1;
+------------------------------------------+
| Grants for user1@%                       |
+------------------------------------------+
| GRANT CREATE ON *.* TO 'user1'           |
| GRANT SELECT ON `db1`.* TO 'user1'       |
| GRANT SELECT ON `oceanbase`.* TO 'user1' |
+------------------------------------------+
2 rows in set

本次实验环境为:

CREATE USER test1 IDENTIFIED BY "test1234";
create database db1;
create table t1 (id int);GRANT CREATE ON *.* TO 'test1';
GRANT SELECT ON `db1`.* TO 'test1';
GRANT SELECT ON `oceanbase`.* TO 'test1';

3.使用obdumper进行备份

mkdir -p /tmp/ob   --创建备份目录cd /data/ob-loader-dumper-4.2.1-RELEASE/bin    --切换到obdumper的bin目录[root@oceanbase bin]# ./obdumper -h127.0.0.1 -P 2881 -u test1@sys -p test1234 -D db1 --csv --table '*' -f /tmp/obbk
2024-06-23 14:37:06 [INFO] Parsed args:
[--csv] true
[--file-path] /tmp/obbk
[--host] 127.0.0.1
[--port] 2881
[--user] test1@sys
[--password] ******
[--database] db1
[--sys-user] root
[--table] [*]2024-06-23 14:37:06 [INFO] Load jdbc driver class: "com.oceanbase.jdbc.Driver" finished
2024-06-23 14:37:06 [INFO] Manifest: "/tmp/obbk/data/MANIFEST.bin" has been saved
2024-06-23 14:37:06 [WARN] Query table entry for table: "t1" is null. Consider the table as non-partitioned table.
2024-06-23 14:37:06 [INFO] Try to query unique keys for table: "t1".... (But no-primary constraints).
2024-06-23 14:37:06 [INFO] Query unique keys for table: "t1" success. (No-unique constraints). Elapsed: 2.815 ms
2024-06-23 14:37:06 [INFO] Query table entry for table: "t1" success. Remain: 0. Elapsed: 1.711 ms
2024-06-23 14:37:06 [INFO] Query all table entries success. Total: 1. Elapsed: 42.23 ms
2024-06-23 14:37:06 [INFO] Split rows for non-partitioned table(without primary key): "t1" success. Ranges: 1
2024-06-23 14:37:06 [INFO] Generate 1 dump tasks finished. Total Elapsed: 11.68 ms
2024-06-23 14:37:06 [INFO] Start 8 record dump threads for 1 dump tasks finished
2024-06-23 14:37:07 [INFO] Dump 2 rows db1.t1 to "/tmp/obbk/data/db1/TABLE/t1.1.*.csv" finished
2024-06-23 14:37:08 [INFO] Close connection count: 7 of the DataSource. Key: BIZ
2024-06-23 14:37:08 [INFO] Shutdown task context finished
2024-06-23 14:37:08 [INFO] ----------   Finished Tasks: 1       Running Tasks: 0        Progress: 100.00%       ----------
2024-06-23 14:37:08 [INFO] All Dump Tasks Finished: ----------------------------------------------------------------------------------------------------------------------------No.#        |        Type        |             Name             |            Count             |       Status       
----------------------------------------------------------------------------------------------------------------------------1          |       TABLE        |              t1              |              2               |      SUCCESS       
----------------------------------------------------------------------------------------------------------------------------Total Count: 2          End Time: 2024-06-23 14:37:082024-06-23 14:37:08 [INFO] Dump record finished. Total Elapsed: 1.141 s
2024-06-23 14:37:08 [INFO] System exit 0
[root@oceanbase bin]#

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt实现打开pdf(阅读器)功能用什么库比较合适

关于这个问题,网上搜一下,可以看到非常多的相关博客和例子,可以先看看这个总结性的博客(https://zhuanlan.zhihu.com/p/480973072) 该博客讲得比较清楚了,这里我再补充一下吧(qt官方也给出了一些…

MyBatis Plus条件构造器使用

1Wrapper: 条件构造抽象类,最顶端父类 1.1 AbstractWrapper: 用于查询条件封装,生成 sql 的 where 条件 1.2 QueryWrapper: Entity 对象封装操作类,不是用lambda语法 1.3 UpdateWrapper: Update…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-29残差网络ResNet

29残差网络ResNet import torch from torch import nn from torch.nn import functional as F import liliPytorch as lp import matplotlib.pyplot as plt# 定义一个继承自nn.Module的残差块类 class Residual(nn.Module):def __init__(self, input_channels, num_chan…

ROS2创建自定义接口

ROS2提供了四种通信方式: 话题-Topics 服务-Services 动作-Action 参数-Parameters 查看系统自定义接口命令 使用ros2 interface package sensor_msgs命令可以查看某一个接口包下所有的接口 除了参数之外,话题、服务和动作(Action)都支持自定义接口&am…

微服务实战系列之云原生

前言 话说博主的微服务实战系列从去年走到今天,已过去了半年多了。本系列,博主主要围绕微服务实践过程中的主要组件或工具展开介绍。其中基本覆盖了我们项目或产品研发过程中,经常使用的中间件或第三方工具。至此,该系列也该朝着…

LangChain真的好用吗?谈一下LangChain封装FAISS的一些坑

最近在做一个知识库问答项目,就是现在大模型浪潮下比较火的 RAG 应用。LangChain 可以说是 RAG 最受欢迎的工具,因此我首选 LangChain 来快速构建我的应用。坦白来讲 LangChain 本身一套对于组件的定义已经让我感觉很复杂,为什么采用 f-strin…

SM2258XT量产工具,SM2258XT开卡三星SSV4颗粒成功分享,SM2259XT量产参考教程,威刚ADATA SP580开卡记录

前两天拆了笔记本上的威刚ADATA SP580 240GB,准备做移动硬盘用,装入移动硬盘盒之后接入电脑,发现系统可认盘,SMART显示正常,Windows的磁盘管理能显示正确容量,但处于未初始化状态,且始终无法初始…

gin数据解析,绑定和渲染

一. 数据解析和绑定 1.1 Json数据解析和绑定 html文件&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

数据脱敏学习

数据脱敏是一种保护敏感信息的方法&#xff0c;它通过修改或删除数据中的敏感部分&#xff0c;使得数据在保持一定可用性的同时&#xff0c;不再直接关联到个人隐私或重要信息。 自然人指可以直接或间接标识 直接标识&#xff1a;如姓名、身份证号码、家庭住址、电话号码、电…

Power BI可视化表格矩阵如何保持样式导出数据?

故事背景&#xff1a; 有朋友留言询问&#xff1a;自己从Power BI可视化矩阵表格中导出数据时&#xff0c;导出的表格样式会发生改变&#xff0c;需要线下再手动调整&#xff0c;重新进行透视组合成自己想要的格式。 有没有什么办法让表格导出来跟可视化一样&#xff1f; Po…

【proteus 51单片机入门】8*8led点阵

文章目录 前言如何点亮led点阵仿真图代码点亮led核心代码解析 爱心代码 滚动总结 前言 在嵌入式系统的开发中&#xff0c;LED点阵显示器是一种常见的显示设备&#xff0c;它可以用来显示各种图形和文字&#xff0c;为用户提供直观的信息反馈。本文将介绍如何使用Proteus软件和…

Element 页面滚动表头置顶

在开发后台管理系统时&#xff0c;表格是最常用的一个组件&#xff0c;为了看数据方便&#xff0c;时常需要固定表头。 如果页面基本只有一个表格区域&#xff0c;我们可以根据屏幕的高度动态的计算出一个值&#xff0c;给表格设定一个固定高度&#xff0c;这样表头就可以固定…

在 PMP 考试中,项目管理经验不足怎么办?

在项目管理的专业成长之路上&#xff0c;PMP认证如同一块里程碑&#xff0c;标志着从业者的专业水平达到了国际公认的标准。然而&#xff0c;对于那些项目管理经验尚浅的考生来说&#xff0c;这座里程碑似乎显得有些遥不可及。那么&#xff0c;在PMP考试准备中&#xff0c;项目…

冯雷老师:618大退货事件分析

近日冯雷老师受邀为某头部电商36名高管进行培训&#xff0c;其中聊到了今年618退货潮的问题。以下内容整理自冯雷老师的部分授课内容。 一、引言 随着电子商务的蓬勃发展&#xff0c;每年的618大促已成为消费者和商家共同关注的焦点。然而&#xff0c;在销售额不断攀升的同时…

DigiRL:让 AI 自己学会控制手机

类似于苹果此前发布的Ferret-UI 的安卓开源平替。主要用于在 Android 设备上识别 UI 和执行指令&#xff0c;不同的是它利用了离线到在线强化学习&#xff08;Offline-to-Online RL&#xff09;&#xff0c;能够快速适应应用更新或 UI 变化。

如何解决java程序CPU负载过高问题

1、介绍 在生产环境中&#xff0c;有时会遇到cpu占用过高且一直下不去的场景。这种情况可能会导致服务器宕机&#xff0c;进而中断对外服务&#xff0c;也会影响硬件寿命。 2、原因 1、Java代码存在因递归不当等原因导致的死循环的问题&#xff0c;推荐有条件的循环&#xf…

OpenAI禁止中国使用API,国内大模型市场何去何从

GPT-5 一年半后发布&#xff1f;对此你有何期待&#xff1f; 前言 前言&#xff1a; 近日&#xff0c;OpenAI宣布禁止中国用户使用其API&#xff0c;这一决策引起了国内大模型市场的广泛关注。面对这一挑战&#xff0c;国内大模型市场的发展路径和前景成为业界热议的焦点。本…

pytorch-01

加载mnist数据集 one-hot编码实现 import numpy as np import torch x_train np.load("../dataset/mnist/x_train.npy") # 从网站提前下载数据集&#xff0c;并解压缩 y_train_label np.load("../dataset/mnist/y_train_label.npy") x torch.tensor(y…

【小程序静态页面】猜拳游戏大转盘积分游戏小程序前端模板源码

猜拳游戏大转盘积分游戏小程序前端模板源码&#xff0c; 一共五个静态页面&#xff0c;首页、任务列表、大转盘和猜拳等五个页面。 主要是通过做任务来获取积分&#xff0c;积分可以兑换商品&#xff0c;也可用来玩游戏&#xff1b;通过玩游戏既可能获取奖品或积分也可能会消…

一文速览Google的Gemma:从gemma1到gemma2(2代27B的能力接近llama3 70B)

前言 如此文《七月论文审稿GPT第3.2版和第3.5版&#xff1a;通过paper-review数据集分别微调Mistral、gemma》所讲 Google作为曾经的AI老大&#xff0c;我司自然紧密关注&#xff0c;所以当Google总算开源了一个gemma 7b&#xff0c;作为有技术追求、技术信仰的我司&#xff0…