ITPub博客

首页 > 数据库 > Oracle > 创建及删除AQ table时候报错 ORA-00955,ORA-24005,ORA-24002 - 1

创建及删除AQ table时候报错 ORA-00955,ORA-24005,ORA-24002 - 1

原创 Oracle 作者:tolywang 时间:2014-07-22 16:34:25 0 删除 编辑

 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博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1224688/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695504