ORA-42014: online redefinition unable to lock AQ objects ORACLE 报错 故障修复 远程处理
文档解释
ORA-42014: online redefinition unable to lock AQ objects
Cause: An online redefinition of an AQ table was unable to lock all related AQ objects.
Action: Abort and retry the redefinition.
?
ORA-42014表示在尝试使用 DBMS_AQADM.REDEFINITION_ONLINE 包将队列重新定义为新类型时发生的错误。官方解释是:发生此错误,可能是由于无法枷锁受影响的 AQ 对象(AQ 队列)。
常见案例
1.当您尝试使用 DBMS_AQADM.REDEFINITION_ONLINE 包将 AQ 队列重新定义为新类型时,可能会触发此错误。
2.尝试使用 DBMS_DEFER_SYS.FINISH_REDEF 以终止数据库对象重新定义过程时,也可能会触发此错误。
一般处理方法及步骤
1.使用以下查询来查找任何正在进行 AQ 重新定义的事务:
SELECT * FROM V$TRANSACTION WHERE xid IN (SELECT l.xid FROM dba_aq_locks l WHERE subject = ‘REDEF_QUEUE’);
2.若果找到任何正在 sudo 和锁定的事务,请等待它们完成或使用“强制失败”来终止它们。
3.重新尝试重新定义 AQ 队列。