問題タブ [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.
java - Oracle AQ キュー内のオブジェクト数を確認する方法はありますか?
connection.dequeue(queueNam, arg, arg) を呼び出すと、キューがリッスンされることがわかっています。キューが空かどうかを確認する方法、またはキュー内のオブジェクトの数を確認する方法はありますか?
oracle - gv$aq 対 queue_table
gv$aq
データベース内のすべてのキューにわたってさまざまな状態のメッセージの数を含むシステム全体のビューであることを理解しています。
私の質問は:特定のgv$aq
と比較してより多くのデータが含まれているqueue_table
ため、このビューをクエリして特定の情報 (メッセージ数など) を取得すると、それ自体queue_table
を直接クエリするよりもはるかに時間がかかりqueue_table
ます。gv$aq
キュー テーブル自体ではなく、クエリを実行したほうがよい特定の理由はありますか?
ありがとう!
java - jms:OracleAQのリスナー
SpringでのOracleAQの以下の設定について
ここでの問題は、サブスクリプション LUKAS34 を持っていない (ただし、他の - LUKAS がある) という事実にもかかわらず、上記の構成により、AQ_TS_MY_TEST からのすべてのメッセージが読み取られることです。
このサブスクリプションのすべてのメッセージを定義すると、subscription="LUKAS"
すべてのメッセージが読み取られ、それ以外の場合は何も読み取られないと予想されます。
上記の構成の問題は何ですか?
さらに、表に次のことがわかります。
「TSUB_1_*」のような多くのエントリです。これは、Spring 構成が新しいコンシューマーを「作成」し、構成で「LUKAS」という名前がスキップされるように思われます。
わかりました...変更しました(解決策ではありませんが、問題がどこにあるかを示しています...)いくつかの春のクラス。プライベートメソッドを見てみましょう... org.springframework.jms.listener.DefaultMessageListenerContainer#initResourcesIfNecessary
ここで(このメソッドでは、消費者名をランダムに生成されたもの(Springによってランダムに生成されたと思われる)から固定名「LUKAS」に変更すると、すべてが期待どおりに機能します-リスナーはPL / SQL側で定義されたメッセージのみを読み取りますコンシューマー「LUKAS」。
問題は、どうにかして春の jms:listener 構成の消費者名を設定できるかどうかです。
java - Adt メッセージ コンバーター - INTEGERS は null になります
adtペイロードでOracleAQを処理するために次の構成を使用しています...
問題は、キューから取り出した後、INTEGERを持つフィールドのJava側のnull値と、他のフィールドの非null値を取得していることです。
キュー テーブルでは、これらの値は null ではありません。
その理由は何でしょうか。マッピングが悪いと思っていましたが、何も問題はありません。これらのフィールドは、Types.INTEGER としてマップされます。
何が原因か分かりますか?
java - Springの同じjmsコンテナに複数のOracleAQリスナーがありますか?
春に一度定義されたjmsコンテナ内に(さまざまなトピックの)複数のリスナーを作成することは可能ですか?
次の構成を想定します。
と
jmsContainerに複数のmessageListener*を含めることは可能ですか?
もしそうなら...そうするのは良いパターンですか、それとも必要な数のリスナーを使用するのが良い考えですか?
oracle - JMS Spring/jmsを使用してOracleキューからのメッセージを消費できません
Springのドキュメントに従い、SpringJMSリスナーをセットアップしました。それでも、キューにメッセージを追加しても、コードはこれを検出しません。私の春の設定は次のとおりです。
私のJavaは次のとおりです。
私のカスタムリスナー:
そして私のOracleAqFactoryBean:
[編集:上記の設定は現在正常に機能しています]
grails - Grails JMS プラグイン - メッセージを受信しない
アプリケーションに Grails JMS プラグインをインストールしましたが、メッセージを受け取りません。私の設定は次のとおりです。
resources.groovy 内
config.groovy で
私のGrailsサービスでは:
Datasource.groovy 内
標準の Java アプリで標準の Spring 構成を使用して機能するキューへの接続がありますが、Grails アプリにインポートされた場合、その Spring 構成は機能しません。そのため、jms プラグインを使用しようとしています。
jmeter - JMeter と Oracle AQ
JMeter と Oracle AQ を使用した経験のある人はいますか? JMS パブリッシャーを使用してメッセージを Oracle AQ キューにパブリッシュしようとしていますが、バインディング ファイルからの情報しかありません。
java - Oracle AQ パフォーマンスのチューニング
Java JMS API を使用した高度なキューイング (AQ) で Oracle データベース [11.2] を使用しています。私の現在のOracleセットアップはデフォルト設定であり、追加のチューニングパラメーターはありません。高レベルのアーキテクチャ:
永続キューへのデータベース エンキュー メッセージ (優先順位でソート)
Java JMS コンシューマは、3 つの同時スレッドを持つデキュー メッセージです。
すべてがうまくいきます!メッセージがキュー @10K にある限り、シナリオは良好です。キュー内のメッセージが2 倍または 3 倍になるとすぐに、パフォーマンスが大幅に低下します!!!.
次のリンクをたどりました http://docs.oracle.com/cd/B28359_01/server.111/b28420/perform.htm
IO と AQ のパフォーマンス チューニングに関する提案はありますか?
oracle - Oracle AQ から例外キューをクリアする簡単な方法はありますか?
AQ$_MESSAGES_EXCEPTIONまず、次の質問があることを知っています: Oracle AQ でキューをクリアする方法ですが、答えがありません。
Oracle AQ の例外キューに大量のメッセージ (500k) があります (期限切れのメッセージが別のキューに移動されることを知らなかったので、それらのコンシューマーを作成しませんでした)。私が今必要としているのは、それらのメッセージをすばやく削除できるようにすることです。一貫性のない状態につながる可能性があるため、delete を使用してキュー テーブルをクリアすることはお勧めできません。以下の手順でまとめてみましたが、毎秒50通程度しかクリアできません
/
データベース マシン上で実行されていることを考えると、非常に遅いようです。この手順は、500k メッセージで約 3 時間かかります。もっと効果的な方法でそれを行うことはできますか?
編集:
ここのリンクから dequeue_array を試しました: http://www.oracle-developer.net/display.php?id=319 しかし、テーブルを作成できないため、「格納」する配列を作成しようとしています。結果。これが私が持っているものです:
次のエラーが表示されます。
問題はメッセージ配列にあると思いますが、それを機能させるために何をすべきかわかりません。また、オラクルのドキュメント(http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_aq.htm#i1000850)によると、別のパラメータがあるはずです:
ただし、このパラメーターの説明は「現在実装されていません」です。どういう意味ですか?省略できますか?null に設定する必要がありますか? これは本当に紛らわしく、Googleはここでは役に立ちません:(