基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
脚本报错时的 SQL 上下文
更新时间:2026-06-30 18:11:26
在通过 OBClient 批量执行脚本(例如 -e、输入重定向、source 一次执行多语句)的场景中,仅依赖数据库返回的错误信息,有时难以立刻看出是哪几条 SQL 触发了故障。--error-sql 用于在报错输出中附带故障点附近的 SQL 文本,便于对照脚本排障。
OceanBase MySQL 模式与 Oracle 模式租户链路均可使用该参数。
参数含义
| 写法 | 说明 |
|---|---|
--error-sql=xxx |
开启上下文输出。实践上约定用 xxx 作为占位字面量,表示「打开该能力」;开启后默认在报错附近展示前 5 行相关 SQL(与常见发布说明一致;若与您现场版本表现不同,以实际客户端为准)。 |
--error-sql=top0 |
开启后尽量输出报错前尽可能完整的相关 SQL。 |
--error-sql=topN |
开启后输出报错前最近的 N 行 SQL(N 为正整数,例如 top3 即前 3 行)。 |
使用示例
将连接串中的地址、端口、用户、库名替换为您的环境:
obclient -h127.0.0.1 -P2881 -uroot@mysql -Dtest --error-sql=xxx
obclient -h127.0.0.1 -P2881 -uroot@mysql -Dtest --error-sql=top0
obclient -h127.0.0.1 -P2881 -uroot@mysql -Dtest --error-sql=top3
说明
「行」在输出中对应脚本的物理行还是按语句切分,取决于客户端实现与版本;升级 OBClient 后建议在预发环境用与线上一致的脚本试跑,确认回溯粒度是否仍满足排障习惯。