oceanbase4.3.3,三节点集群
刚开始部署好的时候使用正常,过几天之后出现select查询失败,实际数据量很小,但是查询语句比较复杂,报错信息如下:
Error querying database. Cause: java.sql.SQLException: Internal error
The error may exist in com/suninfo/userasset/mapper/asset/MonitorItcompMapper.xml
The error may involve com.suninfo.userasset.mapper.asset.MonitorItcompMapper.countItcompGroupbycitype-Inline
The error occurred while setting parameters
SQL: SELECT t1.citypeUuid AS name,count(t1.uuid) as value FROM t_monitor_itcomp t1 WHERE t1.citypeUuid is not null AND t1.status != 4 AND FIND_IN_SET(?, t1.module_codes) > 0 AND EXISTS (SELECT asset_uuid FROM (SELECT DISTINCT asset_uuid FROM t_asset_usedepart_rel WHERE usedepart_uuid IN ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ) ) AS ud WHERE ud.asset_uuid = t1.uuid) and t1.citypeUuid IN ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ) GROUP BY t1.citypeUuid
Cause: java.sql.SQLException: Internal error
1 个赞
来轩
#3
应用执行报错,还是通过ODC或者黑屏客户端执行报错呢
但是其他的语句能正常执行,目前发现包含in,exists,group by ,order by ,group_concat都报错
辞霜
#8
1)设置trace信息
SET ob_enable_show_trace=‘ON’;
2)执行sql。
3)获取上个命令的trace
select last_trace_id();
4)获取trace对应的节点
select query_sql,svr_ip from gv$ob_sql_audit where trace_id=‘第三步获取的trace信息’;
5)取对应的svr_ip节点 过滤日志
grep “第三步获取的trace信息” observer.log*
grep “第三步获取的trace信息” rootservice.log*
6)提供日志信息即可。
2 个赞