ORA-22924: Snapshot Too Old when attempting to propagate from a queue (Doc ID 1945688.1)

Last updated on NOVEMBER 17, 2014

Applies to:

Oracle Database - Enterprise Edition - Version 11.1.0.7 to 12.1.0.2 [Release 11.1 to 12.1]
Information in this document applies to any platform.

Symptoms

AQ propagation reports the following errors

kwqpdest: exception 22924
kwqjpropwin: Exception Occured, Error msg:ORA-22924: snapshot too old
kwqjpropwin: exit}
Propagation Schedule for (<OWNER>.<QUEUE>, <DB_LINK>) encountered following error:
ORA-22924: snapshot too old
kwqjaq: Exception 22924 Occured
ORA-22924: snapshot too old

Customer identified the problem message from analysis and when they attempted to purge just that message the following error was reported

DECLARE
  po dbms_aqadm.aq$_purge_options_t;
  BEGIN
   po.block := FALSE;
   DBMS_AQADM.PURGE_QUEUE_TABLE(
   queue_table => '<QUEUE_TABLE>'
  ,purge_condition => 'qtview.queue = ''<QUEUE>'' AND qtview.msg_id=''07C35C1A3777A7ABE0501EAC5F0B26DF'''
  ,purge_options => po);
END;
/
DECLARE
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-01502: index '<OWNER>.SYS_C00121246' or partition of such index is in unusable state
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 9856
ORA-06512: at "SYS.DBMS_AQADM", line 1366
ORA-06512: at line 5 

On rebuild of index : 
SQL> alter index <OWNER>.SYS_C00121246 rebuild ;

Index altered.

ERROR : 
SQL> select * from <OWNER>.<QUEUE_TABLE> where rowid = 'AACl5rAAyAACMPOAAF' ;
ERROR:
OCI-01555: Message 1555 not found; product=RDBMS; facility=OCI
 

Cause

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