0b 3.2 oracle 模式查询一直报错ORA-00932: inconsistent datatypes

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

0b 3.2 mysql 模式 查询正常,
最近30分钟的 慢SQL 诊断
SQL: SELECT
tenant_name, – 租户名
db_name, – 数据库名
tenant_id, – 租户id
plan_id, – 执行计划 ID(可关联计划缓存进一步分析)
svr_ip, – ip
svr_port, – port
SUBSTRING(query_sql, 1, 300), – SQL 文本
COUNT(*) AS total_executions, – 总执行次数
SUM(elapsed_time) / 1000 AS total_response_time_ms, – 总响应时间(ms)
AVG(elapsed_time) / 1000 AS avg_response_time_ms, – 平均响应时间(ms)
SUM(CASE WHEN ret_code != 0 THEN 1 ELSE 0 END) AS total_errors, – 总报错次数
AVG(EXECUTE_TIME) * 100.0 / AVG(elapsed_time) AS cpu_percentage, – CPU 占比(%),注意需处理除零
MIN(request_time) AS first_execution_time – 首次执行时间(可用于推断计划生成时间趋势)
FROM oceanbase.gv$sql_audit
WHERE request_time >= (time_to_usec(now()) - 30 * 60 * 1000000) – 近30分钟
GROUP BY tenant_name, db_name, query_sql, plan_id
ORDER BY total_response_time_ms DESC limit 10
结果集 (10 行):
tenant_name db_name tenant_id plan_id svr_ip svr_port SUBSTRING(query_sql, 1, 300) total_executions total_response_time_ms avg_response_time_ms total_errors cpu_percentage first_execution_time


                              1098       0        10.241.223.149  2882             

0b 3.2 oracle 模式查询一直报错ErrorCode = 932, SQLState = 22001, Details = ORA-00932: inconsistent datatypes

SELECT
TRIM(TENANT_NAME),
TRIM(SVR_IP),
TRIM(PLAN_ID),
TRIM(QUERY_SQL) AS SQL_TEXT,
COUNT() AS EXEC_COUNT,
ROUND(SUM(ELAPSED_TIME) / 1000) AS TOTAL_RT_MS, – 总响应时间 (ms)
ROUND(AVG(ELAPSED_TIME) / 1000) AS AVG_RT_MS, – 平均响应时间 (ms)
ROUND(SUM(EXECUTE_TIME) / 1000) AS TOTAL_CPU_MS, – 总 CPU 时间 (ms)
SUM(AFFECTED_ROWS) AS TOTAL_ROWS
FROM
GV$SQL_AUDIT
WHERE
– 核心过滤:计算 30 分钟前的微秒时间戳
REQUEST_TIME >= (SYSDATE - TO_DATE(‘1970-01-01’, ‘YYYY-MM-DD’)) * 86400 * 1000000 - (30 * 60 * 1000000)
– 可选:过滤掉系统内部 SQL,只看业务 SQL
– AND (QUERY_SQL NOT LIKE '/
%autotask%*/’ OR QUERY_SQL IS NULL)
GROUP BY
TRIM(TENANT_NAME), TRIM(SVR_IP), TRIM(PLAN_ID), TRIM(QUERY_SQL)
ORDER BY
TOTAL_RT_MS DESC;

3.请给出0b 3.2 oracle 模式查询 的正确SQL

@@论坛小助手

1 个赞

您好,您提的这个技术问题可能牵涉到 OceanBase 企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署 OceanBase 企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署 OceanBase 企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

1 个赞