文档解释
ORA-16960: SQL Analyze could not reproduce the desired plan.
Cause: SQL Analyze failed to reproduce a particular plan using an outline.
Action: Check the outline data.
ORA-16960:SQL Analyze无法重现所需计划。
官方解释
常见案例
1. All_Plan_Table可能没有SQL_ID的计划数据:也就是说,保留计划的持续时间(持续时间可在V$SQL_Plan_STAT表中查询)可能已到达,以至于没有可用于SQL Analyze操作的计划信息。
2. 不支持特定的操作:目前,SQL Analyze仅支持一些基本的CTAS(Create Table As Select)查询,因此任何其它类型查询都可能导致ORA-16960错误。
一般处理方法及步骤
1. 尝试运行查询,并仔细检查是否为以下类型之一:CTAS(Create Table As Select)、修改表结构、DML(数据操纵语言)包括INSERT、UPDATE等
2. 如果查询是有效的,建议保持计划的持续时间,避免保留过早的计划。
3. 为最新的计划增加PIECE(块),例如计划ID作为新块,以便正确重现所需计划。
4. 为每个查询尝试使用不同的查询等级,以便生成最优计划。
5. 如果可能,尝试使用绑定变量,以减少重编译的频率。
6. 确认已在实例级别应用了最新的支持补丁。