ORA-29364: plan directive string, string already exists

文档解释

ORA-29364: plan directive string, string already exists

Cause: An attempt was made to create a plan directive that already exists.

Action: Retry the create operation using different values.

ORA-29364:PLAN DIRECTIVE STRING,STRING已经存在

这是一条由Oracle Database报出的错误信息,其中String是数据库当前正在尝试创建的一个计划指令名称,但是这个计划指令在数据库中已经存在,所以发生了此错误。

官方解释

这是一种情景错误,指示尝试创建一个新计划指令,但这个指令已经存在于数据库中,无法继续创建。

常见案例

这种情况通常发生在尝试在Oracle Database上创建某个指定的计划指令时,即使它以前存在,该错误仍将发生。

一般处理方法及步骤

1.确认目前计划指令是否存在,可以执行以下查询:

SELECT * FROM PLAN_DIRECTIVE WHERE name = ;

2.如果指令存在,将使用EXISTS参数创建新计划指令,可以执行以下语法:

EXECUTE DBMS_SPM.CREATE_PLAN_DIRECTIVE(EXISTS => TRUE, …);

3.如果指令不存在,可以继续尝试创建新计划指令:

EXECUTE DBMS_SPM.CREATE_PLAN_DIRECTIVE(…);

你可能感兴趣的