My Oracle Support Banner

Space Not Reclaimed from MLOG$ Segments After MVIEW Refresh (Doc ID 1941137.1)

Last updated on SEPTEMBER 20, 2022

Applies to:

Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Information in this document applies to any platform.


The MVs were refreshed after performing conventional insert and update to the base table.  After the refresh operation, we queried to see the #of rows and the #of blocks on the mlog$ table.  However, noticed that the #of rows were reset to zero but not the #of blocks.  This also means that the space was not reclaimed to the system after the refresh operation.


After first fast refresh, all rows from mlog$_sales are purged so at the start of second fast refresh the statistics of mlog$_sales look something like:

#rows in mlog$_sales: 0
#blks in mlog$_sales: 291824

The space on mv log table was not reclaimed as well by the MV purge process.

Rows and the blocks after the Fast refresh:

When a large number of rows are inserted into a base table and hence inserted into the MV log, after refresh, even if these rows are deleted from the MV log, the high watermark cannot be reset, therefore affecting the future refresh performance.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.