From Oracle document:
To create a materialized view in your own schema:
- You must have been granted either the CREATE MATERIALIZED VIEW or CREATE SNAPSHOT system privilege and either the CREATE TABLE or CREATE ANY TABLE system privilege.
- You must also have access to any master tables of the materialized view that you do not own, either through a SELECT object privilege on each of the tables or through the SELECT ANY TABLE system privilege.
To create the materialized view with query rewrite enabled, in addition to the
- The owner of the master tables must have the QUERY REWRITE system privilege.
- If you are not the owner of the master tables, you must have the GLOBAL QUERY REWRITE system privilege.
- If the schema owner does not own the master tables, then the schema owner must have the GLOBAL QUERY REWRITE privilege.