La forma de enfocarlo no es con perfiles sino con ROLES.
La idea es la siguiente: El usuario USER0 será el propietario de las tablas/objetos,
de forma que tiene todos los privilegios sobre la misma (insert, select, update, delete).
Para solucionar la tediosa tarea de asignar los privilegios de select sobre la tabla a los
usuarios, la forma más cómoda y más fácil de controlar es mediante el uso de ROLES.
Se crea un ROLE y se le asignan al ROLE los permisos que se quieran otorgar sobre
la(s) tablas/objetos. (en nuestro caso, select).
Ahora se trata de dar ese ROLE a los usuarios que nos interese.
Si se desea añadir permiso de select sobre una nueva tabla a TODOS los usuarios,
no habrá que ir usuario por usuario concediéndoselo. Con asignarselo al ROLE,
autimáticamente todos los usuarios que posean ese ROLE obtendran el nuevo
privilegio.
Para concluir, a título de ejemplo:
connect user0/pwd;
create table mi_tabla1 (....);
create table mi_tabla2 (....);
...
create table mi_tablan (....);
connect system/pwd;
create role mi_role;
grant select on user0.mi_tabla1 to mi_role;
grant select on user0.mi_tabla2 to mi_role;
...
grant select on user0.mi_tablan to mi_role;
grant mi_role to user1;
grant mi_role to user2;
...
grant mi_role to usern;