ORA-29388: plan/consumer_group string is part of more than one top-plan

文档解释

ORA-29388: plan/consumer_group string is part of more than one top-plan

Cause: An attempt was made to delete a subtree that includes a plan or consumer group that is part of more than one top-plan as part of procedure DELETE_PLAN_CASCADE or package DBMS_RESOURCE_MANAGER. Such a plan or consumer group cannot be deleted.

Action: Check the ancestors of the plan or consumer group and make sure it is only part of the top-plan that includes the subtree being deleted.

ORA-29388的意思是规划/消费者组字符串是多个顶层规划的一部分。

官方解释

当在使用 DBMS_XPLAN.DISPLAY_AWR 或 DBMS_XPLAN.DISPLAY_CURSOR 存储过程调用参数中指定了PLAN/CONSUMER_GROUP字符串时,此错误发生。PLAN/CONSUMER_GROUP参数被视为PLAN_TABLESPACE,PLAN_TABLE和PLAN_CAPTURE器(选择)三要素的组合。例如,PLAN/CONSUMER_GROUP xxx/yyy被拆分为 xxx PLAN_TABLESPACE ,yyy PLAN_TABLE 和 xxxtb_yyy(PLAN_CAPTURE账户,如果存在)。如果没有xxxtb_yyy(PLAN_CAPTURE帐户),则默认情况下使用一个提供数据库名称为前缀和”XDB_PLAN_CAPTURE”后缀的表空间名称。如果提供的PLAN/CONSUMER_GROUP字符串未找到,就会出现 ORA-29388。

常见案例

当在调用DBMS_XPLAN.DISPLAY_AWR或DBMS_XPLAN.DISPLAY_CURSOR存储过程时,会出现ORA-29388错误。

正常处理方法及步骤

1.检查明确的PLAN/CONSUMER_GROUP字符串。是否在字符串中有多个规划顶层的表空间或表?

2.检查此PLAN/CONSUMER_GROUP字符串是否存在,并且其表空间和表是否有效。

3.如果字符串不存在,则创建表空间和表,使其有效。

4.如果字符串存在,但它们是不同规划顶层的一部分,则需要创建一个唯一的PLAN/CONSUMER_GROUP字符串。

5.再次调用DBMS_XPLAN.DISPLAY_AWR或DBMS_XPLAN.DISPLAY_CURSOR存储过程,使用新的一致的PLAN/CONSUMER_GROUP字符串,并检查是否发生了错误。

你可能感兴趣的