Granting privileges and roles locally
A local privilege is a privilege than can be exercised only in a container in which it is granted. Depending only on the way it is granted, a privilege becomes common or local. When you grant privilege locally (in the current container), it becomes a local privilege. Both common and local users or roles can have local privileges.
Getting ready
For this recipe, you'll need an existing user (c##maja
) who can grant some privileges (for example, create procedure
, create table
, create view
, and create synonym
) and roles (c##role1
, c##role2
, c##role3
, c##role4
, and local_role1
) in a specific container (root or PDB; in our case, pdb1
) to existing users and roles (c##john
, mike
, local_role1
, c##role1
, c##role3
, and c##role4
).
How to do it...
You should connect to the container (root or pluggable database) in which you want to grant the privilege as a common or local user who can grant that privilege (for example,
c##maja
):SQL> connect c##maja@pdb1
Grant a privilege...