在将 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 命令。