問題タブ [oracle-aq]

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 に答える
292 参照

oracle - Oracle AQと対話するためのカスタムWCFバインディング?

WCF を使用して Oracle AQ (Advanced Queueing) とやり取りする良い例/リソースを知っている人はいますか?

ありがとう。

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

java - JMSを使用してOracleAQから受信したTextMessageには、「???」のみが含まれています。

異なるデータベースの2つのOracleAQキューに接続する必要があります。もちろん接続文字列を除いて、どちらの場合もまったく同じコードを使用しています。キューの1つは正常に機能していますが、2つ目は機能していません。

コードを使用して正常に機能するAQに接続すると、メッセージに含まれているテキストが正しく出力されます。2番目のAQは、メッセージの内容に関係なく、引用符を3つだけ出力します。

私はaqapi10.2.0.2を使用しており、ojdbc1410.2.0.2.0とojdbc511.1.0.6.0の両方でテストしました。動作しているAQはOracle11.1.0.0.0で実行されており、10.2.0.4.0で問題を引き起こしているAQです。Wiresharkを使用してTNSパケットを分析しましたが、AQメッセージを含むパケットは両方のデータベースでほぼ同じように見えます。

作業ケースのTextMessageオブジェクトのリフレクションダンプは次のようになります。

そして壊れたもの:

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

oracle - Oracle AQ/Streams は私の状況で役に立ちますか?

私は、明示的な人間の相互作用によって各ステップで完全に駆動されるワークフロー システムを作成しています。つまり、タスクが人に割り当てられ、その人がいくつかの限られたオプション {承認、拒否、転送} から選択し、次の人に送信されるか、終了されます。

Oracle Streams/AQ が、通常の Web アプリケーション コードによって管理されるフラットなテーブルに対して提供できるものがあるかどうか、ちょっと興味があります。各アクションの後の処理量はかなり制限されており、ボリュームもそれほど大きくないため、キューに投入してスロットルする必要はありません。キュー構造を導入する利点は何ですか? または、私の状況ではやり過ぎですか?

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

database - 起動時にOracleデキューを開始します

Oracleの次のエラーが発生しました。

そして、以下は公式文書からのそれの原因と行動です:

しかし、このエラーはデータベースを再起動するたびに発生します。データベースの起動時にデキューを開始するように設定する構成はありますか?

ありがとう!

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

transactions - これらのOracleAQJMS XAプロパティが何をするか知っている人はいますか?

WebsphereAppServer内からJMSを介してOracleAdvancedQueuesを使用しています。

次の2つのプロパティがどのような影響を与えるか知っている人はいますか?-

いくつかのブログやクイックスタートガイドで、通常は「Add -Doracle.jms.useEmulatedXA = false -Doracle.jms.useNativeXA = true to the JAVA_PROPERTIES variable」の行に沿った文章で言及されていますが、それらについての説明はありません。行う:-

例えば

これらの2つのプロパティが実際に何をするのか、そしてそれらを設定するかどうかに関係なくアプリに影響を与えないように見えますが、それらを設定することの意味について興味があります。

グーグルは何の答えも与えていません、誰かが彼らが実際に何をしているのか手がかりを持っていますか?

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

oracle - Oracle Advanced Queuingでの無関係なメッセージの選択的デキュー

この質問は、 Oracle Streams Advanced Queuingでのメッセージのデキューに関するものです。

相互に関連するメッセージが順次処理されるようにする必要があります。

たとえば、トランザクション参照 (txn_ref) と呼ばれるビジネス関連フィールドを持つ 4 つのメッセージがキューにシードされており、そのうちの 2 つのメッセージ (1,3) が同じトランザクション (000001) に属しているとします。

また、このキューからデキューしたい 4 つのスレッド/プロセスを実行しているとします。以下が発生するはずです。

  1. スレッド 1 がメッセージ #1 をデキューします
  2. スレッド 2 はメッセージ #2​​ をデキューします
  3. スレッド 3 はメッセージ #4 をデキューします (メッセージ #3 は #1 に関連しており、#1 がまだ完了していないため)。
  4. メッセージを待っているスレッド 4 ブロック
  5. スレッド 1 はメッセージ #1 の作業をコミットします
  6. スレッド 4 (またはおそらくスレッド 1) がメッセージ #3 をデキューします。

私の最初の考えは、ENQ_TIME (エンキュー時間) が同じ TXN_REF を持つすべてのメッセージの他の ENQ_TIME よりも遅くないデキュー条件でこれを達成できるということでした。しかし、私の問題は、まだ選択していないメッセージの TXN_REF を参照して選択する方法です。例えば

ここで私が望むものを達成することは可能ですか?

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

delphi - Delphi ODAC:OracleAQからのJMSメッセージの分析

OracleAQを使用するためにODACを評価しようとしています。リクエストキューには、次のようなJMSオブジェクトが含まれています(ただし、改行やその他の空白は含まれていません)。

基になるオブジェクトを受け取ることができます(文字列Payloadは空の文字列として返されますが、TOraObject PayLoadにはデータが含まれています)。

TOraObject PayLoadを分析しようとしていますが、DataType値を正しいAttrXxxx[Name]プロパティ呼び出しに変換するテーブルを探しています。

試行錯誤によって、私はここまで来ました:

より完全なリストを歓迎します:-)

この後、別の方法で調査する必要があります。JMSコンテンツを含む適切なTOraObjectを生成することです。そのためのヒントも大歓迎です。

--jeroen

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

oracle - OracleAQでキューをクリアする方法

私は初めてOracleAQをテストしました。作成したキューに2000行のテスト挿入を作成することができました。

さて、それらを片付けたいと思います。自分で教えていたので、有効期限を1ヶ月に設定しました。そんなに長く待ちきれません。そして、私はそれらをキューテーブルから削除するだけではいけないと思います。

これを行うための最良の方法は何ですか?

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

oracle - Oracle AQで、複数のコンシューマキューからどのメッセージが消費されたかを確認する方法

OracleAQは初めてです。

私は次のようなテーブルとキューを作成しました:

次に、Javaのキューにリスナーを書き込みました。リスナーを起動すると、6分間待機してから、キューからすべてのメッセージを収集します。

しかし、MY_QUEUE_TABLEでどのメッセージが消費されたかを知ることはできません。複数のコンシューマーキューが必要なので、メッセージはそのままにしておく必要があると思います。ただし、Oracle AQは、各リスナーが消費したメッセージをどのように追跡しますか?

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

oracle - マルチコンシューマ キューで Oracle AQ が非常に遅いのはなぜですか

Oracle AQ は初めてですが、私が取り組んでいるプロジェクトを本当に簡単にするはずです。

複数の永続的なサブスクライバーを持つキューを作成したいのですが、テストで、リッスンしているサブスクライバーが 2 つになるとすべてが遅くなることがわかりました。

1 人の加入者がリッスンしているときは、すべてが高速です。キューに新しいメッセージを作成すると、ほぼ瞬時にリスナーによって消費されます。

次に、別のサーバーから別のリスナーを追加します。即座に Oracle の速度が低下します。キューにメッセージを作成するのに 60 秒以上かかります。メッセージは数分後まで消費されません。

キューがマルチコンシューマーの場合、オーバーヘッドはさらに増えるのでしょうか? そのオーバーヘッドはサーバーの起動時のみですか? それとも常にそこにあるでしょうか?

シングル コンシューマ キューを使用して 2 回目のテストを実行しましたが、これらの問題は発生しませんでした。

おそらく、リスナーの設定で何か間違ったことをしたのでしょうか?

これは、キューテーブルをセットアップする方法です。

そして、これは私の構成です: