I think you can achieve it like this.
-- create a user
-- grant "connect" role to the user
-- grant "select" privilege on selected tables.
SQL> create user newbie identified by newbie
default tablespace users;
User created.
SQL> grant connect to newbie;
Grant succeeded.
SQL> grant select on answr to newbie;
Grant succeeded.
SQL> show user
USER is "SCOTT"
SQL> conn newbie/newbie
Connected.
SQL> select * from scott.answr;
ANS_ID ANS AC Q_ID
---------- -------------------- -- ----------
8806 apple n 2165
8807 orange n 2165
10 rows selected.
SQL> create table abc(n1 number);
create table abc(n1 number)
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'USERS'
[Updated on: Thu, 17 November 2005 00:41]
Report message to a moderator