In streams replication, I have these errors when i tried to rexecute and failed transaction.

ERREUR à la ligne 1 :
ORA-01031: privilèges insuffisants
ORA-01403: Aucune donnée trouvée
ORA-06512: à "SYS.LCR$_ROW_RECORD", ligne 0
ORA-06512: à "STRMADMIN.HISTORY_DML", ligne 24

The modifications (update) were captured and propagated to the target database but apply process could not apply them. I have had to reintanciate the target database and rexecute the apply transaction. But every update on the source database isn't applied to the target, each time I have to reintanciate the target database and rexecute the failed transaction.

Here the history_dml procedure, the problem seems to the line 24 " lcr.EXECUTE(TRUE);". Is someone have an ideal

CREATE OR REPLACE PROCEDURE history_dml (in_any IN SYS.ANYDATA)
IS
lcr SYS.lcr$_row_record;
rc PLS_INTEGER;
BEGIN
-- Access the LCR
rc := in_any.getobject (lcr);

-- Insert information in the LCR into the history_row_lcrs table
INSERT INTO strmadmin.history_row_lcrs
VALUES (
SYSDATE
, lcr.get_source_database_name ()
, lcr.get_command_type ()
, lcr.get_object_owner ()
, lcr.get_object_name ()
, lcr.get_tag ()
, lcr.get_transaction_id ()
, lcr.get_scn ()
, lcr.get_values ('old')
, lcr.get_values ('new','n'));

-- Apply row LCR
lcr.EXECUTE(TRUE);
END;
/