Problem ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view 12054. 00000 - "cannot set the ON COMMIT refresh attribute for the materialized view" *Cause: The materialized view did not satisfy conditions for refresh at commit time. *Action: Specify only valid options. Solution You can not use the DISTINCT keyword in your Materialized View query, rather use Group By instead of distinct You can not use the standard JOIN in your query, instead, you should use the old-styled Join like A, B where A.ID = B.ID
Blog about programming