obd cluster destroy demo --clean 执行后怎么恢复数据,给出具体的查看备份文件的方式及操作步骤

【 使用环境 】测试环境
【 OB 】
【 使用版本 】4.2.1
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

2 个赞

采用单机部署,部署命令如下
~]# tar -xzf oceanbase-all-in-one-4.2.1_bp11_20250402.el7.x86_64.tar.gz
~]# cd oceanbase-all-in-one/bin/
~]# ./install.sh
~]# source ~/.oceanbase-all-in-one/bin/env.sh

部署

配置启动环境

~]# cat /etc/security/limits.conf
root soft nofile 655350
root hard nofile 655350

  • soft nofile 655350
  • hard nofile 655350
  • soft stack unlimited
  • hard stack unlimited
  • soft nproc 655360
  • hard nproc 655360
  • soft core unlimited
  • hard core unlimited

#快速部署ob库
~]# obd demo --home_path=/data/oceanbase_data

根据文档库中的信息,obd cluster destroy demo --clean 命令会销毁集群并清理数据目录。如果需要恢复数据,可以通过备份文件进行恢复。以下是具体的查看备份文件的方式及操作步骤:

1. 查看备份文件

在执行恢复操作之前,首先需要确认备份文件的位置和内容。

步骤 1.1: 确认备份路径

  • 备份路径通常在 obd cluster backup 或其他备份命令中指定。
  • 如果没有明确的备份路径,可以检查默认备份路径,例如 /ob-backup 或者配置文件中指定的路径。

步骤 1.2: 列出备份文件

使用以下命令列出备份文件:

ls -l /ob-backup/

或者更具体地查看某个租户的备份文件:

ls -l /ob-backup/<tenant_name>/

2. 恢复数据

根据备份文件的内容,可以使用 Restore 配置文件来恢复数据。

步骤 2.1: 创建恢复配置文件

创建一个 YAML 文件(例如 restore.yaml),内容如下:

apiVersion: cloud.oceanbase.com/v1
kind: Restore
metadata:
  name: ob-restore
  namespace: obcluster
spec:
  savePoint:
    type: time
    value: "2023-07-07 15:05:35.536997"
  source:
    clusterName: ob-test
    clusterID: 1
    tenant: tenant1
    path:
      data: file:///ob-backup/t1/data
      log: file:///ob-backup/t1/log
    decryptionSecret: backup-secret
  dest:
    clusterName: ob-test
    clusterID: 1
    tenant: ob_restore
    kmsEncryptInfo: ''
  topology:
    - zone: zone1
      unitNum: 1
      type:
        name: Full
        replica: 1
        priority: 3
      resource:
        maxCPU: 2500m
        minCPU: 2
        memorySize: 1Gi

步骤 2.2: 执行恢复命令

使用以下命令执行恢复操作:

obd cluster restore -c restore.yaml

3. 验证恢复结果

恢复完成后,可以通过以下方式验证恢复结果:

步骤 3.1: 查询恢复的历史记录

参考文档片段 5,可以使用以下命令查看备份清理结果:

[查看备份清理结果](../500.clear-backup-data/400.view-cleaning-backup-history.md)

步骤 3.2: 登录数据库验证数据

登录到恢复的租户,验证数据是否正确:

obclient -h127.0.0.1 -P2883 -u<username>@<tenant_name> -p

注意事项

  • 在执行恢复操作之前,请确保备份文件完整且未被修改。
  • 如果备份文件加密,请确保提供正确的解密密钥(decryptionSecret)。
  • 恢复操作可能会覆盖现有数据,请谨慎操作。

以上步骤基于文档库中的信息整理而成,如果仍有疑问或无法完成恢复,请联系 OceanBase 的人工答疑以获取更多帮助。

具体信息可参考以下文档:

  1. 部署个人实验环境
  2. 数据恢复
  3. 集群命令组
  4. OceanBase 安装部署工具 V2.0.1
  5. 查看备份清理进度
  6. obd集群sql删除节点后集群状态异常启动失败
  7. OceanBase 安装部署工具 V1.3.3
1 个赞

destroy 铲掉了集群,如果没有备份无法恢复数据了。

怎么看有没有备份

根据文档库中的信息,您可以按照以下步骤检查是否存在备份任务以及备份文件。以下是具体的操作步骤:


1. 通过视图查看备份任务历史

OceanBase 提供了专门的视图来查看备份任务的历史记录。您可以通过查询这些视图来确认是否有备份。

步骤 1.1: 登录到 OceanBase 数据库

使用 obclient 工具登录到目标租户:

obclient -h<host> -P<port> -u<username>@<tenant_name> -p

步骤 1.2: 查询备份任务历史

参考文档片段 8 和 9 的内容,可以查询以下视图来确认是否有备份任务:

  • 查询 JOB 级任务历史
    使用以下 SQL 查询 DBA_OB_BACKUP_JOBS 视图:

    SELECT * FROM oceanbase.DBA_OB_BACKUP_JOBS\G
    

    或者在 Oracle 模式下:

    SELECT * FROM SYS.DBA_OB_BACKUP_JOBS\G
    
  • 查询 Task 级任务历史
    使用以下 SQL 查询 DBA_OB_BACKUP_TASKS 视图:

    SELECT * FROM oceanbase.DBA_OB_BACKUP_TASKS\G
    

    或者在 Oracle 模式下:

    SELECT * FROM SYS.DBA_OB_BACKUP_TASKS\G
    

结果说明

  • 如果查询结果为空,则表示没有执行过备份任务。
  • 如果查询结果非空,您可以进一步检查 STATUS 字段:
    • STATUS = 'COMPLETED' 表示备份已完成。
    • 其他状态(如 IN_PROGRESSFAILED)表示备份正在进行或失败。

2. 通过备份路径检查备份文件

如果视图中显示有备份任务完成,您可以进一步检查备份文件是否存在。

步骤 2.1: 确认备份路径

  • 默认情况下,备份路径可能存储在配置文件中,或者在执行备份时指定的路径。
  • 如果不确定备份路径,可以通过以下 SQL 查询备份路径:
    SELECT PATH FROM oceanbase.DBA_OB_BACKUP_JOBS WHERE STATUS = 'COMPLETED';
    

步骤 2.2: 检查备份文件

根据查询到的路径,使用以下命令检查备份文件是否存在:

ls -l <backup_path>

例如:

ls -l /data/1/sh_databackup/

3. 通过 OCP 平台查看备份任务

如果您使用的是 OCP(OceanBase Control Platform),可以通过图形化界面查看备份任务:

  1. 登录 OCP 平台。
  2. 进入目标集群和租户。
  3. 在“备份恢复”模块中查看备份任务列表。

总结

  • 通过视图查询DBA_OB_BACKUP_JOBSDBA_OB_BACKUP_TASKS 是关键视图,用于确认是否有备份任务。
  • 通过备份路径检查:查询备份路径后,直接检查文件系统中的备份文件。
  • 通过 OCP 平台:如果使用 OCP,可以直接在平台上查看备份任务。

如果以上方法均未发现备份任务或备份文件,请确认是否执行过备份操作。如果仍有疑问,建议联系 OceanBase 的人工答疑以获取更多帮助。

检索到的文档如下:

  1. 停止备份
  2. 查看数据备份进度
  3. 查看备份清理进度
  4. 发起全量数据备份
  5. 发起增量数据备份
  6. 使用备份恢复(带日志)功能创建备租户
  7. 查看数据备份结果
  8. 查看单个租户备份任务

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

我重新部署obd demo --home_path=/data/oceanbase_data之后怎么查看数据库的连接信息 连接密码这些

cd ~/.obd/cluster/demo下查看yaml文件
root密码是你的root@sys