Granting PUBLIC System Role

The PUBLIC system role has SELECT permission on the system tables.

Prerequisites
Requires the MANAGE ROLES system privilege.
Task

By default, the PUBLIC system role is granted the MANAGE PROFILING system privilege with administrative rights only. It also granted the dba diagnostics, rs_systabgroup, and SA_DEGUG system roles and the SYS_SPATIAL_ADMIN_ROLE compatibility role with no administrative rights.

It is a member of the dbo and SYS system roles, with no administrative rights. As a member of the SYS role, it has read access for some of the system tables and views, so any user of the database can find out information about the database schema. If you want to restrict this access, you can revoke PUBLIC's membership in the SYS system role.

Any new user ID is automatically a member of the PUBLIC system role and inherits any permissions specifically granted to that role.

The PUBLIC system role can be granted to other roles with no administrative rights only (WITH NO ADMIN OPTION clause). The WITH ADMIN OPTION and WITH ADMIN ONLY OPTION clauses are not valid for this role.

To grant the PUBLIC system role, execute:
GRANT ROLE PUBLIC TO grantee [,...]
Related reference
GRANT ROLE Statement