I have 2 users: User1 and User2
I am able to create table in schema of User2 from User1
create table user2.tmp_tab (
temp1 varchar2(20),
temp2 varchar2(20)
);
Table created Successfully
but I want User2 to have only select privileges on the table. and also I don't want to create table in Schema User1.
Is it possible ? How can it be done ?
No, you can't. The schema owner automatically has all object privileges for his own schema.
From documentation,
A user automatically has all object privileges for schema objects contained in his or her schema. A user can grant any object privilege on any schema object he or she owns to any other user or role.