Home » RDBMS Server » Server Administration » Dynamically Created Advanced Queues
Dynamically Created Advanced Queues [message #370012] Wed, 29 November 2000 10:55
Rod Sherer
Messages: 1
Registered: November 2000
Junior Member
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 thant the exception queues in the queue tables, and that there are no 'messages' in the queues.
Previous Topic: Have anybody test for Oracle SQL&PL/SQL (1Z0-001)?
Next Topic: Translating Microsoft Transact SQL to PL/SQL.
Goto Forum:
  


Current Time: Fri May 03 05:33:52 CDT 2024