Create  user  xok  Identified  By  fucku;  //创建用户
 
GRANT  SELECT  ANY  DICTIONARY  TO  xok;  //授予所有字典的查询权限
 
GRANT  SELECT  ANY  SEQUENCE  TO  xok;  //授予所有序列的查询权限
 
GRANT  SELECT  ANY  TABLE  TO  xok;  //授予所有表的查询权限
 
GRANT CREATE SESSION TO xok;       //授予创建会话
 
GRANT  SELECT  ANY  VIEW  TO  xok; //授予所有视图的查询权限

#——
其实只要给用户赋予create session, select any table两个系统权限,该用户就能查询其他schema下表和视图

grant create session to username;
grant select any table to username;
但是这样授权后,sys下的对象还是不能select的,因为sys是数据字典的拥有者,要select sys下的对象,需要select any dictionary的权限

grant select any dictionary to username;

转自http://xok.la/2008/12/oracle_10g_create_read_only_user.html