KingbaseES数据库逻辑备份还原


数据库版本:KingbaseES V008R006C008B0014


        

简介

介绍2个KingbaseES用于备份还原的工具:

  • sys_dump:逻辑备份
  • sys_restore:逻辑还原

    sys_dump 是 KingbaseES 用于逻辑备份的工具,可以将数据备份为不同类型的文件。支持数据库正在运行时备份,且不阻塞其他用户访问数据库。sys_dump 只用于备份单个数据库,如果要备份整个集簇需要使用 sys_dumpall(备份所有对象,包括角色、表空间,使用方法与sys_dump相同)。

    sys_restore 则是将 sys_dump 备份的文件还原到数据库中,它们的连接参数都是相同的,控制参数存在些许区别。

        

文章目录如下

1. 语法参数

1.1. 通用连接参数

1.2. 逻辑备份参数

1.3. 逻辑还原参数

2. 逻辑备份方法

2.1. 导出数据为sql文件

2.2. 自定义导出文件格式

2.3. 快速导出(并行)

2.4. 指定导出某些表

3. 逻辑还原方法

3.1. 指定某个库导入数据

3.2. 还原时自动创建备份的库


        

1. 语法参数

语法如下:

sys_dump <连接参数> [选项参数]
sys_restore <连接参数> [选项参数]

1.1. 通用连接参数

连接参数就是平时连接数据库的参数(必选),例如:

# 备份连接
sys_dump -U system -d kingbase -p 54321
# 还原连接
sys_restore -U system -d kingbase -p 54321
  • -h:服务器IP(默认本地)
  • -U:数据库用户名(默认Linux用户名)
  • -d:数据库名称
  • -p:数据库端口号(默认54321)
  • -W:输入密码(可选)

        

1.2. 逻辑备份参数

  • 逻辑备份就是 sys_dump 的参数

常用参数

-f:指定备份到某个文件或目录
-F:指定备份格式-Fp:输出为SQL文件(默认)-Fc:自定义格式归档为1个压缩文件, 比如指定为.tar .dmp等-Fd:指定1个不存在的目录,自动将表、大对象备份到该目录下(每张表备份1个文件,非常适合备份大数据)-Ft:tar格式,但tar格式不支持压缩
-Z:设置压缩级别(0~9),0不压缩,9最小压缩,默认中等
-j:并行备份
-v:详细模式

        

控制参数

-a:只转储数据,不包括模式
-g:只转储全局对象(角色和表空间)
-r:只转储角色
-s:只转储对象定义(模式)
-t:只转储名字匹配pattern的表
-n:只导出指定的模式
-s:只转储模式, 不包括数据
-t:只导出指定表-N:不导出指定的模式
-T:不导出指定表
-x:不要转储权限 (grant/revoke)-b:在转储中包括大对象
-B:排除转储中的大型对象
-c:在重新创建之前,先清除(删除)数据库对象
-C:在转储中包括命令,以便创建数据库-E:转储以ENCODING形式编码的数据
-O:在明文格式中, 忽略恢复对象所属者
-S:在明文格式中使用指定的超级用户名

        

1.3. 逻辑还原参数

  • 逻辑备份就是 sys_restore 的参数

常用参数

-f:指定文件/目录名(-为输出到stdout)
-F:指定还原文件格式(自动识别)-Fc:sys_dump使用-Fc备份的文件-Fd:sys_dump使用-Fd备份的文件-Ft:sys_dump使用-Ft备份的文件
-c:删除-d指定库的对象
-C:自动创建sys_dump备份的库名
-l:打印归档文件的 TOC 概述
-v:详细模式

        

控制参数

-a: 只恢复数据, 不包括模式
-e: 发生错误退出, 默认为继续
-E: 跳过COPY时遇到的错误行
-I: 恢复指定名称的索引
-j: 执行多个并行任务进行恢复工作
-K: 指定加密密钥
-L: 从这个文件中使用指定的内容表排序输出
-n: 在这个模式中只恢复对象
-N: 不恢复此模式中的对象
-g: 恢复来自这个模式的对象,和-G一同使用
-G: 把对象恢复到这个模式,和-g一同使用目标模式和源模式的的数目应相同,或者只有一个目标模式
-O: 不恢复对象所属者
-P: 恢复指定名字的函数
-s: 只恢复模式, 不包括数据
-S: 使用指定的超级用户来禁用触发器
-t: 恢复命名关系(表、视图等)
-T: 恢复指定名字的触发器
-x: 跳过处理权限的恢复 (grant/revoke)
-1: 作为单个事务恢复

        

2. 逻辑备份方法

  • 逻辑备份使用 sys_dump 工具

2.1. 导出数据为sql文件

sys_dump 默认导出为sql文件,所以只需要指定连接参数即可

./sys_dump -U system -p 54321 -d db1 > file.sql
或
./sys_dump -U system -p 54321 -d db1 -f file.sql
  • 将库db1的数据导入到file.sql中

        

例如:在db1中创建1个schema(s1),在public下创建t1、t2表,在s1下创建t3表。

CREATE DATABASE db1;
\c db1CREATE TABLE t1(id int);
INSERT INTO t1 VALUES(generate_series(1, 10));CREATE TABLE t2(name text)CREATE SCHEMA s1;
CREATE TABLE s1.t3(id int ,name text);
INSERT INTO s1.t3 VALUES (generate_series(1, 5), md5(random()));

然后将db1的数据转储为sql文件

转储的sql文件中正常包含创建schema、表,但是插入的语句并不会像上述例子使用函数,而是表中的真实数据

从图中可以得知,没有数据的表copy为空,有数据的表copy原库的真实数据。这也就意味着当某些表存在上千万或亿级数据时,转储的数据是非常庞大的。所以,这种方式只适用于少量数据的库,或者指定导出某些数据,不适用于大数据导出。

        

2.2. 自定义导出文件格式

可以通过参数 -Fc 来指定导出的文件格式,例如:

./sys_dump -U system -p 54321 -d db1 -Fc > file.dump
或
./sys_dump -U system -p 54321 -d db1 -Fc -f file.dump

        

2.3. 快速导出(并行)

sys_dump 参数 -Fd 将数据库中每张表都转储为1个文件,这也就意味着这种方式在导出数据时可以并行,且不影响其他数据。基本用法:

# 普通用法
./sys_dump -U system -p 54321 -d db1 -Fd -f 目录# 并行加 -j
./sys_dump -U system -p 54321 -d db1 -Fd -j 10 -f 目录

每张表转储为1个文件(如果指定的目录file_dir不存在,会自动创建)

并行导出增加参数 -j <并行数>

        

2.4. 指定导出某些表

  • 为了方便查看参数,这里省略连接参数 -U <用户名> -d <库名> -p <端口号>

只导出 t1 表(默认 public 模式)

./sys_dump -t t1 > file.sql

导出以 t 开头的所有表(默认 public 模式)

./sys_dump -t 't*' > file.sql

导出除 public 模式中以 t 开头表的所有对象

./sys_dump -T 't*' > file.sql

导出 public 模式中以 t 开头的全部表,但不导出 public 模式下以 2 结尾的表

./sys_dump -t 'public.t*' -T 'public.*2' > file.sql

并行导出 t1 表

./sys_dump -t t1 --parallel-lob-data -j 10 > file.sql

        

3. 逻辑还原方法

  • 逻辑还原使用 sys_restore 工具

3.1. 指定某个库导入数据

sys_restore 不需要指定文件格式,因为它可以自动识别。例如:

./sys_restore -U 用户名 -d 库名 -p 端口号 <还原文件/目录>

不论是还原备份的目录还是自定义的dump文件,都不需要指定类型。如果碰上特殊情况必须指定类型,那么 sys_dump 备份的是什么类型,则还原就是什么类型。举个例子:

./sys_dump -d db1 -Ft -f ./back_file  # 备份
./sys_restore -d db1 -Ft ./back_file  # 还原

        

sys_restore 只能还原 -Fc -Fd -Ft 备份的数据,对于使用 sys_dump -Fp 备份的sql文件 sys_restore 不支持,可以直接手动执行或者使用 ksql -f

./ksql -U 用户名 -d 库名 -p 端口号 -f 文件名

        

3.2. 还原时自动创建备份的库

sys_restore 可以通过 -C 来自动创建库,但创建的库并不是 -d 指定的库,而是 sys_dump 导出的库。比如使用 sys_dump 导出 db1 库的数据:

如上图,使用 sys_dump 备份 db1 的数据,然后使用 sys_restore 连接 db2 还原数据,直接报错。这是因为使用 -C 会自动创建库,创建的库并不是 -d 指定的 db2,而是 db1。因为原本的 db1 存在,且数据都有,所以会直接报错。

删除 db1 库后再次还原数据

可以看到删除 db1 后是可以正常还原的,也就是说这种方法仅适用数据迁移。

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

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

相关文章

ARM功耗管理标准接口之SCMI

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理有哪些标准接口&#xff1f;ACPI&PSCI&SCMI&#xff1f; Advanced Configuration and Power Interface Power State Coordination Interface System Control and Management Interface 下图示例说明了实现…

docker部署canal 并监听mysql

1.部署mysql 需要开启mysql的binlong&#xff0c;和创建好用户等 可以参考这个 Docker部署Mysql数据库详解-CSDN博客 2.部署canal 参考这一篇&#xff1a; docker安装Canal&#xff0c;开启MySQL binlog &#xff0c;连接Java&#xff0c;监控MySQL变化_docker canal-CSD…

内网信息收集——MSF信息收集浏览器记录配置文件敏感信息

文章目录 一、配置文件敏感信息收集二、浏览器密码&记录三、MSF信息收集 域控&#xff1a;windows server 2008 域内机器&#xff1a;win7 攻击机&#xff1a;kali 就是红日靶场&#xff08;一&#xff09;的虚拟机。 一、配置文件敏感信息收集 使用searchall64.exe&#…

【错题集-编程题】四个选项(DFS + 剪枝 + 哈希表)

牛客对应题目链接&#xff1a;四个选项 (nowcoder.com) 一、分析题目 用递归枚举出所有的情况&#xff0c;注意剪枝&#xff1a; 填写某个数时&#xff0c;要看看还有没有剩余次数。填写某个数时&#xff0c;要看看符不符合若干题的选项必须相同。 二、代码 // 值得学习的代码…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(六)-人工智能控制的自主无人机用例

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

SparkStreaming--scala

文章目录 第1关&#xff1a;QueueStream代码 第2关&#xff1a;File Streams代码 第1关&#xff1a;QueueStream 任务描述 本关任务&#xff1a;编写一个清洗QueueStream数据的SparkStreaming程序。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.如何使用S…

OrangePi AI Pro 实测:感受 AI 应用的独特魅力与强大性能

OrangePi AiPro介绍和初始化配置 小寒有话说一、OrangePi AiPro介绍1. 主板详情2. 开发配置3. 镜像烧录4. 设备连接5. WiFi连接6. NVMe SSD的安装和挂载7. 更新下载源并下载必要的软件8. 扩展内存 二、Jupyter Lab AI测评应用案例1. 获取Jupyter Lab 网址链接2. 图像提取文字3.…

帕金森病患者应该如何进行日常锻炼以提高生活质量?

帕金森病患者的日常锻炼建议 帕金森病患者进行日常锻炼对于改善症状、维持肌肉功能和延缓疾病进展至关重要。以下是一些具体的锻炼建议&#xff1a; 选择适合的运动类型&#xff1a;帕金森病患者应选择低冲击、有氧的活动&#xff0c;如散步、骑自行车、游泳和太极拳等。这些运…

【qt】考试系统项目

话不多说,先一睹芳颜 咱们的账号,题库和答案都是通过文件获取的. 话不多说,直接开干 目录 一.登录窗口1.界面设计2.邮箱验证3.登录验证 二.题库窗口1.考试计时2.布局管理器3.题库显示4.按钮布局5.计算分数 三.窗口交互四.完整代码五.结语 一.登录窗口 1.界面设计 这里添加背…

从信息化、数字化、智能化到企业大模型应用

新时代背景下&#xff0c;数字经济发展速度之快、辐射范围之广、影响程度之深前所未有&#xff0c;5G、大数据、云计算、人工智能、区块链等技术加速创新&#xff0c;全域融入经济社会、民生服务全过程&#xff0c;成为资源要素重组、经济结构重塑、竞争格局重构的关键力量。千…

Visual Studio 安装程序无法执行修复或更新

一.问题场景 出现问题的场景&#xff1a;当你的VS已经安装但是无法在工具中下载新组件或者卸载了当时一直无法安装。 二.问题原因 如果计算机上的 Visual Studio 实例已损坏&#xff0c;则可能会出现此问题。 三.解决方法 如果之前尝试修复或更新 Visual Studio 失败&…

浅谈RLHF---人类反馈强化学习

浅谈RLHF&#xff08;人类反馈强化学习&#xff09; RLHF&#xff08;Reinforcement Learning fromHuman Feedback&#xff09;人类反馈强化学习 RLHF是[Reinforcement Learning from Human Feedback的缩写&#xff0c;即从人类反馈中进行强化学习。这是一种结合了机器学习中…

51单片机6(P0P1P2P3结构框架图)

一、GPIO结构框架图与工作原理 1、接下来我们介绍一下这个GPIO结构框图和工作原理&#xff0c;我们使用51单片机的GPIO分为了P0&#xff0c;P1&#xff0c;P2&#xff0c;P3这四组端口&#xff0c;下面我们就分别来介绍这四组端口它的一个内部结构&#xff0c;只有了解了内部的…

[PM]原型与交互设计

原型分类 1.草图原型 手绘图稿, 规划的早期,整理思路会使用 2.低保真原型 简单交互, 无需配色, 黑白灰为主, 产品规划和评审阶段使用 标准化的低保真原型是高保真原型的基础 3.高保真原型 复杂交互, 一般用于公开演示, 产品先产出低保真原型, 设计师根据原型产出设计稿 低保…

Vue3学习体验(一)

搭建工程 使用vue-cli脚手架创建vue3工程 vue create vue3-app-vue-cliVue-cli官网&#xff1a;https://cli.vuejs.org/zh/guide/installation.html 使用vite搭建vue3工程 npm init表示临时的下载vite应用来创建vue3工程&#xff0c;工程名称为vue3-app-vite npm init vit…

mount挂载

1&#xff09;Vmvare挂载光驱设备 安装光驱设备后&#xff0c;可以看到设备文件。 ls /dev/sr0 ll /dev/cdrom虽然设备是以文件的形式出现的&#xff0c;但和一般的文件不一样。 2&#xff09;mount挂载 目录是目录&#xff0c;设备是设备&#xff0c;mount挂载可以让目录成…

数据结构——查找(线性表的查找与树表的查找)

目录 1.查找 1.查找的基本概念 1.在哪里找&#xff1f; 2.什么查找&#xff1f; 3.查找成功与否&#xff1f; 4.查找的目的是什么&#xff1f; 5.查找表怎么分类&#xff1f; 6.如何评价查找算法&#xff1f; 7.查找的过程中我们要研究什么&#xff1f; 2.线性表…

Spring webflux基础核心技术

一、 用操作符转换响应式流 1 、 映射响应式流元素 转换序列的最自然方式是将每个元素映射到一个新值。 Flux 和 Mono 给出了 map 操作符&#xff0c;具有 map(Function<T&#xff0c;R>) 签名的方法可用于逐个处理元素。 当操作符将元素的类型从 T 转变为 R 时&#xf…

基于conda包的环境创建、激活、管理与删除

Anaconda是一个免费、易于安装的包管理器、环境管理器和 Python 发行版&#xff0c;支持平台包括Windows、macOS 和 Linux。下载安装地址&#xff1a;Download Anaconda Distribution | Anaconda 很多不同的项目可能需要使用不同的环境。例如某个项目需要使用pytorch1.6&#x…

SAP 消息输出 - Adobe Form

目录 1 安装链接 2 前台配置 - Fiori app 2.1 维护表单模板 (maintain form templates) 2.2 管理微标 (manage logos) 2.3 管理文本 (manage texts) 3 后台配置 3.1 定义表单输出规则 3.2 分配表单模板 SAP 消息输出&#xff0c;不仅是企业内部用来记录关键业务操作也是…