Oracle automatic deletes the rows form mlog$_tablename.
when snapshot is refreshed
Your problem may due to
i) Snapshot is not configured for automatic refreshes
and it has been not refreshed manually since log time.
ii) Multiple snapshots use the same log and one of them
is not refreshed. Oracle does not delete rows from the log
until all snapshots have used them.
iii) Due to Network failure, master site is unaware that
snapshot has been dropped.
so pls. check if any such problem.
Log can be manually purged using inbuilt procedure DBMS_SNAPSHOT.PURGE_LOG
master => 'sales.customers',
num => 1,
flag => 'DELETE');
If snapshot is very big and contains many extents
then purging the snape does not reduce of the amount of space occupied. In surch case log should be truncate
using session command