【 使用环境 】生产环境
【 OB or 其他组件 】OBSERVER
【 使用版本 】OB-4.3.5.4
【问题描述】对业务租户跨集群创建备租户后,将业务查询类操作都分流到备租户上来减轻生产主租户压力,发现备租户有些慢sql需要对sql_id绑定outline进行优化,目前发现备租户的DBA_OB_OUTLINES表信息数据是跟主租户一致,是否可以直接通过备租户进行绑定?如果无法对备租户执行create outline操作如何针对备租户的sql_id来创建outline?
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
2 个赞
论坛小助手
#3
您的问题是关于 OceanBase 中备租户上的 SQL_ID 绑定 outline 的操作。从您的描述来看,您已经注意到备租户中的 DBA_OB_OUTLINES 表信息与主租户一致,但不确定是否可以在备租户上直接创建或修改 outline。这种情况通常涉及到数据同步和一致性的问题,以及是否允许在备库上做写操作。
首先,根据 OceanBase 的最佳实践,通常不建议在备租户上进行任何的写操作,包括创建或修改 outline。这是因为备租户的主要作用是作为主租户的副本,用于故障切换和读负载的分担。如果在备租户上直接修改 outline,可能会导致主备之间的一致性问题,进而影响整个集群的稳定性和可靠性。
针对您的需求,您可以考虑以下方案:
-
在主租户上创建和优化 outline:最佳的做法是在主租户上进行 outline 的创建和优化操作,然后通过正常的主备同步机制将这些更改同步到备租户。这样可以确保主备之间的数据一致性。
-
验证同步效果:在主租户上创建完 outline 后,可以通过查询备租户的 DBA_OB_OUTLINES 表来验证 outline 是否已经成功同步到了备租户上。
-
监控性能:在主租户上创建和优化 outline 后,观察主租户和备租户的性能表现,确保优化后的 outline 在两个环境中都能达到预期的效果。
由于这个问题不涉及具体的故障诊断,因此不需要使用 obdiag 工具进行日志采集或根因分析。不过,如果您在操作过程中遇到了特定的技术问题或性能瓶颈,欢迎随时提供更详细的信息,我将尽力为您解答。
请问您是否有进一步的问题,或者需要了解更多的操作细节?
- 您是否有在主租户上创建过 outline?
- 您是否希望了解如何在主租户上创建和优化 outline 的具体步骤?
- 您是否有遇到过在主租户上创建 outline 后,备租户上没有同步该 outline 的情况?
- 您是否对主备租户间的数据同步机制有更多疑问?
附上敏捷诊断工具 obdiag 使用帮助链接
4 个赞
也就是说,在备租户上看下SQL_ID是多少,然后通过主租户来创建对应的outline?
疑问点:不会出现主 备租户存在相同的SQL_ID,但是对应的sql_text内容不一致情况吧?
1 个赞
好的感谢,我在备租户检索慢SQL的sql_id,在主租户去检索,没有发现有相同的sql_id,应该不会重复。那我直接在主租户上进行绑定outline,然后同步到备租户生效。