【 使用环境 】
生产环境
【 OB or obproxy 】
ob
【 使用版本 】
4.2.1.5
【问题描述】
插入数据后,通过第三方开发工具看到行数还是0,实际是几千万
通过查看job看到自动采集统计信息功能是开着的,状态是 schedulerd,但是运行次数是null,想了解为啥没有运行次数,是没采集完吗
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
【 使用环境 】
生产环境
【 OB or obproxy 】
ob
【 使用版本 】
4.2.1.5
【问题描述】
插入数据后,通过第三方开发工具看到行数还是0,实际是几千万
通过查看job看到自动采集统计信息功能是开着的,状态是 schedulerd,但是运行次数是null,想了解为啥没有运行次数,是没采集完吗
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
根据您的描述,您的问题可能与统计信息的收集状态有关。当自动收集统计信息的状态为schedulerd
但运行次数为null
时,通常意味着统计信息收集任务已经调度但未被执行。此外,您提到插入数据后通过第三方工具看到行数为0,但实际上行数为几千万,这表明统计信息未正确反映表的实际数据量。
推荐使用 obdiag
工具进行日志采集,以便进一步分析问题的具体原因。
obdiag gather scene run --scene=observer.stats
该命令将收集与统计信息收集相关的日志,包括调度和执行日志,以便我们能够分析为什么统计信息收集任务未被执行。
为了更好地帮助您解决问题,请提供以下信息:
CREATE STATISTICS
或 ALTER SYSTEM
语句。请执行上述命令并将生成的日志文件提供给我们,以便我们进一步分析并帮助您解决问题。
附上敏捷诊断工具 obdiag 使用帮助链接
@论坛小助手根据现有的日志能分析吗?比如需要过滤那些关键字
根据现有文档片段,可以通过 obdiag 工具对日志进行分析。您可以使用 obdiag analyze log
命令来分析日志,并通过 --since
参数指定时间范围,或者使用 --files
参数指定具体的日志文件。此外,您可以使用 --keywords
参数来过滤特定的关键字。
例如,如果您想分析最近一小时的日志并过滤关键字 ‘error’,可以使用以下命令:
obdiag analyze log --since 1h --keywords error
如果您想分析指定的日志文件并过滤关键字 ‘warning’,可以使用以下命令:
obdiag analyze log --files observer.log.20230831142211247 --keywords warning
更多信息请查看:
obdiag gather scene run --scene=observer.stats 这个命令是需要在没给ob节点上运行吗还是只在其中一个 ob节点运行
并且客户环境里没有这个工具,安装比较麻烦,有没有手工分析的方法,只能人工分析
666
666
一般展示表的行数数据来源于统计信息,可以先收集一波信息:
1、 查看表的统计信息
SELECT * FROM oceanbase.DBA_TAB_STATISTICS WHERE TABLE_NAME = ‘your_table_name’;
关注NUM_ROWS–行数 和 STALE_STATS–统计信息是否过时
2、租户统计信息历史任务信息
SELECT * FROM oceanbase.DBA_OB_TASK_OPT_STAT_GATHER_HISTORY WHERE TENANT_ID = xxxx;
先查一下这个信息 看看调度是否有问题-- MySQL业务租户,查询为空则说明有租户调度异常
SELECT *
FROM oceanbase.dba_ob_task_opt_stat_gather_history
WHERE start_time > date_sub(now(), interval 1 day)
AND TYPE = ‘AUTO GATHER’;
学习一下大佬们的经验
学习
学习学习
内容看是昨天晚上10点成功触发了自动采集,但是为什么从dba_scheduler_jobs 看 run_count 为 null
SELECT job_name,
job_action,
start_date,
last_start_date,
next_run_date,
enabled
FROM oceanbase.dba_scheduler_jobs
WHERE job_name IN ( ‘MONDAY_WINDOW’, ‘TUESDAY_WINDOW’, ‘WEDNESDAY_WINDOW’,
‘THURSDAY_WINDOW’,
‘FRIDAY_WINDOW’, ‘SATURDAY_WINDOW’, ‘SUNDAY_WINDOW’ );
job_action字段是必须的吗?
学习了
学习到了