Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.tools -> Using Advanced Queues dynamically

Using Advanced Queues dynamically

From: G <gennt_at_hotmail.com>
Date: Mon, 12 Feb 2001 16:33:50 GMT
Message-ID: <OfUh6.2464$kG2.296430@newsread1.prod.itd.earthlink.net>

I am using dynamically created queues and queue tables using the DBMS_AQADM package supplied with Oracle 8i. The problem I am having is destroying the queue tables when the process is finishing up. I can stop and drop the queues, but dropping the tables raises an exception (ORA-04020: deadlock detected while trying to lock object table_name). As I run a COMMIT prior to trying to drop the table, there should be no outstanding operations involving this table (or any other). There are no other users involved in the system I am using as it is standalone. Is there something I am missing? Below is a basic outline of the process.

initial process starts

create the queue tables and queues (2 queue tables w/ 1 queue each). Prior to creation, queues/queue tables of same names are stopped and dropped; exceptions are ignored. ** if table exists, it is successfully dropped.

dynamically post n 'messages' to queue1

dynamically launch sub-processes through the Oracle Job Queue

each sub-process reads from queue1, and posts to queue2 when complete.

initial process monitors queue2 until all sub-processes have posted to it.

assertion: all queues are now empty.

stop/drop queue1 and drop table (stop/drop of queue is successfull, drop of table raises exception)

stop/drop queue2 and drop table (stop/drop of queue is successfull, drop of table raises exception)

intial process stops

After running, it is seen through queries that there are no queues (other than the exception queues) in the queue tables, and that there are no 'messages' in the queues.

Help?! Received on Mon Feb 12 2001 - 10:33:50 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US