文档解释
ORA-16610: command “string” in progress
Cause: The specified broker command was already running and the command issued could not be completed.
Action: Wait for the specified command to finish and then retry the command.
ORA-16610错误表明当前正在执行的指令“string”太慢,无法完成。
官方解释
ORA-16610:当前正在执行的指令[string]太慢,无法完成
常见案例
可能是由于数据库服务器的负荷过重而导致的请求执行太慢,无法在给定的时间内完成,从而出现ORA-16610错误。
一般处理方法及步骤
1. 检查系统负载,如果太高可以在负载降低时再提交要执行的任务;
2. 检查要执行的指令是否会涉及到大量数据操作,尝试重写或者优化sql语句;
3. 检查数据库索引、统计信息是否正确,如果不正确尝试重建索引;
4. 确认数据库是否有无用的数据,如果有则可以进行清理;
5. 尝试给慢查询优先级较低的优先级设置,从而获得更好的执行效果;
6. 对数据库服务器更换更强大的硬件资源,减少服务器负荷,提升查询表现;
7. 将要执行的指令拆解,分批执行,减少每次指令执行时间;
8. 将每个查询限制在可接受的上限之内,减少查询效率低下导致的超时。