use of dbms_mview.refresh
I came across this in preparing to upgrade an SE-2 database 12.1.0.2 to 18c, but the question isn't about the upgrade pe se, but in following one of the recommendations of the assessment tool.
The pre-upgrade assessment reported the following:
6. Please make sure that all the MVs are refreshed and sys.sumdelta$ becomes empty before doing upgrade, unless you have strong business reasons not to do so. You can use dbms_mview.refresh() to refresh the MVs except those stale ones to be kept due to business need. If there are any stale MVs depending on changes in sys.sumdelta$, do not truncate it, because doing so will cause wrong results after refresh. There is one or more non-fresh MV in the database or sumdelta$ is not empty. Oracle recommends that all materialized views (MV's) are refreshed before upgrading