问题标签 [advanced-queuing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
838 浏览

perl - 集成 Perl 和 Oracle 高级队列

有没有办法使用 Perl 进程作为侦听器来侦听 Oracle AQ。

0 投票
3 回答
4869 浏览

oracle - Oracle 高级队列 - 队列传播

编辑:这似乎与将两个队列放在同一个模式中有关。

我正在尝试尝试队列传播,但在目标队列中没有看到记录。但这很可能是因为我没有准备好所有的部分。

有人有可以发布的测试用例吗?我将在下面包含我尝试过的内容。我发现文档中的故障排除有点轻,传播是如此的黑匣子,很难知道为什么它没有移动。

这就是我所拥有的;没有笑。


0 投票
1 回答
454 浏览

oracle - 使用 DBMS_AQ.POST 的示例及其实用程序的说明

DBMS_AQ 包有一个称为 POST 的方法。

文件说,

此过程发布到匿名订阅列表,允许注册订阅的所有客户端获得持久消息的通知。缓冲消息不支持此功能。

此调用提供了尽力而为的保证。通知最多发送给注册客户一次。此调用主要用于轻量级通知。如果应用程序需要更严格的保证,那么它可以加入队列。

我理解所有用词,但我看不出非保证消息传递的目的。我排队一些东西,因为我需要它去某个地方。也许只是我的企业没有这方面的用例。我想知道您对这种技术有什么用例。

0 投票
2 回答
17913 浏览

oracle - Oracle Streams 和变更数据捕获之间有什么区别?

有几种类似的 Oracle 技术 - Oracle Streams、Oracle Change Data Capture 和 Database Change Notification。

这些之间有什么区别?

它们与 Oracle 高级队列有关吗?

0 投票
1 回答
1258 浏览

oracle - 你可以通过 DBLink 出列吗?

我正在尝试从另一台服务器上的队列中出列。我无法使用传播将其发送到需要数据的服务器。如果我在出队选项中的队列名称中放置一个 dblink,则会出现错误。

所以我猜这是不可能的。

相反,我会将 DEQUEUE 与队列一起放在服务器上的一个包中,然后通过链接调用该包。

这是正确的吗?

编辑:

Igor 提到使用动态 SQL,但我在服务器上放了一个包和队列。这也是在同一侧解析的。然后问题变成出队对象仅存在于该队列的服务器上。即使我们在对面有一个相同的。

0 投票
5 回答
27054 浏览

oracle - 显示 Oracle AQ SYS.AQ$_JMS_TEXT_MESSAGE 的内容

我有一个使用 Oracle 高级队列的 JMS op top 的应用程序。我想对显示消息内容的队列表进行查询(在我的例子中是 XML)。因此,当我执行“从 [queue_table] 中选择 user_data”时,我得到“AQ SYS.AQ$_JMS_TEXT_MESSAGE”作为响应。

是否有可以显示此消息内容的功能?诸如“从 [queue_table] 中选择 FUNCTION(user_data)”之类的东西?

我用谷歌搜索,扫描了许多关于排队的 Oracle 文章,但我找不到这个东西。我怀疑有一种简单的方法可以做到这一点,但我找不到。

0 投票
2 回答
23746 浏览

oracle - Oracle 中的 PL/SQL 函数看不到 DBMS_AQ

我对 Oracle 9.2 和 JMS 有疑问。我创建了 PL/SQL 例程来将 XML 文本(从文件或 CLOB)发送到队列,但是这个例程无法编译。

我的代码看起来像(省略填充消息):

甲骨文报告说:

我查看了一些新闻组并尝试了所有我发现的方法,但没有成功。

  1. 授予(成功)许多权限

    • 向用户授予资源;
    • 授予用户连接;
    • 授予用户执行任何程序;
    • 将 aq_administrator_role 授予用户;
    • 将 aq_user_role 授予用户;
    • 将 dbms_aqadm 授予用户执行;
    • 将 dbms_aq 授予用户执行;
    • 将 dbms_aqin 授予用户执行;
  2. desc dbms_aq 显示了许多函数,例如 DEQUEUE、ENQUEUE、LISTEN

  3. 在 SQLPlus 中执行 catqueue.sql 和 dbmsaq.plb

有人知道可能出了什么问题吗?

编辑

我可以做所有在:http: //rwijk.blogspot.com/2009/02/whats-in-my-jms-queue.html 中描述的事情,所以 dbms_aq 以某种方式可见,但在我的程序中不可见。

0 投票
2 回答
1018 浏览

oracle - Oracle:构造 JMS 消息的问题

在与Oracle Advanced Queuing 和 dbms_aq 包进行了一番斗争之后, 我遇到了另一个问题。我从 Oracle 教程中复制了代码,但是当我编译这段代码时:

它抱怨:

我认为这段代码在程序主体之外有效,因为我尝试使用我的 JMS 队列中的成功秘诀?

我的Oracle版本是:Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

知道有什么问题吗?

0 投票
4 回答
674 浏览

performance - 用于处理未来事件的查找结构(基于时间)

我正在寻找一种有效的数据结构,它可以让我提示事件......也就是说,我将拥有一个应用程序,在执行的任何时候,都有可能为未来引发一个事件执行点...类似于:

  • t=20:在 420 秒内,A 发生
  • t=25:在 13 秒内,B 发生
  • t=27:在 735 秒内,C 发生
  • ...

所以我想要一个数据结构,我可以在未来的任何时间放入任何事件,我可以在哪里获得并(通过这样做)删除所有到期事件......另外,如果我能够从数据结构中删除一个事件(因为它已被取消)......虽然不太重要,因为我可以简单地将其标记为已取消......

我的第一个想法是,也许要做某种树,但我想删除到期事件部分需要大量的重新平衡......

我正在考虑简单地使用一个 int 哈希,将时间戳映射到 null 或将在该时间点发生的事件堆栈......我认为在场景中,有很多事件(可能每秒多个事件 - 这就是我打算合作),毕竟这实际上并不是一个坏主意......

所以我很想听听你的意见...... :)


编辑:

  • 更具体地说:我认为这里的 n 大约为 100K-1M,我想我可能每秒有大约 1-100 个事件......
  • t 没有特别的重要性……它只是为了说明未来的事件可以随时“排队”……

谢谢

back2dos

0 投票
1 回答
1714 浏览

java - Oracle AQ 出队顺序

Oracle 10g 中的触发器为常规表中的行子集生成 upsert 和 delete 消息。这些消息由两个字段组成:

  • 唯一的行 ID。
  • 非唯一标识。

在使用这些消息时,我想对 deque 进程施加一个遵守以下约束的命令:

  • 消息必须按插入顺序出队。
  • 属于同一 id 的消息必须以这样一种方式出队,即没有其他出队过程应该能够使具有此 id 的潜在后续消息(或多个消息)出队。由于消息是使用触发器生成的,因此我不能为此目的使用组。

我正在为 AQ 使用 Oracle Java 接口。关于如何实现的任何指示?