【 使用环境 】测试环境
【 OB 】
【 使用版本 】4.2.1
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】测试环境
【 OB 】
【 使用版本 】4.2.1
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
采用单机部署,部署命令如下
~]# 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
#快速部署ob库
~]# obd demo --home_path=/data/oceanbase_data
根据文档库中的信息,obd cluster destroy demo --clean
命令会销毁集群并清理数据目录。如果需要恢复数据,可以通过备份文件进行恢复。以下是具体的查看备份文件的方式及操作步骤:
在执行恢复操作之前,首先需要确认备份文件的位置和内容。
obd cluster backup
或其他备份命令中指定。/ob-backup
或者配置文件中指定的路径。使用以下命令列出备份文件:
ls -l /ob-backup/
或者更具体地查看某个租户的备份文件:
ls -l /ob-backup/<tenant_name>/
根据备份文件的内容,可以使用 Restore
配置文件来恢复数据。
创建一个 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
使用以下命令执行恢复操作:
obd cluster restore -c restore.yaml
恢复完成后,可以通过以下方式验证恢复结果:
参考文档片段 5,可以使用以下命令查看备份清理结果:
[查看备份清理结果](../500.clear-backup-data/400.view-cleaning-backup-history.md)
登录到恢复的租户,验证数据是否正确:
obclient -h127.0.0.1 -P2883 -u<username>@<tenant_name> -p
decryptionSecret
)。以上步骤基于文档库中的信息整理而成,如果仍有疑问或无法完成恢复,请联系 OceanBase 的人工答疑以获取更多帮助。
具体信息可参考以下文档:
destroy 铲掉了集群,如果没有备份无法恢复数据了。
怎么看有没有备份
根据文档库中的信息,您可以按照以下步骤检查是否存在备份任务以及备份文件。以下是具体的操作步骤:
OceanBase 提供了专门的视图来查看备份任务的历史记录。您可以通过查询这些视图来确认是否有备份。
使用 obclient
工具登录到目标租户:
obclient -h<host> -P<port> -u<username>@<tenant_name> -p
参考文档片段 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_PROGRESS
、FAILED
)表示备份正在进行或失败。如果视图中显示有备份任务完成,您可以进一步检查备份文件是否存在。
SELECT PATH FROM oceanbase.DBA_OB_BACKUP_JOBS WHERE STATUS = 'COMPLETED';
根据查询到的路径,使用以下命令检查备份文件是否存在:
ls -l <backup_path>
例如:
ls -l /data/1/sh_databackup/
如果您使用的是 OCP(OceanBase Control Platform),可以通过图形化界面查看备份任务:
DBA_OB_BACKUP_JOBS
和 DBA_OB_BACKUP_TASKS
是关键视图,用于确认是否有备份任务。如果以上方法均未发现备份任务或备份文件,请确认是否执行过备份操作。如果仍有疑问,建议联系 OceanBase 的人工答疑以获取更多帮助。
检索到的文档如下:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
我重新部署obd demo --home_path=/data/oceanbase_data之后怎么查看数据库的连接信息 连接密码这些
cd ~/.obd/cluster/demo下查看yaml文件
root密码是你的root@sys