A MV Log applies only when the MV use queries that select rows only from only one table and don't use joins or aggregate functions (knowns as "Simple" queries in this context). Create them when for other types of queries is pointless because they won't be used by Oracle (Your query uses a GROUP BY for example)

You should create MV's in the same schema as the tables on wich they're based if you wanna enable query rewrite; otherwise you will need to manage the permissions and grants required to create and mantain the MV's (QUERY REWRITE or GLOBAL QUERY REWRITE)

You can increase performance creating indexes in the MV's and its base tables. I am not sure but i think that Oracle only create an index automatically for the MV if it was created with the Primary Key Option. Correct me ppl if i am wrong ppl. Other indexes that could improve performance must be created manually.

You must take a decision about the moment for the data's refresh of the MV's. It seems that your data comes from a batch process so you could refresh them after the upload. Check the DBMS_MVIEW or the DBMS_SNAPSHOT packages for further reference.

Regards