ORA-29364: plan directive string, string already exists ORACLE 报错 故障修复 远程处理
文档解释
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(…);