when you create new MATERIALIZED VIEW with REFRESH tag log table is clearing, because our view is actually after creating.
CREATE MATERIALIZED VIEW kvrtest
ON PREBUILT TABLE WITHOUT REDUCED PRECISION
USING INDEX
REFRESH FORCE ON DEMAND
AS
if don't want to clear your log table use NEVER REFRESH and then change to REFRESH ON DEMAND like this:
CREATE MATERIALIZED VIEW kvrtest
ON PREBUILT TABLE WITHOUT REDUCED PRECISION
USING INDEX
NEVER REFRESH
AS
select * from kvrtest@oldDb;
let's see our log table
select * from MLOG$_KVRTEST;
we have two rows, nice! and then
ALTER MATERIALIZED VIEW kvrtest
REFRESH ON DEMAND;
then after refresh view log table will clear again.