SinoDB备份恢复工具之ontape

news2024/9/29 11:34:06

        ontape是SinoDB数据库的备份恢复工具之一,可以记录、备份与恢复数据。因为不涉及到存储管理器,所以可以轻松实现其他备份方法,比如备份到 STDIO(标准输出)或备份到云。

1. ontape功能特性

  • 备份数据库服务器实例
  • 支持增量备份;
  • 支持备份和恢复逻辑日志;
  • 可以对整个数据库实例进行恢复,也可以只恢复特定的dbspace;
  • 支持标准的I/O读写,如磁带、文件或目录;
  • 支持备份到STDIO;
  • 支持备份到云;
  • 更改数据库的日志记录方式;
  • 无法直接使用ontape命令进行基于时间点的恢复;
  • ontape与onbar两个命令的数据备份不兼容。

2. 配置onconfig参数

  当使用ontape进行备份时,可以在onconfig文件中为其指定默认的备份设备路径,并指定其块的大小以及最大容量等相关参数,参数说明如下:

参数名称说明
TAPEDEV用于存储空间备份的目录文件系统或者磁带设备的绝对路径名称,指定ontape在归档过程中写入存储空间数据的目标位置,以及ontape在恢复过程中读取数据的源位置,当被设置为STDIO时。数据库备份时将向设备进行标准的I/O输出。
TAPEBLK指定备份的块大小,单位KB。块大小在备份和还原期间必须相同。
TAPESIZE用于指定备份和还原设备的最大大小,单位KB。将它设置为 0 会使用全部容量。
LTAPEDEV指定用于逻辑日志备份和还原的磁带设备、目录或文件名。
LTAPEBLK指定用于逻辑日志备份和还原期间的写入操作的设备的块大小。块大小在备份和还原期间必须保持相同,单位KB。
LTAPESIZE指定用于逻辑日志备份设备的最大大小,单位KB。将它设置为 0 会使用全部容量

3. 使用ontape备份存储空间和逻辑日志

存储空间备份
   ontape 支持存储空间的 0、1 和 2 级备份。它按照以下顺序备份存储空间:根存储空间、物理和逻辑日志存储空间、blobspace、智能 blobspace 以及其他存储空间。

  在开始使用 ontape 创建备份之前,请确保 TAPEDEV 参数或-t 所指定的位置支持写入。

  • ontape -s -L 0:零级备份,备份所有的dbspace;

  • ontape -s -L 1:一级备份,备份所有的dbspace;

  • ontape -s -L 2:二级备份,备份所有的dbspace;

  • ontape -s -L 0 -t /backup:零级备份,备份所有的dbspace,并指定备份目录为/backup;

  备注:用ontape备份生成的备份文件名为:hostname_servernumber_Ln,日志文件名为:hostname_servernumber_Lognnnnnnnnnn,可以通过设置环境变量IFX_ONTAPE_FILE_PREFIX来覆盖永久文件名的前缀部分(hostname_servernumber)。

逻辑日志备份

  • ontape -a [-d]:手动逻辑日志备份。-d 指示执行ontape,同时没有交互提示信息

  • ontape -c:指定在逻辑日志写满后连续自动进行备份,-c选项需要ontape始终处于运行状态,并且需要专门的设备来存储逻辑日志。

4. 使用ontape恢复数据

冷恢复

  • ontape -r:冷恢复所有的dbspace;

  必须在数据库服务器处于离线状态时执行冷恢复。在进行冷恢复时,首先需要关闭数据库,然后执行ontape -r命令。在冷恢复开始时,然ontape 会提示用户挂载包含零级备份的磁带。当从一个目录还原时,ontape 会提示您输入目录的路径名。

  在物理恢复完成后,ontape将询问用户是否需要救援逻辑日志,若回答"y",将对逻辑日志进行备份。

  在零级备份恢复完成后,ontape将询问用户是否需要恢复一级或二级备份,若回答"y",则需要插入包含一级或二级备份的磁带。

  还原结束时,数据库服务器会保持在静默模式下,可以执行onmode -m将数据库切换到在线模式。

使用 ontape 执行重命名数据块还原

  可在冷还原期间使用 ontape 重命名数据块。但是,请确保在重命名数据块还原完成后执行 0 级备份。

  ontape -r -rename -p /chunk_old -o 0 -n /chunk_new -o 20000

从 path: /chunk_old and offset: 0 重命名为 path: /chunk_new )并将偏移设置为 20000。

热恢复

  • ontape -r -D [dbs1 dbs2…]:热恢复dbspace dbs1、dbs2等;

  当服务器处于在线模式,并且需要恢复的不是关键存储空间(root dbspace或逻辑日志所在的dbspace)时,才可以使用热恢复。可以在冷恢复中还原关键存储空间之后,对选定的存储空间(比如 dbs1 和 dbs2)执行热恢复。

混合还原
  当执行混合还原时,可以仅还原关键的存储空间,此外,还可以在冷还原期间还原一个或多个非关键存储空间。以后,可以对非关键存储空间执行热还原。

ontape -r -D rootdbs llogdbs plogdbs
ontape -r -D dbspace1 dbspace2

逻辑日志恢复

  • ontape -l :逻辑日志恢复;

  在执行混合还原时,必须还原最后一次 0 级备份之后备份的所有逻辑日志文件。在执行完整还原时,可以选择是否还原逻辑日志文件,也可以在之后使用ontape -l命令执行逻辑日志还原。

逻辑日志救援
  在执行还原之前将逻辑日志文件从磁盘备份到存储介质的过程称为逻辑日志救援*。在系统失败后可能需要执行还原操作;但是一些逻辑日志数据可能还未备份到备份介质。必须对这些数据进行救援,因为将系统恢复到故障时间点需要它们。在系统失败后执行的冷还原会自动尝试救援任何日志,但也可以选择在冷还原之前手动救援日志。ontape 救援日志命令是 ontape -S 。

5. ontape备份注意点

  • 在执行ontape备份前要对Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。

  • 为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。

  • 如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、onconfig配置文件及非临时分配的Dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。

  • 必须保证有足够可用的逻辑日志文件。如果剩余的逻辑日志空间小于单个逻辑日志的50%,数据库将拒绝执行备份操作。必须先备份已使用过的逻辑日志,然后才能进行数据备份。

  • 保留onconfig文件副本。在进行0级备份后,应备份onconfig文件,因为在恢复0级备份时需要读onconfig文件信息,如果onconfig配置被修改,数据恢复将失败,如果恢复此0级备份,必须恢复当时的配置。

  • 备份可以在online联机或静止方式下进行,在备份过程中不能改变online运行方式,否则备份会被中断。

更多信息内容请移步星瑞格官方社区,期待大家加入

Sinoregal Tech ForumAsk questions, share solutions, and get to know the Sinoregal community.icon-default.png?t=N7T8https://forum.sinoregal.cn/

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

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

相关文章

【蓝桥杯省赛真题34】python积木搭建 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

python积木搭建 第十三届蓝桥杯青少年组python比赛省赛真题 一、题目要求 (注:input()输入函数的括号中不允许添加任何信息) 1、编程实现 小蓝和小青在玩积木搭建游戏,具体玩法如下: 小蓝报一个数字N&…

展示大屏-24小时天气预报

一、项目说明 展示大屏显示未来一周天气和24小时天气详情。 二、技术工具 1.语言&框架:java、springboot 2.UI界面:jQuery、HTML、CSS、 VUE 3.开发工具:IntelliJ IDEA、Eclipse 三、实现步骤 后端步骤 1.调取免费或收费的API接口。 …

【一】TensorFlow神经网络模型构建之神经元函数及优化方法

TensorFlow神经网络模型构建主要涉及如下几块:神经元函数、卷积函数、池化函数、分类函数、优化方法。下面分别对这几块进行展开说明: 神经元函数及优化方法 神经网络之所以能解决非线性问题(如语音、图像识别等),本…

共建数治政务,共赢数智未来——锐捷网络召开2024政府行业全国核心合作伙伴大会

在我国不断推进现代化产业体系建设,新质生产力正进入跃迁式发展的今天,加速政府的数字化转型,促进数字技术与政府应用深度融合,也正成为越来越多地方政府的共识。为了更好地携手合作伙伴共同把握数智政务建设新契机、聚力提升数智政务建设新能力,3月22日,以“共建数治政务,共赢…

C++第十三弹---内存管理(下)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1、operator new与operator delete函数 1.1、operator new与operator delete函数 2、new和delete的实现原理 2.1、内置类型 2.2、自定义类型 …

星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)

之前写了个1.0版本,由于太局限,需要用到笔记本才能操作,很多车友反馈不方便。特此出个手机版教程,简单easy,妈妈再也不用担心我搞不定啦 一、准备工作 先卸载车机上的autokit 或者 智能互联 app,这步很关…

使用Qt生成图片

Qt之生成png/jpg/bmp格式图片_qt生成图片-CSDN博客 (1)使用QPainter 示例关键代码: QImage image(QSize(this->width(),this->height()),QImage::Format_ARGB32);image.fill("white");QPainter *painter new QPainter(&image);painter->…

详解 WebWorker 的概念、使用场景、示例

前言 提到 WebWorker,可能有些小伙伴比较陌生,不知道是做什么的,甚至不知道使用场景,今天这篇文章就带大家一起简单了解一下什么是 webworker! 概念 WebWorker 实际上是运行在浏览器后台的一个单独的线程&#xff0…

[PCL] PCLVisualizer可视化的应用

[PCL] PCLVisualizer可视化的应用 通常情况下 PCL的可视化 是非常方便. 但是 #include<pcl/io/io.h> #include<pcl/io/pcd_io.h> #include<pcl/io/ply_io.h> #include<pcl/visualization/cloud_viewer.h>#include<iostream> #include<threa…

【函数修改的重要问题】想要增加C++函数返回值,选择结构体?OR 额外参数?

作为一个程序员&#xff0c;我们经常会遇到这样的情况&#xff1a; 别人写的C项目&#xff0c;需要我们来进行 ”修改&#xff0c;或者增加功能“。 举个例子 我们需要对于一个已有的C函数&#xff0c;增加它的返回值信息&#xff0c;通常有两条路可走&#xff1a; 用结构体…

只用一部手机,为你的吉利车机安装第三方软件(支持大部分车型)

&#x1f4a1; 文中使用的方法为DNS重定向&#xff0c;需要你具备一定的动手能力&#xff0c;否则将无法达到最终目的。 &#x1f4a1; 阅读本文&#xff0c;视为你有一定电脑基础&#xff0c;难以理解时&#xff0c;请寻求百度帮助&#xff0c;百度就是最好的老师&#xff01;…

“大模型+机器人”的现状和未来,重磅综述报告来了!

基础模型(Foundation Models)是近年来人工智能领域的重要突破&#xff0c;在自然语言处理和计算机视觉等领域取得了显著成果。将基础模型引入机器人学&#xff0c;有望从感知、决策和控制等方面提升机器人系统的性能&#xff0c;推动机器人学的发展。由斯坦福大学、普林斯顿大学…

红队笔记8-CTF5打靶流程-CMS漏洞-多用户信息泄露(vulnhub)

目录 开头: 1.主机发现和端口扫描&#xff1a; 2.80端口-NanoCMS哈希密码信息泄露-后台getshell 3.提权-用户过多信息泄露 4.总结&#xff1a; 开头: 学习的视频是哔哩哔哩红队笔记&#xff1a; 「红队笔记」靶机精讲&#xff1a;LAMPSecurityCTF5 - 标准攻击链&#xff…

【Java程序设计】【C00392】基于(JavaWeb)Springboot的校园生活服务平台(有论文)

基于&#xff08;JavaWeb&#xff09;Springboot的校园生活服务平台&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过…

有趣的css - 多弧形加载动画

大家好&#xff0c;我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;今天分享的是用纯css实现多双弧线加载动画。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲…

MySQL数据库基础--约束

约束 约束是作用于表中字段上的规则&#xff0c;用于限制在表中的数据 目的&#xff1a;保证数据库中数据的正确&#xff0c;有效性和完成性。 分类&#xff1a; 注意&#xff1a;约束是作用于表中字段上的&#xff0c;可以在创建表/修改表的时候哦添加约束 外键约束 外键用…

心理治疗聊天机器人的调查

摘要 这项调查旨在调查、分析和比较现有聊天机器人在心理治疗中的可行性和缺陷。调查指出了未来心理治疗聊天机器人所需的一系列任务。我们在公共数据库中检索了约1200篇相关文献&#xff0c;并选择了五种典型的和最先进的心理治疗聊天机器人。大多数最先进的心理治疗聊天机器人…

AndroidStudio中一些实用插件

1.RainbowBrackets插件为圆括号、方括号和花括号内的代码添加了漂亮的彩虹色 2.CodeGlance类似于Sublime或Xcode&#xff0c;CodeGlance插件在编辑器中嵌入了代码迷你图。滚动条也有所增大。在CodeGlance预览文件的代码模式下&#xff0c;用户可以快速导航到目标处。 3.ADBWifi…

机器人是怎么计时的(通用定时器 - 时基单元)

目录 一&#xff0c;引言 二&#xff0c;机器人的“大脑” 三&#xff0c;时基单元介绍 1&#xff0c;定时器框图 2&#xff0c;时基单元 &#xff08;1&#xff09;预分频器 &#xff08;2&#xff09;CNT计数器 &#xff08;3&#xff09;自动重装载寄存器 四&#…