ORA-16960: SQL Analyze could not reproduce the desired plan.

文档解释

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. 确认已在实例级别应用了最新的支持补丁。

你可能感兴趣的