from which user did you run the below ?
grant select on table1 to user2; --> this need to be executed from user1
grant create any view to user2; --> this needs to be done from DBA user say SYSTEM or some other user which has DBA privilege
CREATE VIEW TESTVW AS SELECT * FROM USER1.TABLE1 ; --> this needs to be run in user2
Thanks