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

Last updated on AUGUST 24, 2017

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.1 to 12.1.0.2 [Release 10.2 to 12.1]
Information in this document applies to any platform.

Symptoms

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.

Changes

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.

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms