【问题标题】:Oracle Advanced QueuingOracle 高级队列
【发布时间】:2017-12-11 08:33:47
【问题描述】:

我正在从事已实施 Oracle AQ 的项目之一。 在这里,我们有几个队列表,我试图找出数据是如何插入到这些表中的。我确实查看了所有可用的触发器,但没有看到任何触发器将数据插入到该队列表中。

我尝试使用 all_dependencies 查找具有以下查询的特定队列表,但运气不佳。

select * from DBA_DEPENDENCIES DD
where DD.referenced_owner = 'XYZ' and
      DD.name like 'XYZ' and
      DD.type like 'TABLE'

谁能帮我知道,如何找出插入到队列表中的数据。

【问题讨论】:

标签: sql oracle


【解决方案1】:

ORACLE AQ 表将通过 DBMS_AQ 包而不是通过任何 DML 填充。 对过程 DBMS_AQ.ENQUEUE 的调用会将一条消息/记录填充到队列表中,对过程 DBMS_AQ.DEQUEUE 的调用将从队列表中读取一条消息/记录。

因此,请对 DBMS_AQ 进行源搜索,以了解数据是如何填充到此表中的。

【讨论】:

    【解决方案2】:

    尝试使用以下语句搜索所有数据库源。可能有计划的作业或由 shell 脚本等触发的另一个 plsql 过程。

    select * from dba_source where text like '%XYZ%'; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 2015-08-10
      • 2010-09-07
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      相关资源
      最近更新 更多