Oracle 11.2.0.3 , EBS R12.1.3
当我们使用expdp/impdp迁移了EBS对应的数据库后, 会发现一些Advanced Queue的相关object没有被成功迁移过来,
有些可能需要手工从源库建立到目标库 。
SQL> SYS.DBMS_AQADM.CREATE_QUEUE_TABLE
(
QUEUE_TABLE => 'APPLSYS.WF_JAVA_DEFERRED'
,QUEUE_PAYLOAD_TYPE => 'SYS.AQ$_JMS_TEXT_MESSAGE'
.......
这时可能会提示这个名称的object已经存在 (本来应该是queue table, 实际在导入时 APPLSYS.WF_JAVA_DEFERRED
被建立成了普通表),
这时我们第一个想到的办法就是删除它 。 我们使用如下普通方式删除:
DROP TABLE APPLSYS.WF_JAVA_DEFERRED ;
报错 ORA-24005: 使用了不恰当的使用程序在AQ表APPLSYS.WF_JAVA_DEFERRED上执行DDL .
简单查询错误后,使用AQ表(虽然这里不是AQ表)的特有方式来drop :
exec DBMS_AQADM.DROP_QUEUE_TABLE(queue_table => 'APPLSYS.WF_JAVA_DEFERRED');
报错: ORA-24002: QUEUE_TABLE APPLSYS.WF_JAVA_DEFERRED 不存在 ,这个报错是正确的,因为的确不存在
QUEUE TABLE, 只存在同样名称的普通表。 可是如何解决呢 ?
-- 未完 见第二篇---
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1224688/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-1224688/