0

在将 Fastbrain 数据库迁移到 VDC 实践期间,我们尝试在截断表之前禁用约束作为步骤之一。我们无法禁用队列表上的约束。传统alter table disable constraint命令不适用于queue tables.

使用的命令:

ALTER TABLE VPAUTO.AQ$_QT_RESPS_F disable constraint SYS_C0019957; 

ALTER TABLE VPAUTO.AQ$_QT_REQS_F disable constraint SYS_C0019955; 

ALTER TABLE VPAUTO.AQ$QT_RESPS disable constraint SYS_C0019956; 

ALTER TABLE VPAUTO.AQ$QT_REQS disable constraint SYS_C0019954; 

ALTER TABLE VPAUTO.QT_RESPS disable constraint SYS_C0019903; 

ALTER TABLE VPAUTO.QT_REQS disable constraint SYS_C0019902;

错误:

从命令中的第 6 行开始出错:ALTER TABLE VPAUTO.QT_REQS 禁用约束 SYS_C0019902

错误报告:

SQL 错误:ORA-24005:不适当的实用程序用于在 AQ 表 VPAUTO.QT_REQS 24005 上执行 DDL。00000 -“必须使用 DBMS_AQADM.DROP_QUEUE_TABLE 删除队列表”

*原因:尝试对队列表使用 SQL 命令 DROP TABLE,但队列表不支持 DROP TABLE。

*行动:使用 DBMS_AQADM.DROP_QUEUE_TABLE 过程而不是 DROP TABLE 命令。

4

1 回答 1

1

Alter 语句不能用于 AQ 对象,只有 dbms_aqadm 包过程可用于 AQ 表上的任何 DDL 操作,如果错误重复,请使用 Force 选项强制删除

于 2013-09-10T15:13:20.613 回答