Streams Overflow Table Leaving Orphaned Messages in State 7
Last updated on MAY 07, 2017
Applies to:Oracle Database - Enterprise Edition - Version 188.8.131.52 and later
Information in this document applies to any platform.
When the in-memory buffers that OracleStreams uses exceed their capacity, the messages are spilled to an overflow table owned by the Streams administrator called AQ$_<queue_table_name>_P. In some situations these messages are not purged, and this table can become quite large. This can be
assessed with the following query:
select state, count(*)
It can be seen that the majority of the messages are at status 7.
Advanced Queuing message states are as follows:
READY CONSTANT BINARY_INTEGER := 0;
PROCESSED CONSTANT BINARY_INTEGER := 2;
EXPIRED CONSTANT BINARY_INTEGER := 3;
SPILLED CONSTANT BINARY_INTEGER := 7;
DEFERRED CONSTANT BINARY_INTEGER := 8;
DEFRSPIL CONSTANT BINARY_INTEGER := 9;
Status 7 indicates that the messages has been spilled, but also has been processed (is not deferred).
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms