TidbH
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v3.0.5
- 【问题描述】:使用ogg同步出现SQL error 1105错误
错误日志如下:
05-12T11:11:51.646+0800 WARNING OGG-01004 Oracle GoldenGate Delivery for MySQL, repsc.prm: Aborted grouped transaction on tidb.tt, Database error 1105 ([SQL error 1105]INSERT INTO tidb
.tt
(xxxx,xxx,xxx,xxx). 2020-05-12T11:11:51.646+0800 WARNING OGG-01003 Oracle GoldenGate Delivery for MySQL, repsc.prm: Repositioning to rba 48399267 in seqno 356. 2020-05-12T11:11:55.941+0800 WARNING OGG-01154 Oracle GoldenGate Delivery for MySQL, repsc.prm: SQL error 1105 mapping tidb.tt to tidb.tt [SQL error 1105]INSERT INTO
tidb.
tt` (xxxxxxx,xx,x,x,x,x.
2020-05-12T11:11:55.942+0800 ERROR OGG-01296 Oracle GoldenGate Delivery for MySQL, repsc.prm: Error mapping from tidb.tt to tidb.tt.
2020-05-12T11:11:55.943+0800 ERROR OGG-01668 Oracle GoldenGate Delivery for MySQL, repsc.prm: PROCESS ABENDING.
这个错误是否和 max-txn-time-use参数有关?请教如何解决,谢谢!
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
TidbH
3
1:能否反馈下 tidb.log 日志,看下在ogg报错时,tidb.log是否有报错,错误如下:
[err="statement count 5001 exceeds the transaction limitation, autocommit = false
github.com/pingcap/tidb/session.checkStmtLimit
\tgithub.com/pingcap/tidb@/session/tidb.go:199
github.com/pingcap/tidb/session.finishStmt
\tgithub.com/pingcap/tidb@/session/tidb.go:188
github.com/pingcap/tidb/session.runStmt
\tgithub.com/pingcap/tidb@/session/tidb.go:257
github.com/pingcap/tidb/session.(*session).ExecutePreparedStmt
\tgithub.com/pingcap/tidb@/session/session.go:1241
github.com/pingcap/tidb/server.(*TiDBStatement).Execute
\tgithub.com/pingcap/tidb@/server/driver_tidb.go:75
github.com/pingcap/tidb/server.(*clientConn).handleStmtExecute
\tgithub.com/pingcap/tidb@/server/conn_stmt.go:182
github.com/pingcap/tidb/server.(*clientConn).dispatch
\tgithub.com/pingcap/tidb@/server/conn.go:926
github.com/pingcap/tidb/server.(*clientConn).Run
\tgithub.com/pingcap/tidb@/server/conn.go:666
github.com/pingcap/tidb/server.(*Server).onConn
\tgithub.com/pingcap/tidb@/server/server.go:440
runtime.goexit
\truntime/asm_amd64.s:1357
INSERT INTO tidb
.tt
某一条数据
2:tidb.tt表有多大? 是在复制表吗?
800w+,目前是增量从oracle同步数据。
yilong
(yi888long)
4
- 这里的报错是由于
- 单个事务包含的 SQL 语句不超过 5000 条(默认)
报错:ERROR 1105 (HY000): statement count 5001 exceeds the transaction limitation, autocommit = false
- 是由参数
stmt-count-limit
决定, 通常建议减小事务,控制在5000 条以内。 如果改大,可能会引起其他限制,比如单个事务总的大小超过 100M.
https://pingcap.com/docs-cn/v3.0/reference/configuration/tidb-server/configuration-file/#stmt-count-limit
TidbH
5
嗯,如果修改这个参数,是不是可以在不停机的情况下执行ansible-playbook rolling_update.yml --tags=tidb 进行滚动升级。
yilong
(yi888long)
6
是的,这里当 tidb-server 重启时, tidb-server 对应的连接会断开
来了老弟
8
,有问题欢迎开新帖继续提问,为此次答复选取一个 解决方案
吧。
system
(system)
关闭
9
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。