王现岗
2025 年5 月 31 日 16:10
#1
【 使用环境 】测试环境
【 OB or 其他组件 】社区版4.3.5.1
【 使用版本 】
【问题描述】源租户开启归档,执行克隆报错ERROR 4179 (HY000): log archive is not ready, create tenant snapshot not allowed
查看租户是归档模式,但是CDB_OB_ARCHIVELOG没有任何记录
手动执行了一次转储 好像也不行
归档目录有生成校验文件 创建的时候也没有报错 请老师帮忙给看看
observer.log (6.9 MB)
4 个赞
论坛小助手
2025 年5 月 31 日 16:10
#3
根因分析场景: 日志归档问题
根因分析命令: obdiag rca run --scene=log_archive
日志采集场景: 日志归档问题
日志采集命令: obdiag gather scene run --scene=observer.log_archive
推荐使用 obdiag 工具进行根因分析和日志采集,以便确认问题所在。上述命令将帮助您收集与日志归档相关的诊断信息,并分析可能的根因。
请您执行上述命令后,将生成的日志压缩包提供给我们,以便进一步确认问题。
另外,为了更好地了解问题的具体情况,请您提供以下信息:
源租户开启归档时的具体配置参数是什么?例如归档路径、归档模式等。
手动转储操作的具体步骤是什么?是否在转储过程中遇到任何异常或警告信息?
归档目录生成校验文件的具体过程是怎样的?是否有相关日志记录可以提供?
报错发生的时间点前后,系统是否有其他异常行为或告警信息?
是否尝试过重启 observer 进程?如果尝试过,重启后问题是否仍然存在?
附上敏捷诊断工具 obdiag 使用帮助链接
4 个赞
来轩
2025 年5 月 31 日 16:40
#4
执行alter system archivelog报错吗
3 个赞
论坛小助手
2025 年6 月 1 日 08:57
#9
根据您提供的信息,源租户已经开启了归档功能,并且设置了归档路径为 file:///nfs_data/ob/archive
。然而,在执行克隆操作时仍然报错 ERROR 4179 (HY000): log archive is not ready, create tenant snapshot not allowed
,并且 CDB_OB_ARCHIVELOG
表中没有任何记录。
问题分析
归档日志未生成
根据您的描述,CDB_OB_ARCHIVELOG
表为空,说明归档日志尚未生成。这可能是由于以下原因之一:
归档路径不可写或权限不足。
源租户尚未产生足够的数据变更以触发归档日志的生成。
系统配置或状态异常导致归档功能未能正常工作。
手动转储未生效
您提到手动执行了一次转储 (ALTER SYSTEM MINOR FREEZE TENANT = t1;
),但仍未生成归档日志。这可能表明转储操作并未触发归档日志的生成,或者归档路径存在问题。
克隆操作依赖归档日志
OceanBase 的租户克隆操作需要确保归档日志已准备好(即归档日志已生成并可用)。如果归档日志未准备好,则克隆操作会失败。
解决方案
1. 验证归档路径
请确认归档路径 file:///nfs_data/ob/archive
是否可写,并检查是否有足够的磁盘空间。您可以使用以下命令验证:
SHOW PARAMETERS LIKE 'archive%';
确保 archive_dest
参数正确指向了归档路径,并且路径存在且可写。
2. 检查归档状态
运行以下命令检查归档状态:
SELECT * FROM CDB_OB_ARCHIVE_STATUS;
如果归档状态显示为 INACTIVE
或其他非正常状态,请尝试重新启用归档功能:
ALTER SYSTEM SET ENABLE_ARCHIVE = TRUE;
3. 强制生成归档日志
为了确保归档日志已生成,您可以尝试以下步骤:
在源租户中插入一些数据以产生数据变更:INSERT INTO test_table VALUES (1, 'test');
执行手动转储:ALTER SYSTEM MINOR FREEZE TENANT = t1;
检查 CDB_OB_ARCHIVELOG
表是否已生成记录:SELECT * FROM CDB_OB_ARCHIVELOG;
4. 检查系统日志
如果上述步骤仍无法解决问题,请检查 observer 日志,查找与归档相关的错误信息。重点关注以下关键词:
archive
minor freeze
log archive
5. 使用 obdiag 工具诊断
推荐使用 obdiag
工具进行根因分析和日志采集:
obdiag rca run --scene=log_archive
obdiag gather scene run --scene=observer.log_archive
将生成的日志压缩包提供给我们,以便进一步分析。
注意事项
确保归档路径正确
如果归档路径配置错误或不可写,归档日志将无法生成。请确保路径存在且具有正确的权限。
等待足够时间
归档日志的生成可能需要一定时间,尤其是在数据变更较少的情况下。建议在插入数据后等待几分钟再检查。
重启 observer
如果问题仍未解决,可以尝试重启 observer 进程,然后重新执行上述步骤。
如果您按照上述步骤操作后问题仍未解决,请提供更多日志信息或联系 OceanBase 技术支持团队以获取进一步帮助。
详情请参考:
并行 DML
使用 ob-operator 进行运维
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
3 个赞
王现岗
2025 年6 月 1 日 09:27
#10
1.路径已验证可写入,磁盘空间足够
2.CDB_OB_ARCHIVE_STATUS视图不存在
3.已尝试写入数据并转储,仍没生成归档
4.系统日志我已经上传了,在附件里边
5. 执行obd obdiag rca run ob --scene=log_archive 报错如下
Get local repositories and plugins ok
The tool oceanbase-diagnostic-tool is already installed the latest version 2.6.0
Open ssh connection ok
[ERROR] rca run Exception: rca_scene :log_archive is not exist
执行obd obdiag gather scene run ob --scene=observer.log_archive 报错如下 找不到文件
Gather Ob Log Summary:
±---------------±---------------------±-------±-------±-----------+
| Node | Status | Size | Time | PackPath |
+================+======================+========+========+============+
| 172.16.135.166 | Error:No files found | 0.000B | 3 s |