使用S3作为存储介质对OceanBase进行备份

【 使用环境 】生产环境 or 测试环境
测试环境
【 OB or 其他组件 】
OB
【 使用版本 】
OceanBase 4.2.3 社区版
【问题描述】我使用S3作为存储介质对OceanBase进行备份恢复,在设置归档路径时报错参数错误。
设置归档路径命令:
ALTER SYSTEM SET LOG_ARCHIVE_DEST=‘LOCATION=s3://oceanbase/backup/archive?host=http://145.170.34.188:9000/&access_id=minioadmin&access_key=minioadmin’ TENANT = ‘xfyb’;

看着是语法无效 你的租户名添加单引号了吧
ALTER SYSTEM SET LOG_ARCHIVE_DEST=‘LOCATION=s3://oceanbase/backup/archive?host=http://145.170.34.188:9000/&access_id=minioadmin&access_key=minioadmin BINDING=Optional PIECE_SWITCH_INTERVAL=1d’ TENANT = xfyb;
不要粘贴直接使用 这个字符会转译

去掉依旧提示非法参数

尝试过多种

语句按照这样执行一下 TENANT=xfyb 这个中间不要空格 我打错了
ALTER SYSTEM SET LOG_ARCHIVE_DEST=‘LOCATION=s3://oceanbase/backup/archive?host=http://145.170.34.188:9000/&access_id=minioadmin&access_key=minioadmin BINDING=Optional PIECE_SWITCH_INTERVAL=1d’ TENANT=xfyb;

最后一个尝试就是去掉的空格尝试,我想询问是否是不支持这种s3的url

你稍等 我这边问一下 相关的老师 等会回复你

好的

我上述描述问题中,已经将xfyb , ‘xfyb’,什么都尝试了一下,麻烦看一下图,谢谢,不要浪费不必要的时间。

请按如下步骤提供下日志
1.开启 Trace 功能
SET ob_enable_show_trace=ON;
2.执行问题SQL
3.获取SQL trace_id
SELECT last_trace_id() FROM DUAL;
4.登录对应 OBServer 节点,进入到日志文件所在目录
cd /home/admin/oceanbase/log
5.获取trace_id对应的日志
grep “YB420BA1CC68-000615A0A8EA5E38-0-0” rootservice.log --填写第3步获取的trace_id
grep “YB420BA1CC68-000615A0A8EA5E38-0-0” observer.log --填写第3步获取的trace_id

rlog.log (5.6 KB)
olog.log (3.5 KB)
已提供两个日志

看出什么问题了吗,是否是这种S3的url不支持

初始化s3账号失败,可能是账号问题,或者访问bucket失败,我联系备份同学进一步分析下

我的access_id和access_key的值是取自minio的管理系统的账号密码,因为这个minio在对外服务的时候也是用这个minioadmin的账号

麻烦看下ob的具体版本,包含小版本号 select @@version;

路径里需要加一个&s3_region=xxx,xxx可以随便填,再试试,
这个是之前遗留的问题,4231版本已经修掉了

好了,感谢,是这个问题导致的

ALTER SYSTEM SET DATA_BACKUP_DEST=‘s3://oceanbase/backup/data?
host=http://172.16.0.6:32000
&access_id=oceanbase
&access_key=oceanbase
&s3_region=asd
&delete_mode=delete’ TENANT = zxd;

ALTER SYSTEM SET DATA_BACKUP_DEST=‘s3://oceanbase/backup/data?
host=http://172.16.0.6:32000
&access_id=oceanbase
&access_key=oceanbase’ TENANT = zxd;

4310社区版提示9026- backup destination is not valid