問題タブ [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とOracleAdvancedQueuingの統合

Perlプロセスをリスナーとして使用してOracleAQをリッスンする方法はありますか?

0 投票する
3 に答える
4869 参照

oracle - Oracle Advanced Queuing - キューの伝播

編集:同じスキーマに2つのキューがあるようです。

キューの伝達を試してみましたが、宛先キューにレコードが表示されません。しかし、それは簡単に、すべての部品が揃っていないことが原因である可能性があります.

投稿できるテストケースを持っている人はいますか? 以下に私が試したことを含めます。ドキュメントのトラブルシューティングが少し簡単で、伝播が非常にブラック ボックスであることがわかりました。これが動かない理由を知るのは難しいです。

これが私が持っているものです。笑わない。


0 投票する
1 に答える
454 参照

oracle - DBMS_AQ.POST の使用例とユーティリティの説明

DBMS_AQ パッケージには、POST というメソッドがあります。

ドキュメントによると、

このプロシージャは、匿名サブスクリプションのリストに投稿し、サブスクリプションに登録されているすべてのクライアントが持続メッセージの通知を取得できるようにします。この機能は、バッファリングされたメッセージではサポートされていません。

この呼び出しは、ベスト エフォート保証を提供します。通知は登録済みクライアントに最大 1 回送信されます。この呼び出しは、主に軽量の通知に使用されます。アプリケーションがより厳密な保証を必要とする場合は、キューに入れることができます。

私はすべての言葉を理解していますが、非保証メッセージの目的がわかりません。どこかに行くために必要なので、何かをキューに入れます。たぶん、私のビジネスにこれのユースケースがないだけです。そのようなテクノロジーのユースケースを知りたいです。

0 投票する
2 に答える
17913 参照

oracle - Oracle Streamsとチェンジ・データ・キャプチャの違いは何ですか?

Oracle Streams、Oracle Change Data Capture、および Database Change Notification など、類似した Oracle テクノロジがいくつかあります。

これらの違いは何ですか?

それらは Oracle Advanced Queueing に関連していますか?

0 投票する
1 に答える
1258 参照

oracle - DBLink を介してデキューできますか?

別のサーバーのキューからデキューしようとしています。伝播を使用して、データを必要とするサーバーにデータを取得できません。デキュー オプションのキューの名前に dblink を入れると、エラーが発生します。

ですから、それは不可能だと思います。

代わりに、キューを使用してサーバー上のパッケージに DEQUEUE を配置し、リンクを介してそのパッケージを呼び出すだけです。

これは正しいですか?

編集:

Igor は動的 SQL の使用について言及していますが、私はキューを使用してサーバーにパッケージを配置しました。それも同じ側で解析されます。問題は、デキューされたオブジェクトがそのキューのサーバーにのみ存在することになります。反対側に同じものがあっても。

0 投票する
2 に答える
23746 参照

oracle - Oracle の PL/SQL 関数は DBMS_AQ を認識できません

Oracle 9.2 と JMS に問題があります。XML テキストを (ファイルまたは CLOB から) キューに送信する PL/SQL ルーチンを作成しましたが、このルーチンはコンパイルされません。

私のコードは次のようになります(メッセージの記入は省略されています):

オラクルは次のように報告しています。

私はいくつかのニュースグループを見て、見つけたものをすべて試しましたが、成功しませんでした.

  1. (成功して)多くの許可を与えた

    • GRANT RESOURCE TO ユーザー;
    • GRANT CONNECT TO ユーザー;
    • GRANT EXECUTE ANY PROCEDURE TO user;
    • ユーザーに aq_administrator_role を付与します。
    • GRANT aq_user_role TO user;
    • GRANT EXECUTE ON dbms_aqadm TO ユーザー;
    • GRANT EXECUTE ON dbms_aq TO ユーザー;
    • GRANT EXECUTE ON dbms_aqin TO ユーザー;
  2. desc dbms_aq は、DEQUEUE、ENQUEUE、LISTEN などの多くの関数を示します

  3. catqueue.sql と dbmsaq.plb の両方で SQLPlus で実行

誰が何が間違っているのか考えていますか?

編集済み

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 チュートリアルからコードをコピーしましたが、このコードをコンパイルすると:

それは不平を言う:

What's in my JMS queue ?の成功レシピを試したので、このコードはプロシージャ本体の外で機能すると思います。

私の 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 秒あたり約 1-100 のイベントがあると思います...
  • t は特に重要ではありません...将来のイベントをいつでも「キューに入れる」ことができることを示すためだけです...

ありがとう

back2dos

0 投票する
1 に答える
1714 参照

java - Oracle AQ デキュー順序

Oracle 10g のトリガーは、通常のテーブルの行のサブセットに対して upsert および delete メッセージを生成します。これらのメッセージは、次の 2 つのフィールドで構成されています。

  • 一意の行 ID。
  • 一意でない ID。

これらのメッセージを消費するとき、次の制約を尊重する deque プロセスに順序を課したいと思います。

  • メッセージは挿入順にデキューする必要があります。
  • 同じ ID に属するメッセージは、他のデキュー プロセスがこの ID を持つ潜在的な後続メッセージをデキューできないような方法でデキューする必要があります。メッセージはトリガーを使用して生成されるため、この目的でグループを使用することはできません。

AQ に Oracle Java インターフェイスを使用しています。それをどのように達成できるかについての指針はありますか?