Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
693 views
in Technique[技术] by (71.8m points)

callback - Oracle scheduler AQ job hangs

Good day, respective all!

Environment: Oracle 12.2 64-bit under Windows.
Parameters:
Job_queue_processes = 4000
Aq_tm_processes = 1

After some experiments with enqueue and dequeue via callback I decided to drop the queues. It was successful. Unregister of PL/SQL callback package was also successful. But I cannot drop a PL/SQL package itself. Because there were some messages, stuck in AQ_SRVNTFN_TABLE_Q, and even after dropping queue and unregistering callback, PLSQL_NTFN job tries to deliver these messages to non-existent queue, and locks the package.

And more strange things occurs…

Say, my old queue was named OLD_QUEUE.

I created new queue(named NEW_QUEUE) and registered a new callback. I included logging inside this new callback. By the way, logging was also included into old callback. When I dequeue messages to NEW_QUEUE, they are not dequeued.

Instead of this, Oracle calls OLD CALLBACK for OLD_QUEUE and finishes with exception “Queue OLD_QUEUE does not exists”.

Of course, it is not exists!

And the same time my new callback is never called. All messages remain in NEW_QUEUE in “Ready” state.

The strange thing is that OLD CALLBACK is called ONLY when I enqueue messages in NEW_QUEUE. The problem is : I have no rights to stop scheduler jobs, I have no rights to kill sessions of user SYS.

Please, tell me: May be just purge of AQ_SRVNTFN_TABLE_Q will be enough for stop countless Oracle attempts to do things with non-existent queue and non-existent registration?

If it is not enough: is there a way to clear some Oracle global views, where, I believe, old registration hangs?

If there is no such a views, can I be sure, that restart of EMON will fix the problem(without restarting instance)?

Any help would be very appreciated.

TIA, Andrew.

question from:https://stackoverflow.com/questions/65913232/oracle-scheduler-aq-job-hangs

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...