【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.4.1
【问题描述】
如图修改日志归档目的:
ALTER SYSTEM SET LOG_ARCHIVE_DEST
返回timeout超时异常,如何解决问题
【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.4.1
【问题描述】
如图修改日志归档目的:
ALTER SYSTEM SET LOG_ARCHIVE_DEST
返回timeout超时异常,如何解决问题
用户问题总结:在执行 ALTER SYSTEM SET LOG_ARCHIVE_DEST
命令时出现 timeout 超时异常,需要排查原因。
OceanBase 提供了配套诊断工具 obdiag,可以根据问题场景一键采集日志和系统信息,并支持根因分析。根据您的问题描述,这属于与日志归档相关的操作超时问题。
推荐使用 obdiag 工具进行日志采集,并建议您将采集到的日志提供给我们以便进一步分析。
日志采集场景: 日志归档问题
日志采集命令: obdiag gather scene run --scene=observer.log_archive
此外,该问题可能涉及日志归档流程中的超时行为,可以尝试进行根因分析:
根因分析场景: 日志相关问题排查(无主等场景)
根因分析命令: obdiag rca run --scene=log_error
麻烦您提供一些信息以便我们更好地帮助您定位问题:
ALTER SYSTEM SET LOG_ARCHIVE_DEST
时使用的具体 SQL 和参数配置是什么?请您先运行上述 obdiag 命令进行日志采集,并将生成的日志压缩包提供给我们用于进一步分析。
附上敏捷诊断工具 obdiag 使用帮助链接
根据文档库中的信息,您可以通过以下几种方式调整超时时间相关的参数:
语句超时时间 (ob_query_timeout):
10s
。obclient> SET ob_query_timeout = 10000000; -- 单位为微秒,例如 10 秒等于 10000000 微秒
Query OK, 0 rows affected
obclient> SET GLOBAL ob_query_timeout = 10000000;
Query OK, 0 rows affected
jdbc:mysql://10.1.0.0:1001/unittests?user=**u**@sys&password=******&sessionVariables=ob_query_timeout=60000000000,ob_trx_timeout=60000000000&xxxx
事务超时时间 (ob_trx_timeout):
obclient> SET ob_trx_timeout =86400000000; -- 设置为一天的超时时间(单位为微秒)
obclient> SET GLOBAL ob_trx_timeout =86400000000;
事务空闲超时时间 (ob_trx_idle_timeout):
obclient> SET ob_trx_idle_timeout =86400000000; -- 设置为一天的超时时间(单位为微秒)
obclient> SET GLOBAL ob_trx_idle_timeout =86400000000;
副本迁移时变更 Paxos 成员组操作的超时时间 (sys_bkgd_migration_change_member_list_timeout):
20s
,取值范围为 [0s, 24h]
。请根据您的具体需求选择合适的参数进行调整。如果您需要进一步的帮助,请告知具体的场景和需求。
具体信息可参考以下文档:
使用 test_io_device测试下备份介质的连通性可权限是否满足
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016161
先看看目录权限,但是最好的办法就是先瞅一瞅报错日志和性能方面的日志
安装ob_admin的时候,
执行命令
bash build.sh debug --init
报错:
gen_parser.sh: line 297: /data/oceanbase-develop/src/sql/parser/_MD5: No such file or directory
Compile error: , abort.
根据文档库中的信息,您遇到的问题可能与编译环境或依赖项有关。以下是排查和解决此类问题的建议步骤:
确保您克隆的 OceanBase 源码完整且未损坏。您可以尝试重新克隆源码:
git clone https://github.com/oceanbase/oceanbase.git
某些情况下,OceanBase 的源码依赖于 Git 子模块。请确保所有子模块都已正确初始化:
cd oceanbase
git submodule update --init --recursive
如果之前已经执行过 build.sh
,可能存在残留文件导致冲突。可以尝试清理之前的构建结果后重新编译:
make clean
bash build.sh debug --init
报错信息提示 /data/oceanbase-develop/src/sql/parser/_MD5
文件不存在,可能是由于路径权限问题或路径不一致导致。请确认以下几点:
如果 _MD5
文件确实缺失,可以尝试手动创建该文件以继续编译:
touch /data/oceanbase-develop/src/sql/parser/_MD5
然后再次运行编译命令:
bash build.sh debug --init
如果您仅需要 ob_admin
工具,可以通过安装 OceanBase Utils 包来获取:
rpm -ivh oceanbase-ce-utils-<version>
或者提取 ob_admin
单独使用:
rpm2cpio oceanbase-ce-utils-<version> | cpio -idmv ./usr/bin/ob_admin
cp usr/bin/ob_admin /usr/local/bin
以上解决方案参考了以下文档内容:
如果问题仍未解决,请提供更多信息以便进一步分析。
更多信息请查看:
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
正常情况下在部署OB时应该已经安装了ob_admin了,你找下看看,如果没有安装
你安装对应版本的oceanbase-ce-utils-就可以
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013706
ob_query_timeout参数
没用。 我都调到 2小时了。
将域名改成ip就可以了!!!
应该是observer所在的机器解析不了这个域名
[2025-06-24 16:07:29.992177] WDIAG Log (ob_storage_s3_base.cpp:117) [3428328][][T500][Y0-0000000000000000-0-0] [lt=3][errcode=-9105] [S3] module=CurlHttpClient, msg=Curl returned error code 28 - Error
[2025-06-24 16:07:29.992247] WDIAG Log (ob_storage_s3_base.cpp:117) [3428328][][T500][Y0-0000000000000000-0-0] [lt=26][errcode=-9105] [S3] module=AWSXmlClient, msg=HTTP response code: -1
Resolved remote host IP address:
Request ID:
Exception name:
Error message: curlCode: 28, Error
0 response headers:
[2025-06-24 16:07:29.992283] WDIAG Log (ob_storage_s3_base.cpp:117) [3428328][][T500][Y0-0000000000000000-0-0] [lt=6][errcode=-9105] [S3] module=AWSClient, msg=If the signature check failed. This could be because of a time skew. Attempting to adjust the signer.
[2025-06-24 16:07:29.992312] WDIAG log_error (ob_storage_s3_base.h:317) [3428328][][T500][Y0-0000000000000000-0-0] [lt=4][errcode=0] S3 log error(start_time_us_=1750752439980969, timeout_us_=20000000, attempted_retries=0, request_id="", code=-1, exception="", err_msg="curlCode: 28, Error")
observer的机器ping 这个域名是没问题的。
我再确认下是否这个版本还不支持域名,另外4.3.4.1版本不建议使用了,建议使用4.3.5最新BP
没有dns就用IP
还有,如果sql执行时间长的话
ob_query_timeout参数调大几个0