Friday, 24 August 2007

Oracle streams - errors and fixes

Hit a problem with the Streams capture process aborting with a duplicate value in the index I_STREAMS_APPLY_SPILL_TXN on the table sys.STREAMS$_APPLY_SPILL_TXN. Quick look on the interweb revealed the answer.. which was to delete old rows from the table.
The view dba_capture tells you the process has aborted.

To start and stop the process use:-
BEGIN
dbms_capture_adm.start_capture(capture_name => 'capture_e1strm');
END;

BEGIN
dbms_capture_adm.stop_capture(capture_name => 'capture_e1strm');
END;



A second error involved the propagation process. The error in the logs was
ORA-25307: Enqueue rate too high, flow control

the view dba_propagation showed the same error but the process
was still enabled
The answer turned out to be to
restart the propagation process.
i.e.

BEGIN
dbms_propagation_adm.stop_propagation(propagation_name => 'PROP_E1DB_TO_E2DB');
END;

BEGIN
dbms_propagation_adm.start_propagation(propagation_name => 'PROP_E1DB_TO_E2DB');
END;

Useful site is :


http://download.oracle.com/docs/cd/B28359_01/server.111/b28321/strms_trouble.htm



enabled

No comments: