本文档旨在指导用户如何对 ODC 进行故障排查的通用流程。
-
简要描述问题。此方式有助于确定问题的特定场景、查找原因并最终确定解决方案或变通方法。描述内容主要包含:
-
影响范围:出现该问题的客户名称,确定影响所有用户还是某个特定用户。
-
触发场景:使用场景,做 xxx 操作时出现了该问题,确定是必现还是偶发。
-
问题现象:发生了 xxx 问题以及相关信息(例如:报错信息、日志信息等)。
示例:
-
【客户名称】Windows 系统下,使用桌面版 ODC V3.1.2 时,打开命令行窗口报错,报错信息 xxx。
-
【客户名称】管理员使用 ODC V3.2.1 删除角色时报错,报错信息 xxx。
-
【客户名称】升级至 ODC V3.2.3 版本后,Web 服务无法访问,日志包含报错信息 xxx。
-
-
确定问题后,可以从 OceanBase 知识库 中检索是否为已知问题。如仍未解决问题,请参见 ODC 故障排查指南 进行分析。
对于不同的问题,排查问题过程关注的重点会有差异。ODC 常见问题场景包括:
-
部署、升级之后彻底不可用,主要为 MetaDB 配置、ODC 日志。
-
运行过程中变为彻底不可用,主要为 ODC 日志、ODC 服务器状态。
-
部分功能不可用,主要为 ODC 版本、ODC 账号权限。
-
部分功能结果不符合预期,主要为 OceanBase 版本、 OceanBase 账号权限。
-
整体性能下降,主要为 ODC 服务器状态、ODC JVM 状态。
-
部分功能性能不符合预期,主要为 OceanBase SQL 性能。
对于 ODC 界面上有明确报错信息提示的场景,用户可以根据报错提示来分析解决。
如果根据 ODC 界面上的报错信息无法分析问题原因,则需要根据日志来分析,具体步骤请参见 查看 ODC 相关全链路日志
复现问题时,建议加入特殊的标识,以方便在检索全链路日志进行分析。
例如:执行 SQL 超时的问题,复现该问题时,可以在原始 SQL 中加入标识的 Hint,在检索日志时可以直接搜索关键词:
SELECT /*+ trace_id=ABCDEFGHIJKLMN234567 */ * FROM table;
对比分析是通过二分法思路缩小问题范围的通用方法,数据库相关功能的对比分析方法包括:
-
对比 MySQL/Oracle 行为,确定 OceanBase 的功能是否兼容 MySQL/Oracle。
-
对比直连 OBServer、连接 OBProxy IP、连接 F5/SLB 等负载均衡地址,排除链路层故障导致的问题。
-
对比 OceanBase 不同版本,排除特定版本 OceanBase 缺陷。
-
对比不同数据库账号下行为,排除权限问题。
-
对比 OBClient 与 ODC SQL console 的差别。
如果通过上述方法无法确定问题,请联系 OceanBase 技术支持获得帮助。
-
企业版:通过 OceanBase 原厂服务或者生态伙伴获得技术支持,详情请参见 OceanBase 支持与服务。
-
社区版:通过 OceanBase 社区官网问答区 或者 OceanBase Github 问题区 获得技术支持 。
为了方便 OceanBase 技术支持团队能够准确的理解、分析问题,在提交问题时请提供必要的信息。
对于容易复现的问题,只需要提供基本信息。基本信息清单如下:
信息 | 说明 |
---|---|
客户名称 | 出现问题的客户名称。 |
用户角色 | DBA/ 开发/测试/运维/ ... |
ODC 版本 |
|
WEB 版 ODC 部署架构 |
|
目标 OceanBase 租户连接配置 |
|
问题截屏或者录像 |
|
相关消息和日志 |
|
网络抓包 | 日志不会记录全部信息,有时需要用户通过抓包来确定不同组件之间的通讯内容。 |
对于不易复现、分析的问题,可能还需要提供更多信息。
信息 | 说明 |
---|---|
更多日志 | 包括 ODC 程序日志、ODC JVM GC 日志、OBServer 日志、OBProxy 日志等。 |
服务器状态 | 包括 CPU、内存、网络、磁盘等,以及监控历史数据(如有)。 |
目标 OceanBase 租户状态 | 包括性能指标、慢 SQL 情况等,通常可以通过 OCP 观察。 |
用户可以通过 OceanBase 社区官网问答区 或者 OceanBase Github 问题区 提交问题单。